diff --git a/pkg/kubectl/resource/builder_test.go b/pkg/kubectl/resource/builder_test.go index 5be98be94d9..397a003a102 100644 --- a/pkg/kubectl/resource/builder_test.go +++ b/pkg/kubectl/resource/builder_test.go @@ -173,6 +173,37 @@ func TestPathBuilder(t *testing.T) { } } +func TestNodeBuilder(t *testing.T) { + node := &api.Node{ + ObjectMeta: api.ObjectMeta{Name: "node1", Namespace: "should-not-have", ResourceVersion: "10"}, + Spec: api.NodeSpec{ + Capacity: api.ResourceList{ + api.ResourceCPU: resource.MustParse("1000m"), + api.ResourceMemory: resource.MustParse("1Mi"), + }, + }, + } + r, w := io.Pipe() + go func() { + defer w.Close() + w.Write([]byte(runtime.EncodeOrDie(latest.Codec, node))) + }() + + b := NewBuilder(latest.RESTMapper, api.Scheme, fakeClient()). + NamespaceParam("test").Stream(r, "STDIN") + + test := &testVisitor{} + + err := b.Do().Visit(test.Handle) + if err != nil || len(test.Infos) != 1 { + t.Fatalf("unexpected response: %v %#v", err, test.Infos) + } + info := test.Infos[0] + if info.Name != "node1" || info.Namespace != "" || info.Object == nil { + t.Errorf("unexpected info: %#v", info) + } +} + func TestPathBuilderWithMultiple(t *testing.T) { b := NewBuilder(latest.RESTMapper, api.Scheme, fakeClient()). FilenameParam("../../../examples/guestbook/redis-master.json").