diff --git a/samples/memcached-api-server/pkg/apis/myapps/v1alpha1/memcached_types.go b/samples/memcached-api-server/pkg/apis/myapps/v1alpha1/memcached_types.go index bcd06c4c86..7d6e4aa119 100644 --- a/samples/memcached-api-server/pkg/apis/myapps/v1alpha1/memcached_types.go +++ b/samples/memcached-api-server/pkg/apis/myapps/v1alpha1/memcached_types.go @@ -12,6 +12,8 @@ import ( // MemcachedSpec defines the desired state of Memcached type MemcachedSpec struct { // INSERT ADDITIONAL SPEC FIELDS - desired state of cluster + // +kubebuilder:validation:Maximum=100 + // +kubebuilder:validation:Minimum=5 Size int32 `json:"size"` } diff --git a/samples/memcached-api-server/pkg/apis/myapps/v1alpha1/memcached_types_test.go b/samples/memcached-api-server/pkg/apis/myapps/v1alpha1/memcached_types_test.go index 4200b45da4..0360dbe09d 100644 --- a/samples/memcached-api-server/pkg/apis/myapps/v1alpha1/memcached_types_test.go +++ b/samples/memcached-api-server/pkg/apis/myapps/v1alpha1/memcached_types_test.go @@ -21,6 +21,7 @@ var _ = Describe("Memcached", func() { BeforeEach(func() { instance = Memcached{} instance.Name = "instance-1" + instance.Spec.Size = 50 expected = instance }) diff --git a/samples/memcached-api-server/pkg/controller/memcached/controller_test.go b/samples/memcached-api-server/pkg/controller/memcached/controller_test.go index fad37ac4f9..2a9cf06644 100644 --- a/samples/memcached-api-server/pkg/controller/memcached/controller_test.go +++ b/samples/memcached-api-server/pkg/controller/memcached/controller_test.go @@ -48,7 +48,19 @@ var _ = Describe("Memcached controller", func() { // Create the instance client = cs.MyappsV1alpha1().Memcacheds("default") + + instance.Spec.Size = 1 _, err := client.Create(&instance) + Expect(err).Should(HaveOccurred()) + Expect(err.Error()).Should(MatchRegexp(".*spec.size in body should be greater than or equal to 5.*")) + + instance.Spec.Size = 101 + _, err = client.Create(&instance) + Expect(err).Should(HaveOccurred()) + Expect(err.Error()).Should(MatchRegexp(".*spec.size in body should be less than or equal to 100.*")) + + instance.Spec.Size = 50 + _, err = client.Create(&instance) Expect(err).ShouldNot(HaveOccurred()) // Wait for reconcile to happen