Skip to content

Commit

Permalink
Add more cases for types
Browse files Browse the repository at this point in the history
  • Loading branch information
edwardstudy committed Jul 3, 2019
1 parent c04c822 commit 8aececb
Showing 1 changed file with 88 additions and 0 deletions.
88 changes: 88 additions & 0 deletions pkg/kn/commands/types_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -19,11 +19,99 @@ import (
"fmt"
"os"
"reflect"
"strings"
"testing"

"k8s.io/client-go/tools/clientcmd"
clientcmdapi "k8s.io/client-go/tools/clientcmd/api"
)

func TestInitialize(t *testing.T) {
p := &KnParams{}

p.Initialize()

if reflect.ValueOf(p.ServingFactory).Pointer() != reflect.ValueOf(p.GetConfig).Pointer() {
t.Errorf("wrong error detected: ")
}

if reflect.ValueOf(p.NamespaceFactory).Pointer() != reflect.ValueOf(p.CurrentNamespace).Pointer() {
t.Errorf("wrong error detected: ")
}
}

type currentNamespaceTestCase struct {
clientConfig clientcmd.ClientConfig
namespace string
expectedError error
}

func TestCurrentNamespace(t *testing.T) {
for i, tc := range []currentNamespaceTestCase{
{
nil,
"default",
nil,
},
{
clientcmd.NewDefaultClientConfig(clientcmdapi.Config{}, &clientcmd.ConfigOverrides{Context: clientcmdapi.Context{Namespace: "some-namespace"}}),
"some-namespace",
nil,
},
} {
p := &KnParams{
ClientConfig: tc.clientConfig}

name, err := p.CurrentNamespace()

if !reflect.DeepEqual(err, tc.expectedError) {
t.Errorf("%d: wrong error detected: %s (expected) != %s (actual)", i, tc.expectedError.Error(), err.Error())
}

if name != tc.namespace {
t.Errorf("%d: wrong namespace detected: %s (expected) != %s (actual)", i, tc.namespace, name)
}
}
}

type getConfigTestCase struct {
clientConfig clientcmd.ClientConfig
expectedErrString string
}

func TestGetConfig(t *testing.T) {
for i, tc := range []getConfigTestCase{
{
nil,
"",
},
{
clientcmd.NewDefaultClientConfig(clientcmdapi.Config{}, &clientcmd.ConfigOverrides{}),
"no configuration has been provided",
},
} {
p := &KnParams{
ClientConfig: tc.clientConfig}

_, err := p.GetConfig()

switch len(tc.expectedErrString) {
case 0:
if err != nil {
t.Errorf("%d: unexpected error: %s", i, err.Error())
}
default:
if err == nil {
t.Errorf("%d: wrong error detected: %s (expected) != %s (actual)", i, tc.expectedErrString, err)
}
if !strings.Contains(err.Error(), tc.expectedErrString) {
t.Errorf("%d: wrong error detected: %s (expected) != %s (actual)", i, tc.expectedErrString, err.Error())
}
}

}
}

type typeTestCase struct {
kubeCfgPath string
explicitPath string
Expand Down

0 comments on commit 8aececb

Please sign in to comment.