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) }