@@ -21,7 +21,6 @@ import (
21
21
corev1 "k8s.io/api/core/v1"
22
22
k8sresource "k8s.io/apimachinery/pkg/api/resource"
23
23
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
24
- v1 "k8s.io/apimachinery/pkg/apis/meta/v1"
25
24
"k8s.io/apimachinery/pkg/runtime"
26
25
defaultscheme "k8s.io/client-go/kubernetes/scheme"
27
26
)
@@ -46,15 +45,12 @@ var _ = Describe("GenerateServerConfigMap", func() {
46
45
)
47
46
48
47
BeforeEach (func () {
48
+ instance = generateRabbitmqCluster ()
49
+ instance .Spec .Resources .Limits = corev1.ResourceList {}
50
+
49
51
scheme = runtime .NewScheme ()
50
52
Expect (rabbitmqv1beta1 .AddToScheme (scheme )).To (Succeed ())
51
53
Expect (defaultscheme .AddToScheme (scheme )).To (Succeed ())
52
- instance = rabbitmqv1beta1.RabbitmqCluster {
53
- ObjectMeta : v1.ObjectMeta {
54
- Name : "a name" ,
55
- Namespace : "a namespace" ,
56
- },
57
- }
58
54
builder = & resource.RabbitmqResourceBuilder {
59
55
Instance : & instance ,
60
56
Scheme : scheme ,
@@ -132,11 +128,8 @@ var _ = Describe("GenerateServerConfigMap", func() {
132
128
})
133
129
134
130
It ("sets owner reference" , func () {
135
- instance = rabbitmqv1beta1.RabbitmqCluster {
136
- ObjectMeta : metav1.ObjectMeta {
137
- Name : "rabbit1" ,
138
- },
139
- }
131
+ instance .ObjectMeta .Name = "rabbit1"
132
+
140
133
Expect (configMapBuilder .Update (configMap )).To (Succeed ())
141
134
Expect (configMap .OwnerReferences [0 ].Name ).To (Equal (instance .Name ))
142
135
})
@@ -153,31 +146,25 @@ var _ = Describe("GenerateServerConfigMap", func() {
153
146
})
154
147
155
148
When ("valid additionalConfig is provided" , func () {
156
- BeforeEach ( func () {
157
- instance . Spec . Rabbitmq . AdditionalConfig = `
149
+ It ( "appends configurations to the default rabbitmq.conf and overwrites duplicate keys" , func () {
150
+ additionalConfig : = `
158
151
cluster_formation.peer_discovery_backend = my-backend
159
152
my-config-property-0 = great-value
160
153
my-config-property-1 = better-value`
161
- })
162
154
163
- It ("appends configurations to the default rabbitmq.conf and overwrites duplicate keys" , func () {
164
- expectedRabbitmqConf := iniString (defaultRabbitmqConf (builder .Instance .Name ) + `
165
- cluster_formation.peer_discovery_backend = my-backend
166
- my-config-property-0 = great-value
167
- my-config-property-1 = better-value
168
- ` )
155
+ instance .Spec .Rabbitmq .AdditionalConfig = additionalConfig
156
+
157
+ expectedRabbitmqConf := iniString (defaultRabbitmqConf (builder .Instance .Name ) + additionalConfig )
169
158
170
159
Expect (configMapBuilder .Update (configMap )).To (Succeed ())
171
160
Expect (configMap .Data ).To (HaveKeyWithValue ("rabbitmq.conf" , expectedRabbitmqConf ))
172
161
})
173
162
})
174
163
175
164
When ("invalid additionalConfig is provided" , func () {
176
- BeforeEach ( func () {
165
+ It ( "errors" , func () {
177
166
instance .Spec .Rabbitmq .AdditionalConfig = " = invalid"
178
- })
179
167
180
- It ("errors" , func () {
181
168
Expect (configMapBuilder .Update (configMap )).To (MatchError (
182
169
"failed to append spec.rabbitmq.additionalConfig: error creating new key: empty key name" ))
183
170
})
@@ -253,16 +240,8 @@ CONSOLE_LOG=new`
253
240
254
241
Context ("TLS" , func () {
255
242
It ("adds TLS config when TLS is enabled" , func () {
256
- instance = rabbitmqv1beta1.RabbitmqCluster {
257
- ObjectMeta : metav1.ObjectMeta {
258
- Name : "rabbit-tls" ,
259
- },
260
- Spec : rabbitmqv1beta1.RabbitmqClusterSpec {
261
- TLS : rabbitmqv1beta1.TLSSpec {
262
- SecretName : "tls-secret" ,
263
- },
264
- },
265
- }
243
+ instance .ObjectMeta .Name = "rabbit-tls"
244
+ instance .Spec .TLS .SecretName = "tls-secret"
266
245
267
246
expectedRabbitmqConf := iniString (defaultRabbitmqConf (builder .Instance .Name ) + `
268
247
ssl_options.certfile = /etc/rabbitmq-tls/tls.crt
@@ -280,23 +259,11 @@ management.ssl.port = 15671
280
259
281
260
When ("MQTT, STOMP and AMQP 1.0 plugins are enabled" , func () {
282
261
It ("adds TLS config for the additional plugins" , func () {
283
- instance = rabbitmqv1beta1.RabbitmqCluster {
284
- ObjectMeta : metav1.ObjectMeta {
285
- Name : "rabbit-tls" ,
286
- },
287
- Spec : rabbitmqv1beta1.RabbitmqClusterSpec {
288
- TLS : rabbitmqv1beta1.TLSSpec {
289
- SecretName : "tls-secret" ,
290
- },
291
- Rabbitmq : rabbitmqv1beta1.RabbitmqClusterConfigurationSpec {
292
- AdditionalPlugins : []rabbitmqv1beta1.Plugin {
293
- "rabbitmq_mqtt" ,
294
- "rabbitmq_stomp" ,
295
- "rabbitmq_amqp_1_0" ,
296
- },
297
- },
298
- },
299
- }
262
+ additionalPlugins := []rabbitmqv1beta1.Plugin {"rabbitmq_mqtt" , "rabbitmq_stomp" , "rabbitmq_amqp_1_0" }
263
+
264
+ instance .ObjectMeta .Name = "rabbit-tls"
265
+ instance .Spec .TLS .SecretName = "tls-secret"
266
+ instance .Spec .Rabbitmq .AdditionalPlugins = additionalPlugins
300
267
301
268
expectedRabbitmqConf := iniString (defaultRabbitmqConf (builder .Instance .Name ) + `
302
269
ssl_options.certfile = /etc/rabbitmq-tls/tls.crt
@@ -320,17 +287,9 @@ stomp.listeners.ssl.1 = 61614
320
287
321
288
Context ("Mutual TLS" , func () {
322
289
It ("adds TLS config when TLS is enabled" , func () {
323
- instance = rabbitmqv1beta1.RabbitmqCluster {
324
- ObjectMeta : metav1.ObjectMeta {
325
- Name : "rabbit-tls" ,
326
- },
327
- Spec : rabbitmqv1beta1.RabbitmqClusterSpec {
328
- TLS : rabbitmqv1beta1.TLSSpec {
329
- SecretName : "tls-secret" ,
330
- CaSecretName : "tls-mutual-secret" ,
331
- },
332
- },
333
- }
290
+ instance .ObjectMeta .Name = "rabbit-tls"
291
+ instance .Spec .TLS .SecretName = "tls-secret"
292
+ instance .Spec .TLS .CaSecretName = "tls-mutual-secret"
334
293
335
294
expectedRabbitmqConf := iniString (defaultRabbitmqConf (builder .Instance .Name ) + `
336
295
ssl_options.certfile = /etc/rabbitmq-tls/tls.crt
@@ -352,23 +311,12 @@ management.ssl.cacertfile = /etc/rabbitmq-tls/ca.crt
352
311
353
312
When ("Web MQTT and Web STOMP are enabled" , func () {
354
313
It ("adds TLS config for the additional plugins" , func () {
355
- instance = rabbitmqv1beta1.RabbitmqCluster {
356
- ObjectMeta : metav1.ObjectMeta {
357
- Name : "rabbit-tls" ,
358
- },
359
- Spec : rabbitmqv1beta1.RabbitmqClusterSpec {
360
- TLS : rabbitmqv1beta1.TLSSpec {
361
- SecretName : "tls-secret" ,
362
- CaSecretName : "tls-mutual-secret" ,
363
- },
364
- Rabbitmq : rabbitmqv1beta1.RabbitmqClusterConfigurationSpec {
365
- AdditionalPlugins : []rabbitmqv1beta1.Plugin {
366
- "rabbitmq_web_mqtt" ,
367
- "rabbitmq_web_stomp" ,
368
- },
369
- },
370
- },
371
- }
314
+ additionalPlugins := []rabbitmqv1beta1.Plugin {"rabbitmq_web_mqtt" , "rabbitmq_web_stomp" }
315
+
316
+ instance .ObjectMeta .Name = "rabbit-tls"
317
+ instance .Spec .TLS .SecretName = "tls-secret"
318
+ instance .Spec .TLS .CaSecretName = "tls-mutual-secret"
319
+ instance .Spec .Rabbitmq .AdditionalPlugins = additionalPlugins
372
320
373
321
expectedRabbitmqConf := iniString (defaultRabbitmqConf (builder .Instance .Name ) + `
374
322
ssl_options.certfile = /etc/rabbitmq-tls/tls.crt
@@ -404,18 +352,8 @@ management.ssl.cacertfile = /etc/rabbitmq-tls/ca.crt
404
352
Context ("Memory Limits" , func () {
405
353
It ("sets a RabbitMQ memory limit with headroom when memory limits are specified" , func () {
406
354
const GiB int64 = 1073741824
407
- instance = rabbitmqv1beta1.RabbitmqCluster {
408
- ObjectMeta : metav1.ObjectMeta {
409
- Name : "rabbit-mem-limit" ,
410
- },
411
- Spec : rabbitmqv1beta1.RabbitmqClusterSpec {
412
- Resources : & corev1.ResourceRequirements {
413
- Limits : map [corev1.ResourceName ]k8sresource.Quantity {
414
- corev1 .ResourceMemory : k8sresource .MustParse ("10Gi" ),
415
- },
416
- },
417
- },
418
- }
355
+ instance .ObjectMeta .Name = "rabbit-mem-limit"
356
+ instance .Spec .Resources .Limits = map [corev1.ResourceName ]k8sresource.Quantity {corev1 .ResourceMemory : k8sresource .MustParse ("10Gi" )}
419
357
420
358
expectedRabbitmqConf := iniString (defaultRabbitmqConf (builder .Instance .Name ) + fmt .Sprintf ("total_memory_available_override_value = %d" , 8 * GiB ))
421
359
0 commit comments