@@ -25,6 +25,7 @@ var _ = Describe("Federation spec", func() {
2525 UriSecret : & corev1.LocalObjectReference {
2626 Name : "a-secret" ,
2727 },
28+ DeletionPolicy : "delete" ,
2829 }
2930
3031 federation := Federation {
@@ -122,4 +123,32 @@ var _ = Describe("Federation spec", func() {
122123 Expect (k8sClient .Create (ctx , & federation )).To (MatchError (`Federation.rabbitmq.com "invalid-federation" is invalid: spec.ackMode: Unsupported value: "non-existing-ackmode": supported values: "on-confirm", "on-publish", "no-ack"` ))
123124 })
124125 })
126+
127+ It ("creates a federation with non-default DeletionPolicy" , func () {
128+ federation := Federation {
129+ ObjectMeta : metav1.ObjectMeta {
130+ Name : "federation-with-retain-policy" ,
131+ Namespace : namespace ,
132+ },
133+ Spec : FederationSpec {
134+ Name : "federation-with-retain-policy" ,
135+ DeletionPolicy : "retain" ,
136+ UriSecret : & corev1.LocalObjectReference {
137+ Name : "a-secret" ,
138+ },
139+ RabbitmqClusterReference : RabbitmqClusterReference {
140+ Name : "some-cluster" ,
141+ },
142+ },
143+ }
144+ Expect (k8sClient .Create (ctx , & federation )).To (Succeed ())
145+ fetched := & Federation {}
146+ Expect (k8sClient .Get (ctx , types.NamespacedName {
147+ Name : federation .Name ,
148+ Namespace : federation .Namespace ,
149+ }, fetched )).To (Succeed ())
150+
151+ Expect (fetched .Spec .DeletionPolicy ).To (Equal ("retain" ))
152+ Expect (fetched .Spec .Name ).To (Equal ("federation-with-retain-policy" ))
153+ })
125154})
0 commit comments