func TestUpdate(t *testing.T) { fakeEtcdClient, helper := newHelper(t) storage := NewStorage(helper) test := resttest.New(t, storage, fakeEtcdClient.SetError) key, err := storage.KeyFunc(test.TestContext(), "foo") if err != nil { t.Fatal(err) } key = etcdtest.AddPrefix(key) fakeEtcdClient.ExpectNotFoundGet(key) fakeEtcdClient.ChangeIndex = 2 serviceAccount := validNewServiceAccount("foo") existing := validNewServiceAccount("exists") existing.Namespace = test.TestNamespace() obj, err := storage.Create(test.TestContext(), existing) if err != nil { t.Fatalf("unable to create object: %v", err) } older := obj.(*api.ServiceAccount) older.ResourceVersion = "1" test.TestUpdate( serviceAccount, existing, older, ) }
func TestDelete(t *testing.T) { ctx := api.NewContext() storage, _, fakeEtcdClient, _ := newStorage(t) test := resttest.New(t, storage, fakeEtcdClient.SetError).ClusterScope() pv := validChangedPersistentVolume() key, _ := storage.KeyFunc(ctx, pv.Name) key = etcdtest.AddPrefix(key) createFn := func() runtime.Object { fakeEtcdClient.Data[key] = tools.EtcdResponseWithError{ R: &etcd.Response{ Node: &etcd.Node{ Value: runtime.EncodeOrDie(latest.Codec, pv), ModifiedIndex: 1, }, }, } return pv } gracefulSetFn := func() bool { if fakeEtcdClient.Data[key].R.Node == nil { return false } return fakeEtcdClient.Data[key].R.Node.TTL == 30 } test.TestDeleteNoGraceful(createFn, gracefulSetFn) }
func TestDelete(t *testing.T) { ctx := api.NewDefaultContext() storage, fakeEtcdClient := newStorage(t) test := resttest.New(t, storage, fakeEtcdClient.SetError) endpoints := validChangedEndpoints() key, _ := storage.KeyFunc(ctx, endpoints.Name) key = etcdtest.AddPrefix(key) createFn := func() runtime.Object { fakeEtcdClient.Data[key] = tools.EtcdResponseWithError{ R: &etcd.Response{ Node: &etcd.Node{ Value: runtime.EncodeOrDie(latest.Codec, endpoints), ModifiedIndex: 1, }, }, } return endpoints } gracefulSetFn := func() bool { if fakeEtcdClient.Data[key].R.Node == nil { return false } return fakeEtcdClient.Data[key].R.Node.TTL == 30 } test.TestDeleteNoGraceful(createFn, gracefulSetFn) }
func TestDelete(t *testing.T) { fakeEtcdClient, helper := newHelper(t) storage := NewStorage(helper, nil).Pod ctx := api.NewDefaultContext() key, _ := storage.Etcd.KeyFunc(ctx, "foo") key = etcdtest.AddPrefix(key) test := resttest.New(t, storage, fakeEtcdClient.SetError) createFn := func() runtime.Object { pod := validChangedPod() fakeEtcdClient.Data[key] = tools.EtcdResponseWithError{ R: &etcd.Response{ Node: &etcd.Node{ Value: runtime.EncodeOrDie(latest.Codec, pod), ModifiedIndex: 1, }, }, } return pod } gracefulSetFn := func() bool { if fakeEtcdClient.Data[key].R.Node == nil { return false } return fakeEtcdClient.Data[key].R.Node.TTL == 30 } test.TestDelete(createFn, gracefulSetFn) }
func TestDelete(t *testing.T) { ctx := api.NewDefaultContext() storage, fakeClient := newStorage(t) test := resttest.New(t, storage, fakeClient.SetError) key, _ := makeControllerKey(ctx, validController.Name) key = etcdtest.AddPrefix(key) createFn := func() runtime.Object { rc := validController rc.ResourceVersion = "1" fakeClient.Data[key] = tools.EtcdResponseWithError{ R: &etcd.Response{ Node: &etcd.Node{ Value: runtime.EncodeOrDie(latest.Codec, &rc), ModifiedIndex: 1, }, }, } return &rc } gracefulSetFn := func() bool { // If the controller is still around after trying to delete either the delete // failed, or we're deleting it gracefully. if fakeClient.Data[key].R.Node != nil { return true } return false } test.TestDelete(createFn, gracefulSetFn) }
func TestCreate(t *testing.T) { storage, _, fakeEtcdClient, _ := newStorage(t) test := resttest.New(t, storage, fakeEtcdClient.SetError).ClusterScope() pv := validNewPersistentVolume("foo") pv.ObjectMeta = api.ObjectMeta{GenerateName: "foo"} test.TestCreate( // valid pv, // invalid &api.PersistentVolume{ ObjectMeta: api.ObjectMeta{Name: "*BadName!"}, }, ) }
func TestCreate(t *testing.T) { storage, fakeEtcdClient := newStorage(t) test := resttest.New(t, storage, fakeEtcdClient.SetError) endpoints := validNewEndpoints() endpoints.ObjectMeta = api.ObjectMeta{} test.TestCreate( // valid endpoints, // invalid &api.Endpoints{ ObjectMeta: api.ObjectMeta{Name: "_-a123-a_"}, }, ) }
func TestCreate(t *testing.T) { fakeEtcdClient, helper := newHelper(t) storage, _, _ := NewStorage(helper) test := resttest.New(t, storage, fakeEtcdClient.SetError).ClusterScope() namespace := validNewNamespace() namespace.ObjectMeta = api.ObjectMeta{GenerateName: "foo"} test.TestCreate( // valid namespace, // invalid &api.Namespace{ ObjectMeta: api.ObjectMeta{Name: "bad value"}, }, ) }
func TestCreate(t *testing.T) { fakeEtcdClient, helper := newHelper(t) storage := NewREST(helper) test := resttest.New(t, storage, fakeEtcdClient.SetError) pod := validNewPodTemplate("foo") pod.ObjectMeta = api.ObjectMeta{} test.TestCreate( // valid pod, // invalid &api.PodTemplate{ Template: api.PodTemplateSpec{}, }, ) }
func TestCreate(t *testing.T) { fakeEtcdClient, helper := newHelper(t) storage, _ := NewStorage(helper) test := resttest.New(t, storage, fakeEtcdClient.SetError) resourcequota := validNewResourceQuota() resourcequota.ObjectMeta = api.ObjectMeta{} test.TestCreate( // valid resourcequota, // invalid &api.ResourceQuota{ ObjectMeta: api.ObjectMeta{Name: "_-a123-a_"}, }, ) }
func TestCreate(t *testing.T) { registry, _, fakeEtcdClient, _ := newStorage(t) test := resttest.New(t, registry, fakeEtcdClient.SetError) pv := validNewPersistentVolumeClaim("foo", api.NamespaceDefault) pv.ObjectMeta = api.ObjectMeta{} test.TestCreate( // valid pv, // invalid &api.PersistentVolumeClaim{ ObjectMeta: api.ObjectMeta{Name: "*BadName!"}, }, ) }
func TestCreate(t *testing.T) { fakeEtcdClient, helper := newHelper(t) storage := NewStorage(helper) test := resttest.New(t, storage, fakeEtcdClient.SetError) serviceAccount := validNewServiceAccount("foo") serviceAccount.ObjectMeta = api.ObjectMeta{GenerateName: "foo-"} test.TestCreate( // valid serviceAccount, // invalid &api.ServiceAccount{}, &api.ServiceAccount{ ObjectMeta: api.ObjectMeta{Name: "name with spaces"}, }, ) }
func TestCreate(t *testing.T) { fakeEtcdClient, helper := newHelper(t) storage := NewStorage(helper, nil).Pod test := resttest.New(t, storage, fakeEtcdClient.SetError) pod := validNewPod() pod.ObjectMeta = api.ObjectMeta{} test.TestCreate( // valid pod, // invalid &api.Pod{ Spec: api.PodSpec{ Containers: []api.Container{}, }, }, ) }
func TestCreate(t *testing.T) { storage, fakeClient := newStorage(t) test := resttest.New(t, storage, fakeClient.SetError) test.TestCreate( // valid &api.ReplicationController{ Spec: api.ReplicationControllerSpec{ Replicas: 2, Selector: map[string]string{"a": "b"}, Template: &validPodTemplate.Template, }, }, // invalid &api.ReplicationController{ Spec: api.ReplicationControllerSpec{ Replicas: 2, Selector: map[string]string{}, Template: &validPodTemplate.Template, }, }, ) }
func TestCreate(t *testing.T) { rest, registry := NewTestREST(t, nil) test := resttest.New(t, rest, registry.SetError) test.TestCreate( // valid &api.Service{ Spec: api.ServiceSpec{ Selector: map[string]string{"bar": "baz"}, ClusterIP: "None", SessionAffinity: "None", Type: api.ServiceTypeClusterIP, Ports: []api.ServicePort{{ Port: 6502, Protocol: api.ProtocolTCP, }}, }, }, // invalid &api.Service{ Spec: api.ServiceSpec{}, }, // invalid &api.Service{ Spec: api.ServiceSpec{ Selector: map[string]string{"bar": "baz"}, ClusterIP: "invalid", SessionAffinity: "None", Type: api.ServiceTypeClusterIP, Ports: []api.ServicePort{{ Port: 6502, Protocol: api.ProtocolTCP, }}, }, }, ) }