Skip to content

Commit fccef65

Browse files
committed
add unit test for multiple-sensors-per-ppd
1 parent 2c03fb1 commit fccef65

File tree

1 file changed

+136
-0
lines changed

1 file changed

+136
-0
lines changed

tests/unit/st2sensors_test.yaml

Lines changed: 136 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -247,3 +247,139 @@ tests:
247247
asserts:
248248
- failedTemplate:
249249
errorMessage: "You must define `ref` for everything in st2.packs.sensors. This assigns each sensor to a pod."
250+
251+
- it: stackstorm/sensor-mode = multiple-sensors-per-pod
252+
template: deployments.yaml
253+
release:
254+
name: multi-sensor-release
255+
set:
256+
st2:
257+
packs: { sensors: [] }
258+
image:
259+
tag: globaldefault
260+
st2sensorcontainer:
261+
image:
262+
tag: sensordefault
263+
deployments: 3
264+
securityContext: *override_security_context
265+
securityContext: *global_security_context
266+
asserts:
267+
- hasDocuments:
268+
count: 15 # all but st2chatops
269+
270+
- isKind:
271+
of: Deployment
272+
documentIndex: *first_sensor_doc
273+
- isKind:
274+
of: Deployment
275+
documentIndex: *second_sensor_doc
276+
- isKind:
277+
of: Deployment
278+
documentIndex: *third_sensor_doc
279+
280+
- equal:
281+
path: metadata.name
282+
value: multi-sensor-release-st2sensorcontainer-0
283+
documentIndex: *first_sensor_doc
284+
- equal:
285+
path: metadata.name
286+
value: multi-sensor-release-st2sensorcontainer-1
287+
documentIndex: *second_sensor_doc
288+
- equal:
289+
path: metadata.name
290+
value: multi-sensor-release-st2sensorcontainer-2
291+
documentIndex: *third_sensor_doc
292+
293+
- equal:
294+
path: metadata.labels.app
295+
value: st2sensorcontainer-0
296+
documentIndex: *first_sensor_doc
297+
- equal:
298+
path: metadata.labels.app
299+
value: st2sensorcontainer-1
300+
documentIndex: *second_sensor_doc
301+
- equal:
302+
path: metadata.labels.app
303+
value: st2sensorcontainer-2
304+
documentIndex: *third_sensor_doc
305+
306+
- equal:
307+
path: spec.template.metadata.labels.app
308+
value: st2sensorcontainer-0
309+
documentIndex: *first_sensor_doc
310+
- equal:
311+
path: spec.template.metadata.labels.app
312+
value: st2sensorcontainer-1
313+
documentIndex: *second_sensor_doc
314+
- equal:
315+
path: spec.template.metadata.labels.app
316+
value: st2sensorcontainer-2
317+
documentIndex: *third_sensor_doc
318+
319+
- equal:
320+
path: spec.selector.matchLabels.app
321+
value: st2sensorcontainer-0
322+
documentIndex: *first_sensor_doc
323+
- equal:
324+
path: spec.selector.matchLabels.app
325+
value: st2sensorcontainer-1
326+
documentIndex: *second_sensor_doc
327+
- equal:
328+
path: spec.selector.matchLabels.app
329+
value: st2sensorcontainer-2
330+
documentIndex: *third_sensor_doc
331+
332+
- equal: *oneReplica
333+
documentIndex: *first_sensor_doc
334+
- equal: *oneReplica
335+
documentIndex: *second_sensor_doc
336+
- equal: *oneReplica
337+
documentIndex: *third_sensor_doc
338+
339+
- equal: &multiSensorAnnotation
340+
path: spec.template.metadata.annotations.stackstorm/sensor-mode
341+
value: multiple-sensors-per-pod
342+
documentIndex: *first_sensor_doc
343+
- equal: *multiSensorAnnotation
344+
documentIndex: *second_sensor_doc
345+
- equal: *multiSensorAnnotation
346+
documentIndex: *third_sensor_doc
347+
348+
- notContains: &notSingleSensorMode
349+
path: spec.template.spec.containers[0].command
350+
content: '--single-sensor-mode'
351+
documentIndex: *first_sensor_doc
352+
- notContains: *notSingleSensorMode
353+
documentIndex: *second_sensor_doc
354+
- notContains: *notSingleSensorMode
355+
documentIndex: *third_sensor_doc
356+
357+
- contains: &sensorConf
358+
path: spec.template.spec.containers[0].command
359+
content: '--config-file=/etc/st2/st2.sensorcontainer.conf'
360+
documentIndex: *first_sensor_doc
361+
- contains: *sensorConf
362+
documentIndex: *second_sensor_doc
363+
- contains: *sensorConf
364+
documentIndex: *third_sensor_doc
365+
366+
# st2sensorcontainer values apply to all sensor containers replacing globals
367+
368+
- matchRegex: &multiSensorTag
369+
path: spec.template.spec.containers[0].image
370+
pattern: '.*:sensordefault$'
371+
documentIndex: *first_sensor_doc
372+
- matchRegex: *multiSensorTag
373+
documentIndex: *second_sensor_doc
374+
- matchRegex: *multiSensorTag
375+
documentIndex: *third_sensor_doc
376+
377+
- equal: &multiSensorSecurityContext
378+
path: spec.template.spec.containers[0].securityContext
379+
value: *override_security_context
380+
documentIndex: *first_sensor_doc
381+
- equal: *multiSensorSecurityContext
382+
documentIndex: *second_sensor_doc
383+
- equal: *multiSensorSecurityContext
384+
documentIndex: *third_sensor_doc
385+

0 commit comments

Comments
 (0)