k9s/internal/config/views_int_test.go

78 lines
1.3 KiB
Go

// SPDX-License-Identifier: Apache-2.0
// Copyright Authors of K9s
package config
import (
"testing"
"github.com/derailed/k9s/internal/client"
"github.com/stretchr/testify/assert"
"github.com/stretchr/testify/require"
)
func TestCustomView_getVS(t *testing.T) {
uu := map[string]struct {
cv *CustomView
gvr, ns string
e *ViewSetting
}{
"empty": {},
"miss": {
gvr: "zorg",
},
"gvr": {
gvr: client.PodGVR.String(),
e: &ViewSetting{
Columns: []string{"NAMESPACE", "NAME", "AGE", "IP"},
},
},
"gvr+ns": {
gvr: client.PodGVR.String(),
ns: "default",
e: &ViewSetting{
Columns: []string{"NAME", "IP", "AGE"},
},
},
"rx": {
gvr: client.PodGVR.String(),
ns: "ns-fred",
e: &ViewSetting{
Columns: []string{"AGE", "NAME", "IP"},
},
},
"alias": {
gvr: "bozo",
e: &ViewSetting{
Columns: []string{"DUH", "BLAH", "BLEE"},
},
},
"toast-no-ns": {
gvr: client.PodGVR.String(),
ns: "zorg",
e: &ViewSetting{
Columns: []string{"NAMESPACE", "NAME", "AGE", "IP"},
},
},
"toast-no-res": {
gvr: client.SvcGVR.String(),
ns: "zorg",
},
}
v := NewCustomView()
require.NoError(t, v.Load("testdata/views/views.yaml"))
for k, u := range uu {
t.Run(k, func(t *testing.T) {
assert.Equal(t, u.e, v.getVS(u.gvr, u.ns))
})
}
}