From a347826b4f845d4ce2bfe362515aaf243ad4e592 Mon Sep 17 00:00:00 2001 From: Jordan Liggitt Date: Thu, 4 Apr 2019 16:45:36 -0400 Subject: [PATCH] Add unit test for empty table results --- pkg/kubectl/cmd/get/get_test.go | 38 +++++++++++++++++++++++++++++++++ 1 file changed, 38 insertions(+) diff --git a/pkg/kubectl/cmd/get/get_test.go b/pkg/kubectl/cmd/get/get_test.go index 7ee736ae82a..7cbb4895af1 100644 --- a/pkg/kubectl/cmd/get/get_test.go +++ b/pkg/kubectl/cmd/get/get_test.go @@ -351,6 +351,44 @@ foo 0/0 0 } } +func TestGetEmptyTable(t *testing.T) { + tf := cmdtesting.NewTestFactory().WithNamespace("test") + defer tf.Cleanup() + + emptyTable := ioutil.NopCloser(bytes.NewBufferString(`{ +"kind":"Table", +"apiVersion":"meta.k8s.io/v1beta1", +"metadata":{ + "selfLink":"/api/v1/namespaces/default/pods", + "resourceVersion":"346" +}, +"columnDefinitions":[ + {"name":"Name","type":"string","format":"name","description":"the name","priority":0} +], +"rows":[] +}`)) + + tf.UnstructuredClient = &fake.RESTClient{ + NegotiatedSerializer: resource.UnstructuredPlusDefaultContentConfig().NegotiatedSerializer, + Resp: &http.Response{StatusCode: 200, Header: cmdtesting.DefaultHeader(), Body: emptyTable}, + } + + streams, _, buf, errbuf := genericclioptions.NewTestIOStreams() + cmd := NewCmdGet("kubectl", tf, streams) + cmd.SetOutput(buf) + cmd.Run(cmd, []string{"pods"}) + + expected := `` + if e, a := expected, buf.String(); e != a { + t.Errorf("expected\n%v\ngot\n%v", e, a) + } + expectedErr := `No resources found. +` + if e, a := expectedErr, errbuf.String(); e != a { + t.Errorf("expectedErr\n%v\ngot\n%v", e, a) + } +} + func TestGetObjectIgnoreNotFound(t *testing.T) { cmdtesting.InitTestErrorHandler(t)