k9s/internal/resource/context_test.go

138 lines
3.5 KiB
Go

package resource_test
// BOZO!!
// import (
// "testing"
// "github.com/derailed/k9s/internal/k8s"
// "github.com/derailed/k9s/internal/resource"
// m "github.com/petergtz/pegomock"
// "github.com/stretchr/testify/assert"
// "k8s.io/cli-runtime/pkg/genericclioptions"
// api "k8s.io/client-go/tools/clientcmd/api"
// )
// func NewContextListWithArgs(ns string, ctx *resource.Context) resource.List {
// return resource.NewList(resource.NotNamespaced, "ctx", ctx, resource.SwitchAccess)
// }
// func NewContextWithArgs(c k8s.Connection, s resource.SwitchableCruder) *resource.Context {
// ctx := &resource.Context{Base: resource.NewBase(c, s)}
// ctx.Factory = ctx
// return ctx
// }
// func TestCTXSwitch(t *testing.T) {
// mc := NewMockConnection()
// mr := NewMockSwitchableCruder()
// m.When(mr.Switch("fred")).ThenReturn(nil)
// ctx := NewContextWithArgs(mc, mr)
// err := ctx.Switch("fred")
// assert.Nil(t, err)
// mr.VerifyWasCalledOnce().Switch("fred")
// }
// // BOZO!!
// // func TestCTXList(t *testing.T) {
// // mc := NewMockConnection()
// // mr := NewMockSwitchableCruder()
// // m.When(mr.List("blee", metav1.ListOptions{})).ThenReturn(k8s.Collection{*k8sNamedCTX()}, nil)
// // ctx := NewContextWithArgs(mc, mr)
// // cc, err := ctx.List("blee", metav1.ListOptions{})
// // assert.Nil(t, err)
// // c, err := ctx.New(k8sNamedCTX())
// // assert.Nil(t, err)
// // assert.Equal(t, resource.Columnars{c}, cc)
// // mr.VerifyWasCalledOnce().List("blee", metav1.ListOptions{})
// // }
// func TestCTXDelete(t *testing.T) {
// mc := NewMockConnection()
// mr := NewMockSwitchableCruder()
// m.When(mr.Delete("", "fred", true, true)).ThenReturn(nil)
// ctx := NewContextWithArgs(mc, mr)
// assert.Nil(t, ctx.Delete("fred", true, true))
// mr.VerifyWasCalledOnce().Delete("", "fred", true, true)
// }
// func TestCTXListHasName(t *testing.T) {
// mc := NewMockConnection()
// mr := NewMockSwitchableCruder()
// ctx := NewContextWithArgs(mc, mr)
// l := NewContextListWithArgs("blee", ctx)
// assert.Equal(t, "ctx", l.GetName())
// }
// func TestCTXListHasNamespace(t *testing.T) {
// mc := NewMockConnection()
// mr := NewMockSwitchableCruder()
// ctx := NewContextWithArgs(mc, mr)
// l := NewContextListWithArgs("blee", ctx)
// assert.Equal(t, resource.NotNamespaced, l.GetNamespace())
// }
// func TestCTXListHasResource(t *testing.T) {
// mc := NewMockConnection()
// mr := NewMockSwitchableCruder()
// ctx := NewContextWithArgs(mc, mr)
// l := NewContextListWithArgs("blee", ctx)
// assert.NotNil(t, l.Resource())
// }
// func TestCTXHeader(t *testing.T) {
// mc := NewMockConnection()
// mr := NewMockSwitchableCruder()
// ctx := NewContextWithArgs(mc, mr)
// assert.Equal(t, 4, len(ctx.Header("")))
// }
// func TestCTXFields(t *testing.T) {
// mc := NewMockConnection()
// m.When(mc.Config()).ThenReturn(k8sConfig())
// mr := NewMockSwitchableCruder()
// m.When(mr.MustCurrentContextName()).ThenReturn("test")
// ctx := NewContextWithArgs(mc, mr)
// c, err := ctx.New(k8sNamedCTX())
// assert.Nil(t, err)
// assert.Equal(t, 4, len(c.Fields("")))
// assert.Equal(t, "test*", c.Fields("")[0])
// }
// // Helpers...
// func k8sConfig() *k8s.Config {
// ctx := "test"
// f := genericclioptions.ConfigFlags{
// Context: &ctx,
// }
// return k8s.NewConfig(&f)
// }
// func k8sNamedCTX() *k8s.NamedContext {
// return k8s.NewNamedContext(
// k8sConfig(),
// "test",
// &api.Context{
// LocationOfOrigin: "fred",
// Cluster: "blee",
// AuthInfo: "secret",
// },
// )
// }