From 436790ccd1ada0b10d788ac7cc2ead79a75185fd Mon Sep 17 00:00:00 2001 From: James DeFelice Date: Tue, 24 Feb 2015 13:21:09 -0500 Subject: [PATCH] add unit test for #4757 fixed compilation error --- pkg/registry/pod/etcd/etcd_test.go | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) diff --git a/pkg/registry/pod/etcd/etcd_test.go b/pkg/registry/pod/etcd/etcd_test.go index e1a8141c98f..5bd7dbcec7d 100644 --- a/pkg/registry/pod/etcd/etcd_test.go +++ b/pkg/registry/pod/etcd/etcd_test.go @@ -24,6 +24,7 @@ import ( "github.com/GoogleCloudPlatform/kubernetes/pkg/api" "github.com/GoogleCloudPlatform/kubernetes/pkg/api/errors" + etcderrors "github.com/GoogleCloudPlatform/kubernetes/pkg/api/errors/etcd" "github.com/GoogleCloudPlatform/kubernetes/pkg/api/latest" "github.com/GoogleCloudPlatform/kubernetes/pkg/api/rest/resttest" "github.com/GoogleCloudPlatform/kubernetes/pkg/apiserver" @@ -846,6 +847,33 @@ func TestEtcdCreate(t *testing.T) { } } +func TestEtcdCreateBindingNoPod(t *testing.T) { + registry, bindingRegistry, fakeClient, _ := newStorage(t) + ctx := api.NewDefaultContext() + fakeClient.TestIndex = true + + key, _ := registry.store.KeyFunc(ctx, "foo") + fakeClient.Data[key] = tools.EtcdResponseWithError{ + R: &etcd.Response{ + Node: nil, + }, + E: tools.EtcdErrorNotFound, + } + // Assume that a pod has undergone the following: + // - Create (apiserver) + // - Schedule (scheduler) + // - Delete (apiserver) + _, err := bindingRegistry.Create(ctx, &api.Binding{PodID: "foo", Host: "machine", ObjectMeta: api.ObjectMeta{Namespace: api.NamespaceDefault}}) + if !errors.IsNotFound(etcderrors.InterpretGetError(err, "Pod", "foo")) { + t.Fatalf("Unexpected error returned: %#v", err) + } + + _, err = registry.Get(ctx, "foo") + if !errors.IsNotFound(etcderrors.InterpretGetError(err, "Pod", "foo")) { + t.Fatalf("Unexpected error: %v", err) + } +} + func TestEtcdCreateFailsWithoutNamespace(t *testing.T) { registry, _, _, fakeClient, _ := newStorage(t) fakeClient.TestIndex = true