61 lines
1.4 KiB
Go
61 lines
1.4 KiB
Go
package node_test
|
|
|
|
import (
|
|
"context"
|
|
"testing"
|
|
|
|
"git.cycore.io/scm/talos-upgrade/pkg/node"
|
|
"github.com/siderolabs/talos/pkg/machinery/client"
|
|
clientconfig "github.com/siderolabs/talos/pkg/machinery/client/config"
|
|
"github.com/stretchr/testify/assert"
|
|
)
|
|
|
|
func TestGetNodes(t *testing.T) {
|
|
ctx := context.Background()
|
|
|
|
cfg, err := clientconfig.Open("/home/scmccord/.config/talos/config.yaml")
|
|
assert.Nil(t, err)
|
|
|
|
c, err := client.New(ctx, client.WithConfig(cfg))
|
|
assert.Nil(t, err)
|
|
|
|
_, err = node.GetNodes(ctx, c)
|
|
assert.Nil(t, err)
|
|
}
|
|
|
|
func TestNodeVersion(t *testing.T) {
|
|
osString := "Talos (v1.5.1)"
|
|
osVersion := "v1.5.1"
|
|
|
|
n := &node.Node{
|
|
OperatingSystem: osString,
|
|
}
|
|
|
|
ver, err := n.Version()
|
|
assert.Nil(t, err)
|
|
assert.Equal(t, osVersion, ver)
|
|
}
|
|
|
|
func TestHighestLowestVersion(t *testing.T) {
|
|
expectedHighest := "v1.8.9"
|
|
expectedLowest := "v0.3.4"
|
|
|
|
list := []*node.Node{
|
|
{ OperatingSystem: "Talos (v1.0.3)" },
|
|
{ OperatingSystem: "Talos (v1.2.1)" },
|
|
{ OperatingSystem: "Talos (v1.2.1)" },
|
|
{ OperatingSystem: "Talos (v1.4.3)" },
|
|
{ OperatingSystem: "Talos (v1.8.9)" },
|
|
{ OperatingSystem: "Talos (v0.3.4)" },
|
|
{ OperatingSystem: "Talos (v1.3.4)" },
|
|
}
|
|
|
|
highest, err := node.HighestVersion(list)
|
|
assert.Nil(t, err)
|
|
assert.Equal(t, expectedHighest, highest)
|
|
|
|
lowest, err := node.LowestVersion(list)
|
|
assert.Nil(t, err)
|
|
assert.Equal(t, expectedLowest, lowest)
|
|
}
|
|
|