talos-upgrade/pkg/node/node_test.go
2023-10-20 17:28:58 -04:00

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