179 lines
5.7 KiB
Go
179 lines
5.7 KiB
Go
// SPDX-License-Identifier: Apache-2.0
|
|
// Copyright Authors of K9s
|
|
|
|
package view_test
|
|
|
|
import (
|
|
"testing"
|
|
|
|
"github.com/derailed/k9s/internal/client"
|
|
"github.com/derailed/k9s/internal/dao"
|
|
"github.com/derailed/k9s/internal/view"
|
|
"github.com/stretchr/testify/assert"
|
|
"github.com/stretchr/testify/require"
|
|
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
|
|
)
|
|
|
|
func init() {
|
|
dao.MetaAccess.RegisterMeta(client.DirGVR.String(), &metav1.APIResource{
|
|
Name: "dirs",
|
|
SingularName: "dir",
|
|
Kind: "Directory",
|
|
Categories: []string{"k9s"},
|
|
})
|
|
dao.MetaAccess.RegisterMeta(client.PodGVR.String(), &metav1.APIResource{
|
|
Name: "pods",
|
|
SingularName: "pod",
|
|
Namespaced: true,
|
|
Kind: "Pods",
|
|
Verbs: []string{"get", "list", "watch", "delete"},
|
|
Categories: []string{"k9s"},
|
|
})
|
|
dao.MetaAccess.RegisterMeta(client.NsGVR.String(), &metav1.APIResource{
|
|
Name: "namespaces",
|
|
SingularName: "namespace",
|
|
Namespaced: true,
|
|
Kind: "Namespaces",
|
|
Verbs: []string{"get", "list", "watch", "delete"},
|
|
Categories: []string{"k9s"},
|
|
})
|
|
dao.MetaAccess.RegisterMeta(client.SvcGVR.String(), &metav1.APIResource{
|
|
Name: "services",
|
|
SingularName: "service",
|
|
Namespaced: true,
|
|
Kind: "Services",
|
|
Verbs: []string{"get", "list", "watch", "delete"},
|
|
Categories: []string{"k9s"},
|
|
})
|
|
dao.MetaAccess.RegisterMeta(client.SecGVR.String(), &metav1.APIResource{
|
|
Name: "secrets",
|
|
SingularName: "secret",
|
|
Namespaced: true,
|
|
Kind: "Secrets",
|
|
Verbs: []string{"get", "list", "watch", "delete"},
|
|
Categories: []string{"k9s"},
|
|
})
|
|
dao.MetaAccess.RegisterMeta(client.PcGVR.String(), &metav1.APIResource{
|
|
Name: "priorityclasses",
|
|
SingularName: "priorityclass",
|
|
Namespaced: false,
|
|
Kind: "PriorityClass",
|
|
Verbs: []string{"get", "list", "watch", "delete"},
|
|
Categories: []string{"k9s"},
|
|
})
|
|
dao.MetaAccess.RegisterMeta(client.CmGVR.String(), &metav1.APIResource{
|
|
Name: "configmaps",
|
|
SingularName: "configmap",
|
|
Namespaced: true,
|
|
Kind: "ConfigMaps",
|
|
Verbs: []string{"get", "list", "watch", "delete"},
|
|
Categories: []string{"k9s"},
|
|
})
|
|
|
|
dao.MetaAccess.RegisterMeta(client.RefGVR.String(), &metav1.APIResource{
|
|
Name: "references",
|
|
SingularName: "reference",
|
|
Namespaced: true,
|
|
Kind: "References",
|
|
Verbs: []string{"get", "list", "watch", "delete"},
|
|
Categories: []string{"k9s"},
|
|
})
|
|
dao.MetaAccess.RegisterMeta(client.AliGVR.String(), &metav1.APIResource{
|
|
Name: "aliases",
|
|
SingularName: "alias",
|
|
Namespaced: true,
|
|
Kind: "Aliases",
|
|
Verbs: []string{"get", "list", "watch", "delete"},
|
|
Categories: []string{"k9s"},
|
|
})
|
|
dao.MetaAccess.RegisterMeta(client.CoGVR.String(), &metav1.APIResource{
|
|
Name: "containers",
|
|
SingularName: "container",
|
|
Namespaced: true,
|
|
Kind: "Containers",
|
|
Verbs: []string{"get", "list", "watch", "delete"},
|
|
Categories: []string{"k9s"},
|
|
})
|
|
dao.MetaAccess.RegisterMeta(client.CtGVR.String(), &metav1.APIResource{
|
|
Name: "contexts",
|
|
SingularName: "context",
|
|
Namespaced: true,
|
|
Kind: "Contexts",
|
|
Verbs: []string{"get", "list", "watch", "delete"},
|
|
Categories: []string{"k9s"},
|
|
})
|
|
dao.MetaAccess.RegisterMeta("subjects", &metav1.APIResource{
|
|
Name: "subjects",
|
|
SingularName: "subject",
|
|
Namespaced: true,
|
|
Kind: "Subjects",
|
|
Verbs: []string{"get", "list", "watch", "delete"},
|
|
Categories: []string{"k9s"},
|
|
})
|
|
dao.MetaAccess.RegisterMeta(client.RbacGVR.String(), &metav1.APIResource{
|
|
Name: "rbacs",
|
|
SingularName: "rbac",
|
|
Namespaced: true,
|
|
Kind: "Rbac",
|
|
Verbs: []string{"get", "list", "watch", "delete"},
|
|
Categories: []string{"k9s"},
|
|
})
|
|
dao.MetaAccess.RegisterMeta(client.PfGVR.String(), &metav1.APIResource{
|
|
Name: "portforwards",
|
|
SingularName: "portforward",
|
|
Namespaced: true,
|
|
Kind: "PortForwards",
|
|
Verbs: []string{"get", "list", "watch", "delete"},
|
|
Categories: []string{"k9s"},
|
|
})
|
|
|
|
dao.MetaAccess.RegisterMeta(client.SdGVR.String(), &metav1.APIResource{
|
|
Name: "screendumps",
|
|
SingularName: "screendump",
|
|
Namespaced: true,
|
|
Kind: "ScreenDumps",
|
|
Verbs: []string{"get", "list", "watch", "delete"},
|
|
Categories: []string{"k9s"},
|
|
})
|
|
dao.MetaAccess.RegisterMeta(client.StsGVR.String(), &metav1.APIResource{
|
|
Name: "statefulsets",
|
|
SingularName: "statefulset",
|
|
Namespaced: true,
|
|
Kind: "StatefulSets",
|
|
Verbs: []string{"get", "list", "watch", "delete"},
|
|
Categories: []string{"k9s"},
|
|
})
|
|
dao.MetaAccess.RegisterMeta(client.DsGVR.String(), &metav1.APIResource{
|
|
Name: "daemonsets",
|
|
SingularName: "daemonset",
|
|
Namespaced: true,
|
|
Kind: "DaemonSets",
|
|
Verbs: []string{"get", "list", "watch", "delete"},
|
|
Categories: []string{"k9s"},
|
|
})
|
|
dao.MetaAccess.RegisterMeta(client.DpGVR.String(), &metav1.APIResource{
|
|
Name: "deployments",
|
|
SingularName: "deployment",
|
|
Namespaced: true,
|
|
Kind: "Deployments",
|
|
Verbs: []string{"get", "list", "watch", "delete"},
|
|
Categories: []string{"k9s"},
|
|
})
|
|
dao.MetaAccess.RegisterMeta(client.PvcGVR.String(), &metav1.APIResource{
|
|
Name: "persistentvolumeclaims",
|
|
SingularName: "persistentvolumeclaim",
|
|
Namespaced: true,
|
|
Kind: "PersistentVolumeClaims",
|
|
Verbs: []string{"get", "list", "watch", "delete"},
|
|
Categories: []string{"k9s"},
|
|
})
|
|
}
|
|
|
|
func TestServiceNew(t *testing.T) {
|
|
s := view.NewService(client.SvcGVR)
|
|
|
|
require.NoError(t, s.Init(makeCtx(t)))
|
|
assert.Equal(t, "Services", s.Name())
|
|
assert.Len(t, s.Hints(), 12)
|
|
}
|