func TestWatch(t *testing.T) { storage, _, server := newStorage(t) defer server.Terminate(t) test := registrytest.New(t, storage.Store) test.TestWatch( validDaemonSet, // matching labels []labels.Set{ {"a": "b"}, }, // not matching labels []labels.Set{ {"a": "c"}, {"foo": "bar"}, }, // matching fields []fields.Set{ {"metadata.name": "foo"}, }, // notmatching fields []fields.Set{ {"metadata.name": "bar"}, {"name": "foo"}, }, ) }
func TestCreate(t *testing.T) { storage, _, server := newStorage(t) defer server.Terminate(t) test := registrytest.New(t, storage.Store) validService := validService() validService.ObjectMeta = api.ObjectMeta{} test.TestCreate( // valid validService, // 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, TargetPort: intstr.FromInt(6502), }}, }, }, ) }
func TestUpdate(t *testing.T) { storage, _, server := newStorage(t) defer server.Terminate(t) test := registrytest.New(t, storage.Store) two := int32(2) test.TestUpdate( // valid validNewJob(), // updateFunc func(obj runtime.Object) runtime.Object { object := obj.(*batch.Job) object.Spec.Parallelism = &two return object }, // invalid updateFunc func(obj runtime.Object) runtime.Object { object := obj.(*batch.Job) object.Spec.Selector = &unversioned.LabelSelector{} return object }, func(obj runtime.Object) runtime.Object { object := obj.(*batch.Job) object.Spec.Completions = &two return object }, ) }
func TestUpdate(t *testing.T) { storage, server := newStorage(t) defer server.Terminate(t) test := registrytest.New(t, storage.Store).AllowCreateOnUpdate() test.TestUpdate( // valid validNewLimitRange(), // updateFunc func(obj runtime.Object) runtime.Object { object := obj.(*api.LimitRange) object.Spec.Limits = []api.LimitRangeItem{ { Type: api.LimitTypePod, Max: api.ResourceList{ api.ResourceCPU: resource.MustParse("1000"), api.ResourceMemory: resource.MustParse("100000"), }, Min: api.ResourceList{ api.ResourceCPU: resource.MustParse("10"), api.ResourceMemory: resource.MustParse("1000"), }, }, } return object }, ) }
func TestCreate(t *testing.T) { storage, _, server := newStorage(t) defer server.Terminate(t) test := registrytest.New(t, storage.Store) ds := newValidDaemonSet() ds.ObjectMeta = api.ObjectMeta{} test.TestCreate( // valid ds, // invalid (invalid selector) &extensions.DaemonSet{ Spec: extensions.DaemonSetSpec{ Selector: &unversioned.LabelSelector{MatchLabels: map[string]string{}}, Template: validDaemonSet.Spec.Template, }, }, // invalid update strategy &extensions.DaemonSet{ Spec: extensions.DaemonSetSpec{ Selector: validDaemonSet.Spec.Selector, Template: validDaemonSet.Spec.Template, }, }, ) }
func TestWatch(t *testing.T) { storage, server := newStorage(t) defer server.Terminate(t) test := registrytest.New(t, storage.ReplicaSet.Store) test.TestWatch( validNewReplicaSet(), // matching labels []labels.Set{ {"a": "b"}, }, // not matching labels []labels.Set{ {"a": "c"}, {"foo": "bar"}, }, // matching fields []fields.Set{ {"status.replicas": "5"}, {"metadata.name": "foo"}, {"status.replicas": "5", "metadata.name": "foo"}, }, // not matchin fields []fields.Set{ {"status.replicas": "10"}, {"metadata.name": "bar"}, {"name": "foo"}, {"status.replicas": "10", "metadata.name": "foo"}, {"status.replicas": "0", "metadata.name": "bar"}, }, ) }
func TestUpdate(t *testing.T) { storage, _, server := newStorage(t) defer server.Terminate(t) test := registrytest.New(t, storage.Store) test.TestUpdate( // valid newValidDaemonSet(), // updateFunc func(obj runtime.Object) runtime.Object { object := obj.(*extensions.DaemonSet) object.Spec.Template.Spec.NodeSelector = map[string]string{"c": "d"} object.Spec.Template.Spec.DNSPolicy = api.DNSDefault return object }, // invalid updateFunc func(obj runtime.Object) runtime.Object { object := obj.(*extensions.DaemonSet) object.Name = "" return object }, func(obj runtime.Object) runtime.Object { object := obj.(*extensions.DaemonSet) object.Spec.Template.Spec.RestartPolicy = api.RestartPolicyOnFailure return object }, ) }
func TestUpdate(t *testing.T) { storage, server := newStorage(t) defer server.Terminate(t) test := registrytest.New(t, storage.ReplicaSet.Store) test.TestUpdate( // valid validNewReplicaSet(), // valid updateFunc func(obj runtime.Object) runtime.Object { object := obj.(*extensions.ReplicaSet) object.Spec.Replicas = object.Spec.Replicas + 1 return object }, // invalid updateFunc func(obj runtime.Object) runtime.Object { object := obj.(*extensions.ReplicaSet) object.Name = "" return object }, func(obj runtime.Object) runtime.Object { object := obj.(*extensions.ReplicaSet) object.Spec.Selector = &unversioned.LabelSelector{MatchLabels: map[string]string{}} return object }, ) }
func TestCreate(t *testing.T) { storage, _, server := newStorage(t) defer server.Terminate(t) test := registrytest.New(t, storage.Store) autoscaler := validNewHorizontalPodAutoscaler("foo") autoscaler.ObjectMeta = api.ObjectMeta{} test.TestCreate( // valid autoscaler, // invalid &autoscaling.HorizontalPodAutoscaler{}, ) }
func TestCreate(t *testing.T) { storage, server := newStorage(t) defer server.Terminate(t) test := registrytest.New(t, storage.Store) event := validNewEvent(test.TestNamespace()) event.ObjectMeta = api.ObjectMeta{} test.TestCreate( // valid event, // invalid &api.Event{}, ) }
func TestCreate(t *testing.T) { storage, server := newStorage(t) defer server.Terminate(t) test := registrytest.New(t, storage.Store) rsrc := validNewThirdPartyResourceData("foo") rsrc.ObjectMeta = api.ObjectMeta{} test.TestCreate( // valid rsrc, // invalid &extensions.ThirdPartyResourceData{}, ) }
func TestCreate(t *testing.T) { storage, _, server := newStorage(t) defer server.Terminate(t) test := registrytest.New(t, storage.Store).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, _, server := newStorage(t) defer server.Terminate(t) test := registrytest.New(t, storage.Store) resourcequota := validNewResourceQuota() resourcequota.ObjectMeta = api.ObjectMeta{} test.TestCreate( // valid resourcequota, // invalid &api.ResourceQuota{ ObjectMeta: api.ObjectMeta{Name: "_-a123-a_"}, }, ) }
func TestCreate(t *testing.T) { storage, server := newStorage(t) defer server.Terminate(t) test := registrytest.New(t, storage.Store).ClusterScope() namespace := validNewNamespace() namespace.ObjectMeta = api.ObjectMeta{GenerateName: "foo"} test.TestCreate( // valid namespace, // invalid &api.Namespace{ ObjectMeta: api.ObjectMeta{Name: "bad value"}, }, ) }
func TestUpdate(t *testing.T) { storage, server := newStorage(t) defer server.Terminate(t) test := registrytest.New(t, storage.Store) test.TestUpdate( // valid validNewSecret("foo"), // updateFunc func(obj runtime.Object) runtime.Object { object := obj.(*api.Secret) object.Data["othertest"] = []byte("otherdata") return object }, ) }
func TestUpdate(t *testing.T) { storage, server := newStorage(t) defer server.Terminate(t) test := registrytest.New(t, storage.Store) test.TestUpdate( // valid validNewThirdPartyResourceData("foo"), // updateFunc func(obj runtime.Object) runtime.Object { object := obj.(*extensions.ThirdPartyResourceData) object.Data = []byte("new description") return object }, ) }
func TestCreate(t *testing.T) { storage, server := newStorage(t) defer server.Terminate(t) test := registrytest.New(t, storage.Store).GeneratesName() validLimitRange := validNewLimitRange() validLimitRange.ObjectMeta = api.ObjectMeta{} test.TestCreate( // valid validLimitRange, // invalid &api.LimitRange{ ObjectMeta: api.ObjectMeta{Name: "_-a123-a_"}, }, ) }
func TestCreate(t *testing.T) { storage, server := newStorage(t) defer server.Terminate(t) test := registrytest.New(t, storage.Store) endpoints := validNewEndpoints() endpoints.ObjectMeta = api.ObjectMeta{} test.TestCreate( // valid endpoints, // invalid &api.Endpoints{ ObjectMeta: api.ObjectMeta{Name: "_-a123-a_"}, }, ) }
func TestUpdate(t *testing.T) { storage, server := newStorage(t) defer server.Terminate(t) test := registrytest.New(t, storage.Store).ClusterScope().Namer(namer) test.TestUpdate( // valid validNewThirdPartyResource("kind.domain.tld"), // updateFunc func(obj runtime.Object) runtime.Object { object := obj.(*extensions.ThirdPartyResource) object.Description = "new description" return object }, ) }
func TestCreate(t *testing.T) { storage, _, server := newStorage(t) defer server.Terminate(t) test := registrytest.New(t, storage.Store) pv := validNewPersistentVolumeClaim("foo", api.NamespaceDefault) pv.ObjectMeta = api.ObjectMeta{} test.TestCreate( // valid pv, // invalid &api.PersistentVolumeClaim{ ObjectMeta: api.ObjectMeta{Name: "*BadName!"}, }, ) }
func TestUpdate(t *testing.T) { storage, _, server := newStorage(t) defer server.Terminate(t) test := registrytest.New(t, storage.Store) test.TestUpdate( // valid validNewHorizontalPodAutoscaler("foo"), // updateFunc func(obj runtime.Object) runtime.Object { object := obj.(*autoscaling.HorizontalPodAutoscaler) object.Spec.MaxReplicas = object.Spec.MaxReplicas + 1 return object }, ) }
func TestCreate(t *testing.T) { storage, server := newStorage(t) defer server.Terminate(t) test := registrytest.New(t, storage.Store).ClusterScope().Namer(namer).GeneratesName() rsrc := validNewThirdPartyResource("kind.domain.tld") test.TestCreate( // valid rsrc, // invalid &extensions.ThirdPartyResource{}, &extensions.ThirdPartyResource{ObjectMeta: api.ObjectMeta{Name: "kind"}, Versions: []extensions.APIVersion{{Name: "v1"}}}, &extensions.ThirdPartyResource{ObjectMeta: api.ObjectMeta{Name: "kind.tld"}, Versions: []extensions.APIVersion{{Name: "v1"}}}, &extensions.ThirdPartyResource{ObjectMeta: api.ObjectMeta{Name: "kind.domain.tld"}, Versions: []extensions.APIVersion{{Name: "v.1"}}}, &extensions.ThirdPartyResource{ObjectMeta: api.ObjectMeta{Name: "kind.domain.tld"}, Versions: []extensions.APIVersion{{Name: "stable/v1"}}}, ) }
func TestUpdate(t *testing.T) { storage, _, server := newStorage(t) defer server.Terminate(t) test := registrytest.New(t, storage.Store).ClusterScope() test.TestUpdate( // valid validNewPersistentVolume("foo"), // updateFunc func(obj runtime.Object) runtime.Object { object := obj.(*api.PersistentVolume) object.Spec.Capacity = api.ResourceList{ api.ResourceName(api.ResourceStorage): resource.MustParse("20G"), } return object }, ) }
func TestUpdate(t *testing.T) { storage, server := newStorage(t) defer server.Terminate(t) test := registrytest.New(t, storage.Store).AllowCreateOnUpdate() test.TestUpdate( // valid validNewEndpoints(), // updateFunc func(obj runtime.Object) runtime.Object { object := obj.(*api.Endpoints) object.Subsets = []api.EndpointSubset{{ Addresses: []api.EndpointAddress{{IP: "1.2.3.4"}, {IP: "5.6.7.8"}}, Ports: []api.EndpointPort{{Port: 80, Protocol: "TCP"}}, }} return object }, ) }
func TestUpdate(t *testing.T) { storage, _, server := newStorage(t) defer server.Terminate(t) test := registrytest.New(t, storage.Store) test.TestUpdate( // valid validNewPersistentVolumeClaim("foo", api.NamespaceDefault), // updateFunc func(obj runtime.Object) runtime.Object { object := obj.(*api.PersistentVolumeClaim) object.Spec.Resources = api.ResourceRequirements{ Requests: api.ResourceList{ api.ResourceName(api.ResourceStorage): resource.MustParse("20G"), }, } return object }, ) }
func TestCreate(t *testing.T) { storage, server := newStorage(t) defer server.Terminate(t) test := registrytest.New(t, storage.ReplicaSet.Store) rs := validNewReplicaSet() rs.ObjectMeta = api.ObjectMeta{} test.TestCreate( // valid rs, // invalid (invalid selector) &extensions.ReplicaSet{ Spec: extensions.ReplicaSetSpec{ Replicas: 2, Selector: &unversioned.LabelSelector{MatchLabels: map[string]string{}}, Template: validReplicaSet.Spec.Template, }, }, ) }
func TestCreate(t *testing.T) { storage, _, server := newStorage(t) defer server.Terminate(t) test := registrytest.New(t, storage.Store) validJob := validNewJob() validJob.ObjectMeta = api.ObjectMeta{} test.TestCreate( // valid validJob, // invalid (empty selector) &batch.Job{ Spec: batch.JobSpec{ Completions: validJob.Spec.Completions, Selector: &unversioned.LabelSelector{}, Template: validJob.Spec.Template, }, }, ) }
func TestUpdate(t *testing.T) { storage, server := newStorage(t) defer server.Terminate(t) test := registrytest.New(t, storage.Store).AllowCreateOnUpdate() test.TestUpdate( // valid validNewEvent(test.TestNamespace()), // valid updateFunc func(obj runtime.Object) runtime.Object { object := obj.(*api.Event) object.Reason = "forDifferentTesting" return object }, // invalid updateFunc func(obj runtime.Object) runtime.Object { object := obj.(*api.Event) object.InvolvedObject.Namespace = "different-namespace" return object }, ) }
func TestWatch(t *testing.T) { storage, server := newStorage(t) defer server.Terminate(t) test := registrytest.New(t, storage.Store).ClusterScope().Namer(namer) test.TestWatch( validNewThirdPartyResource("kind.domain.tld"), // matching labels []labels.Set{}, // not matching labels []labels.Set{ {"foo": "bar"}, }, // matching fields []fields.Set{}, // not matching fields []fields.Set{ {"metadata.name": "bar"}, {"name": "foo"}, }, ) }
func TestWatch(t *testing.T) { storage, _, server := newStorage(t) defer server.Terminate(t) test := registrytest.New(t, storage.Store) test.TestWatch( validNewHorizontalPodAutoscaler("foo"), // matching labels []labels.Set{}, // not matching labels []labels.Set{ {"foo": "bar"}, }, // matching fields []fields.Set{}, // not matching fields []fields.Set{ {"metadata.name": "bar"}, {"name": "foo"}, }, ) }