k9s/internal/model/cluster_info_test.go

81 lines
1.3 KiB
Go

package model_test
import (
"testing"
"github.com/derailed/k9s/internal/model"
"github.com/rs/zerolog"
"github.com/stretchr/testify/assert"
"vbom.ml/util/sortorder"
)
func init() {
zerolog.SetGlobalLevel(zerolog.FatalLevel)
}
func TestVersionCheck(t *testing.T) {
uu := map[string]struct {
current, latest string
e bool
}{
"same": {
current: "v0.11.1",
latest: "v0.11.1",
},
"updated": {
current: "v0.11.1",
latest: "v0.12.1",
e: true,
},
"current": {
current: "v0.11.1",
latest: "v0.09.2",
},
}
for k := range uu {
u := uu[k]
t.Run(k, func(t *testing.T) {
assert.Equal(t, u.e, sortorder.NaturalLess(u.current, u.latest))
})
}
}
func TestClusterMetaDelta(t *testing.T) {
uu := map[string]struct {
o, n model.ClusterMeta
e bool
}{
"empty": {
o: model.NewClusterMeta(),
n: model.NewClusterMeta(),
},
"same": {
o: makeClusterMeta("fred"),
n: makeClusterMeta("fred"),
},
"diff": {
o: makeClusterMeta("fred"),
n: makeClusterMeta("freddie"),
e: true,
},
}
for k := range uu {
u := uu[k]
t.Run(k, func(t *testing.T) {
assert.Equal(t, u.e, u.o.Deltas(u.n))
})
}
}
// Helpers...
func makeClusterMeta(cluster string) model.ClusterMeta {
m := model.NewClusterMeta()
m.Cluster = cluster
m.Cpu, m.Mem = 10, 20
return m
}