@@ -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
@@ -281,23 +260,11 @@ management.tcp.port = 15672
281
260
282
261
When ("MQTT, STOMP and AMQP 1.0 plugins are enabled" , func () {
283
262
It ("adds TLS config for the additional plugins" , func () {
284
- instance = rabbitmqv1beta1.RabbitmqCluster {
285
- ObjectMeta : metav1.ObjectMeta {
286
- Name : "rabbit-tls" ,
287
- },
288
- Spec : rabbitmqv1beta1.RabbitmqClusterSpec {
289
- TLS : rabbitmqv1beta1.TLSSpec {
290
- SecretName : "tls-secret" ,
291
- },
292
- Rabbitmq : rabbitmqv1beta1.RabbitmqClusterConfigurationSpec {
293
- AdditionalPlugins : []rabbitmqv1beta1.Plugin {
294
- "rabbitmq_mqtt" ,
295
- "rabbitmq_stomp" ,
296
- "rabbitmq_amqp_1_0" ,
297
- },
298
- },
299
- },
300
- }
263
+ additionalPlugins := []rabbitmqv1beta1.Plugin {"rabbitmq_mqtt" , "rabbitmq_stomp" , "rabbitmq_amqp_1_0" }
264
+
265
+ instance .ObjectMeta .Name = "rabbit-tls"
266
+ instance .Spec .TLS .SecretName = "tls-secret"
267
+ instance .Spec .Rabbitmq .AdditionalPlugins = additionalPlugins
301
268
302
269
expectedRabbitmqConf := iniString (defaultRabbitmqConf (builder .Instance .Name ) + `
303
270
ssl_options.certfile = /etc/rabbitmq-tls/tls.crt
@@ -322,17 +289,9 @@ stomp.listeners.ssl.1 = 61614
322
289
323
290
Context ("Mutual TLS" , func () {
324
291
It ("adds TLS config when TLS is enabled" , func () {
325
- instance = rabbitmqv1beta1.RabbitmqCluster {
326
- ObjectMeta : metav1.ObjectMeta {
327
- Name : "rabbit-tls" ,
328
- },
329
- Spec : rabbitmqv1beta1.RabbitmqClusterSpec {
330
- TLS : rabbitmqv1beta1.TLSSpec {
331
- SecretName : "tls-secret" ,
332
- CaSecretName : "tls-mutual-secret" ,
333
- },
334
- },
335
- }
292
+ instance .ObjectMeta .Name = "rabbit-tls"
293
+ instance .Spec .TLS .SecretName = "tls-secret"
294
+ instance .Spec .TLS .CaSecretName = "tls-mutual-secret"
336
295
337
296
expectedRabbitmqConf := iniString (defaultRabbitmqConf (builder .Instance .Name ) + `
338
297
ssl_options.certfile = /etc/rabbitmq-tls/tls.crt
@@ -355,23 +314,12 @@ management.ssl.cacertfile = /etc/rabbitmq-tls/ca.crt
355
314
356
315
When ("Web MQTT and Web STOMP are enabled" , func () {
357
316
It ("adds TLS config for the additional plugins" , func () {
358
- instance = rabbitmqv1beta1.RabbitmqCluster {
359
- ObjectMeta : metav1.ObjectMeta {
360
- Name : "rabbit-tls" ,
361
- },
362
- Spec : rabbitmqv1beta1.RabbitmqClusterSpec {
363
- TLS : rabbitmqv1beta1.TLSSpec {
364
- SecretName : "tls-secret" ,
365
- CaSecretName : "tls-mutual-secret" ,
366
- },
367
- Rabbitmq : rabbitmqv1beta1.RabbitmqClusterConfigurationSpec {
368
- AdditionalPlugins : []rabbitmqv1beta1.Plugin {
369
- "rabbitmq_web_mqtt" ,
370
- "rabbitmq_web_stomp" ,
371
- },
372
- },
373
- },
374
- }
317
+ additionalPlugins := []rabbitmqv1beta1.Plugin {"rabbitmq_web_mqtt" , "rabbitmq_web_stomp" }
318
+
319
+ instance .ObjectMeta .Name = "rabbit-tls"
320
+ instance .Spec .TLS .SecretName = "tls-secret"
321
+ instance .Spec .TLS .CaSecretName = "tls-mutual-secret"
322
+ instance .Spec .Rabbitmq .AdditionalPlugins = additionalPlugins
375
323
376
324
expectedRabbitmqConf := iniString (defaultRabbitmqConf (builder .Instance .Name ) + `
377
325
ssl_options.certfile = /etc/rabbitmq-tls/tls.crt
@@ -530,18 +478,8 @@ web_stomp.tcp.listener = none
530
478
Context ("Memory Limits" , func () {
531
479
It ("sets a RabbitMQ memory limit with headroom when memory limits are specified" , func () {
532
480
const GiB int64 = 1073741824
533
- instance = rabbitmqv1beta1.RabbitmqCluster {
534
- ObjectMeta : metav1.ObjectMeta {
535
- Name : "rabbit-mem-limit" ,
536
- },
537
- Spec : rabbitmqv1beta1.RabbitmqClusterSpec {
538
- Resources : & corev1.ResourceRequirements {
539
- Limits : map [corev1.ResourceName ]k8sresource.Quantity {
540
- corev1 .ResourceMemory : k8sresource .MustParse ("10Gi" ),
541
- },
542
- },
543
- },
544
- }
481
+ instance .ObjectMeta .Name = "rabbit-mem-limit"
482
+ instance .Spec .Resources .Limits = map [corev1.ResourceName ]k8sresource.Quantity {corev1 .ResourceMemory : k8sresource .MustParse ("10Gi" )}
545
483
546
484
expectedRabbitmqConf := iniString (defaultRabbitmqConf (builder .Instance .Name ) + fmt .Sprintf ("total_memory_available_override_value = %d" , 8 * GiB ))
547
485
0 commit comments