3 # ============LICENSE_START===============================================
4 # Copyright (C) 2020 Nordix Foundation. All rights reserved.
5 # ========================================================================
6 # Licensed under the Apache License, Version 2.0 (the "License");
7 # you may not use this file except in compliance with the License.
8 # You may obtain a copy of the License at
10 # http://www.apache.org/licenses/LICENSE-2.0
12 # Unless required by applicable law or agreed to in writing, software
13 # distributed under the License is distributed on an "AS IS" BASIS,
14 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15 # See the License for the specific language governing permissions and
16 # limitations under the License.
17 # ============LICENSE_END=================================================
21 TC_ONELINE_DESCR="ECS full intefaces walkthrough"
23 #App names to include in the test when running docker, space separated list
24 DOCKER_INCLUDED_IMAGES="ECS PRODSTUB CR RICSIM CP"
26 #App names to include in the test when running kubernetes, space separated list
27 KUBE_INCLUDED_IMAGES=" PRODSTUB CR ECS RICSIM CP "
28 #Prestarted app (not started by script) to include in the test when running kubernetes, space separated list
29 KUBE_PRESTARTED_IMAGES=" "
31 #Supported test environment profiles
32 SUPPORTED_PROFILES="ONAP-HONOLULU ORAN-CHERRY ORAN-DAWN"
34 SUPPORTED_RUNMODES="DOCKER KUBE"
36 . ../common/testcase_common.sh $@
37 . ../common/ecs_api_functions.sh
38 . ../common/prodstub_api_functions.sh
39 . ../common/cr_api_functions.sh
40 . ../common/control_panel_api_functions.sh
41 . ../common/controller_api_functions.sh
42 . ../common/ricsimulator_api_functions.sh
58 start_ecs $SIM_GROUP/$ECS_COMPOSE_DIR/application.yaml
60 if [ $RUNMODE == "KUBE" ]; then
68 start_control_panel $SIM_GROUP/$CONTROL_PANEL_COMPOSE_DIR/application.properties
70 if [ "$PMS_VERSION" == "V2" ]; then
71 start_ric_simulators ricsim_g3 4 STD_2.0.0
76 CB_JOB="$PROD_STUB_SERVICE_PATH$PROD_STUB_JOB_CALLBACK"
77 CB_SV="$PROD_STUB_SERVICE_PATH$PROD_STUB_SUPERVISION_CALLBACK"
78 TARGET1="$RIC_SIM_HTTPX://ricsim_g3_1:$RIC_SIM_PORT/datadelivery"
79 TARGET2="$RIC_SIM_HTTPX://ricsim_g3_2:$RIC_SIM_PORT/datadelivery"
80 TARGET3="$RIC_SIM_HTTPX://ricsim_g3_3:$RIC_SIM_PORT/datadelivery"
81 TARGET8="$RIC_SIM_HTTPX://ricsim_g3_4:$RIC_SIM_PORT/datadelivery"
82 TARGET10="$RIC_SIM_HTTPX://ricsim_g3_4:$RIC_SIM_PORT/datadelivery"
84 STATUS1="$CR_SERVICE_PATH/job1-status"
85 STATUS2="$CR_SERVICE_PATH/job2-status"
86 STATUS3="$CR_SERVICE_PATH/job3-status"
87 STATUS8="$CR_SERVICE_PATH/job8-status"
88 STATUS10="$CR_SERVICE_PATH/job10-status"
90 ### Setup prodstub sim to accept calls for producers, types and jobs
92 ## prod-b type1 and type2
104 ## job10 -> prod-e and prod-f
106 prodstub_arm_producer 200 prod-a
107 prodstub_arm_producer 200 prod-b
108 prodstub_arm_producer 200 prod-c
109 prodstub_arm_producer 200 prod-d
110 prodstub_arm_producer 200 prod-e
111 prodstub_arm_producer 200 prod-f
113 prodstub_arm_type 200 prod-a type1
114 prodstub_arm_type 200 prod-b type2
115 prodstub_arm_type 200 prod-b type3
116 prodstub_arm_type 200 prod-d type4
117 prodstub_arm_type 200 prod-e type6
118 prodstub_arm_type 200 prod-f type6
120 prodstub_disarm_type 200 prod-b type3
121 prodstub_arm_type 200 prod-b type1
122 prodstub_disarm_type 200 prod-b type1
125 prodstub_arm_job_create 200 prod-a job1
126 prodstub_arm_job_create 200 prod-a job2
127 prodstub_arm_job_create 200 prod-b job3
129 prodstub_arm_job_delete 200 prod-a job1
130 prodstub_arm_job_delete 200 prod-a job2
131 prodstub_arm_job_delete 200 prod-b job3
133 prodstub_arm_job_create 200 prod-b job4
134 prodstub_arm_job_create 200 prod-a job4
136 prodstub_arm_job_create 200 prod-b job6
138 prodstub_arm_job_create 200 prod-d job8
140 prodstub_arm_job_create 200 prod-e job10
141 prodstub_arm_job_create 200 prod-f job10
144 ecs_api_service_status 200
146 cr_equal received_callbacks 0
148 ### Initial tests - no config made
149 ### GET: type ids, types, producer ids, producers, job ids, jobs
151 ecs_api_a1_get_type_ids 200 EMPTY
152 ecs_api_a1_get_type 404 test-type
154 ecs_api_edp_get_type_ids 200 EMPTY
155 ecs_api_edp_get_type 404 test-type
157 ecs_api_edp_get_producer_ids 200 EMPTY
158 ecs_api_edp_get_producer 404 test-prod
160 ecs_api_edp_get_producer_status 404 test-prod
162 ecs_api_edp_delete_producer 404 test-prod
164 if [ -z "$FLAT_A1_EI" ]; then
165 ecs_api_a1_get_job_ids 404 test-type NOWNER
166 ecs_api_a1_get_job_ids 404 test-type test-owner
168 ecs_api_a1_get_job 404 test-type test-job
170 ecs_api_a1_get_job_status 404 test-type test-job
172 ecs_api_a1_get_job_ids 200 test-type NOWNER EMPTY
173 ecs_api_a1_get_job_ids 200 test-type test-owner EMPTY
175 ecs_api_a1_get_job 404 test-job
177 ecs_api_a1_get_job_status 404 test-job
180 if [ -z "$FLAT_A1_EI" ]; then
181 ecs_api_a1_delete_job 404 test-type test-job
183 ecs_api_a1_delete_job 404 test-job
186 ecs_api_edp_get_producer_jobs 404 test-prod
189 ### Setup of producer/job and testing apis ###
192 ecs_api_edp_put_producer 201 prod-a $CB_JOB/prod-a $CB_SV/prod-a type1 testdata/ecs/ei-type-1.json
193 ecs_api_edp_put_producer 200 prod-a $CB_JOB/prod-a $CB_SV/prod-a type1 testdata/ecs/ei-type-1.json
196 ecs_api_a1_get_type_ids 200 type1
197 if [ -z "$FLAT_A1_EI" ]; then
198 ecs_api_a1_get_type 200 type1 testdata/ecs/ei-type-1.json
200 ecs_api_a1_get_type 200 type1 testdata/ecs/empty-type.json
203 ecs_api_edp_get_type_ids 200 type1
204 ecs_api_edp_get_type 200 type1 testdata/ecs/ei-type-1.json prod-a
206 ecs_api_edp_get_producer_ids 200 prod-a
208 ecs_api_edp_get_producer 200 prod-a $CB_JOB/prod-a $CB_SV/prod-a type1 testdata/ecs/ei-type-1.json
210 ecs_api_edp_get_producer_status 200 prod-a ENABLED
212 ecs_api_a1_get_job_ids 200 type1 NOWNER EMPTY
213 ecs_api_a1_get_job_ids 200 type1 test-owner EMPTY
215 if [ -z "$FLAT_A1_EI" ]; then
216 ecs_api_a1_get_job 404 type1 test-job
218 ecs_api_a1_get_job_status 404 type1 test-job
220 ecs_api_a1_get_job 404 test-job
222 ecs_api_a1_get_job_status 404 test-job
225 ecs_api_edp_get_producer_jobs 200 prod-a EMPTY
227 ## Create a job for prod-a
229 if [ -z "$FLAT_A1_EI" ]; then
230 ecs_api_a1_put_job 201 type1 job1 $TARGET1 ricsim_g3_1 testdata/ecs/job-template.json
232 ecs_api_a1_put_job 201 job1 type1 $TARGET1 ricsim_g3_1 $STATUS1 testdata/ecs/job-template.json
235 # Check the job data in the producer
236 prodstub_check_jobdata 200 prod-a job1 type1 $TARGET1 ricsim_g3_1 testdata/ecs/job-template.json
238 ecs_api_a1_get_job_ids 200 type1 NOWNER job1
239 ecs_api_a1_get_job_ids 200 type1 ricsim_g3_1 job1
241 if [ ! -z "$FLAT_A1_EI" ]; then
242 ecs_api_a1_get_job_ids 200 NOTYPE NOWNER job1
245 if [ -z "$FLAT_A1_EI" ]; then
246 ecs_api_a1_get_job 200 type1 job1 $TARGET1 ricsim_g3_1 testdata/ecs/job-template.json
248 ecs_api_a1_get_job_status 200 type1 job1 ENABLED
250 ecs_api_a1_get_job 200 job1 type1 $TARGET1 ricsim_g3_1 $STATUS1 testdata/ecs/job-template.json
252 ecs_api_a1_get_job_status 200 job1 ENABLED
255 prodstub_equal create/prod-a/job1 1
257 ecs_api_edp_get_producer_jobs 200 prod-a job1 type1 $TARGET1 ricsim_g3_1 testdata/ecs/job-template.json
259 ## Create a second job for prod-a
261 if [ -z "$FLAT_A1_EI" ]; then
262 ecs_api_a1_put_job 201 type1 job2 $TARGET2 ricsim_g3_2 testdata/ecs/job-template.json
264 ecs_api_a1_put_job 201 job2 type1 $TARGET2 ricsim_g3_2 $STATUS2 testdata/ecs/job-template.json
267 # Check the job data in the producer
268 prodstub_check_jobdata 200 prod-a job2 type1 $TARGET2 ricsim_g3_2 testdata/ecs/job-template.json
270 ecs_api_a1_get_job_ids 200 type1 NOWNER job1 job2
271 ecs_api_a1_get_job_ids 200 type1 ricsim_g3_1 job1
272 ecs_api_a1_get_job_ids 200 type1 ricsim_g3_2 job2
273 if [ ! -z "$FLAT_A1_EI" ]; then
274 ecs_api_a1_get_job_ids 200 NOTYPE NOWNER job1 job2
277 if [ -z "$FLAT_A1_EI" ]; then
278 ecs_api_a1_get_job 200 type1 job2 $TARGET2 ricsim_g3_2 testdata/ecs/job-template.json
280 ecs_api_a1_get_job_status 200 type1 job2 ENABLED
282 ecs_api_a1_get_job 200 job2 type1 $TARGET2 ricsim_g3_2 $STATUS2 testdata/ecs/job-template.json
284 ecs_api_a1_get_job_status 200 job2 ENABLED
287 prodstub_equal create/prod-a/job2 1
289 ecs_api_edp_get_producer_jobs 200 prod-a job1 type1 $TARGET1 ricsim_g3_1 testdata/ecs/job-template.json job2 type1 $TARGET2 ricsim_g3_2 testdata/ecs/job-template.json
292 ecs_api_edp_put_producer 201 prod-b $CB_JOB/prod-b $CB_SV/prod-b type2 testdata/ecs/ei-type-2.json
294 ecs_api_a1_get_type_ids 200 type1 type2
295 if [ -z "$FLAT_A1_EI" ]; then
296 ecs_api_a1_get_type 200 type1 testdata/ecs/ei-type-1.json
297 ecs_api_a1_get_type 200 type2 testdata/ecs/ei-type-2.json
299 ecs_api_a1_get_type 200 type1 testdata/ecs/empty-type.json
300 ecs_api_a1_get_type 200 type2 testdata/ecs/empty-type.json
303 ecs_api_edp_get_type_ids 200 type1 type2
304 ecs_api_edp_get_type 200 type1 testdata/ecs/ei-type-1.json prod-a
305 ecs_api_edp_get_type 200 type2 testdata/ecs/ei-type-2.json prod-b
307 ecs_api_edp_get_producer_ids 200 prod-a prod-b
309 ecs_api_edp_get_producer 200 prod-a $CB_JOB/prod-a $CB_SV/prod-a type1 testdata/ecs/ei-type-1.json
310 ecs_api_edp_get_producer 200 prod-b $CB_JOB/prod-b $CB_SV/prod-b type2 testdata/ecs/ei-type-2.json
313 ecs_api_edp_get_producer_status 200 prod-b ENABLED
315 ## Create job for prod-b
317 if [ -z "$FLAT_A1_EI" ]; then
318 ecs_api_a1_put_job 201 type2 job3 $TARGET3 ricsim_g3_3 testdata/ecs/job-template.json
320 ecs_api_a1_put_job 201 job3 type2 $TARGET3 ricsim_g3_3 $STATUS3 testdata/ecs/job-template.json
323 prodstub_equal create/prod-b/job3 1
325 # Check the job data in the producer
326 prodstub_check_jobdata 200 prod-b job3 type2 $TARGET3 ricsim_g3_3 testdata/ecs/job-template.json
328 ecs_api_a1_get_job_ids 200 type1 NOWNER job1 job2
329 ecs_api_a1_get_job_ids 200 type2 NOWNER job3
330 ecs_api_a1_get_job_ids 200 type1 ricsim_g3_1 job1
331 ecs_api_a1_get_job_ids 200 type1 ricsim_g3_2 job2
332 ecs_api_a1_get_job_ids 200 type2 ricsim_g3_3 job3
334 if [ -z "$FLAT_A1_EI" ]; then
335 ecs_api_a1_get_job 200 type2 job3 $TARGET3 ricsim_g3_3 testdata/ecs/job-template.json
337 ecs_api_a1_get_job_status 200 type2 job3 ENABLED
339 ecs_api_a1_get_job 200 job3 type2 $TARGET3 ricsim_g3_3 $STATUS3 testdata/ecs/job-template.json
341 ecs_api_a1_get_job_status 200 job3 ENABLED
344 ecs_api_edp_get_producer_jobs 200 prod-a job1 type1 $TARGET1 ricsim_g3_1 testdata/ecs/job-template.json job2 type1 $TARGET2 ricsim_g3_2 testdata/ecs/job-template.json
345 ecs_api_edp_get_producer_jobs 200 prod-b job3 type2 $TARGET3 ricsim_g3_3 testdata/ecs/job-template.json
348 ## Setup prod-c (no types)
349 ecs_api_edp_put_producer 201 prod-c $CB_JOB/prod-c $CB_SV/prod-c NOTYPE
352 ecs_api_edp_get_producer_ids 200 prod-a prod-b prod-c
354 ecs_api_edp_get_producer 200 prod-a $CB_JOB/prod-a $CB_SV/prod-a type1 testdata/ecs/ei-type-1.json
355 ecs_api_edp_get_producer 200 prod-b $CB_JOB/prod-b $CB_SV/prod-b type2 testdata/ecs/ei-type-2.json
356 ecs_api_edp_get_producer 200 prod-c $CB_JOB/prod-c $CB_SV/prod-c EMPTY
358 ecs_api_edp_get_producer_status 200 prod-c ENABLED
361 ## Delete job3 and prod-b and re-create if different order
363 # Delete job then producer
364 ecs_api_a1_get_job_ids 200 NOTYPE NOWNER job1 job2 job3
365 ecs_api_edp_get_producer_ids 200 prod-a prod-b prod-c
367 if [ -z "$FLAT_A1_EI" ]; then
368 ecs_api_a1_delete_job 204 type2 job3
370 ecs_api_a1_delete_job 204 job3
373 ecs_api_a1_get_job_ids 200 NOTYPE NOWNER job1 job2
374 ecs_api_edp_get_producer_ids 200 prod-a prod-b prod-c
376 ecs_api_edp_delete_producer 204 prod-b
378 ecs_api_edp_get_producer_status 404 prod-b
380 ecs_api_a1_get_job_ids 200 NOTYPE NOWNER job1 job2
381 ecs_api_edp_get_producer_ids 200 prod-a prod-c
383 prodstub_equal delete/prod-b/job3 1
385 if [ -z "$FLAT_A1_EI" ]; then
386 ecs_api_a1_put_job 404 type2 job3 $TARGET3 ricsim_g3_3 testdata/ecs/job-template.json
388 ecs_api_a1_put_job 404 job3 type2 $TARGET3 ricsim_g3_3 $STATUS3 testdata/ecs/job-template.json
391 # Put producer then job
392 ecs_api_edp_put_producer 201 prod-b $CB_JOB/prod-b $CB_SV/prod-b type2 testdata/ecs/ei-type-2.json
394 ecs_api_edp_get_producer_status 200 prod-b ENABLED
396 if [ -z "$FLAT_A1_EI" ]; then
397 ecs_api_a1_put_job 201 type2 job3 $TARGET3 ricsim_g3_3 testdata/ecs/job-template2.json
398 ecs_api_a1_get_job_status 200 type2 job3 ENABLED
400 ecs_api_a1_put_job 201 job3 type2 $TARGET3 ricsim_g3_3 $STATUS3 testdata/ecs/job-template2.json
401 ecs_api_a1_get_job_status 200 job3 ENABLED
404 prodstub_check_jobdata 200 prod-b job3 type2 $TARGET3 ricsim_g3_3 testdata/ecs/job-template2.json
406 ecs_api_a1_get_job_ids 200 NOTYPE NOWNER job1 job2 job3
407 ecs_api_edp_get_producer_ids 200 prod-a prod-b prod-c
409 prodstub_equal create/prod-b/job3 2
410 prodstub_equal delete/prod-b/job3 1
412 # Delete only the producer
413 ecs_api_edp_delete_producer 204 prod-b
415 ecs_api_edp_get_producer_status 404 prod-b
417 ecs_api_a1_get_job_ids 200 NOTYPE NOWNER job1 job2 job3
418 ecs_api_edp_get_producer_ids 200 prod-a prod-c
420 if [ -z "$FLAT_A1_EI" ]; then
421 ecs_api_a1_get_job_status 200 type2 job3 DISABLED
423 ecs_api_a1_get_job_status 200 job3 DISABLED
426 cr_equal received_callbacks 1 30
427 cr_equal received_callbacks?id=job3-status 1
428 cr_api_check_all_ecs_events 200 job3-status DISABLED
430 # Re-create the producer
431 ecs_api_edp_put_producer 201 prod-b $CB_JOB/prod-b $CB_SV/prod-b type2 testdata/ecs/ei-type-2.json
433 ecs_api_edp_get_producer_status 200 prod-b ENABLED
435 if [ -z "$FLAT_A1_EI" ]; then
436 ecs_api_a1_get_job_status 200 type2 job3 ENABLED
438 ecs_api_a1_get_job_status 200 job3 ENABLED
441 cr_equal received_callbacks 2 30
442 cr_equal received_callbacks?id=job3-status 2
443 cr_api_check_all_ecs_events 200 job3-status ENABLED
445 prodstub_check_jobdata 200 prod-b job3 type2 $TARGET3 ricsim_g3_3 testdata/ecs/job-template2.json
449 ecs_api_edp_put_producer 201 prod-d $CB_JOB/prod-d $CB_SV/prod-d type4 testdata/ecs/ei-type-1.json
451 ecs_api_a1_get_job_ids 200 type4 NOWNER EMPTY
453 if [ -z "$FLAT_A1_EI" ]; then
454 ecs_api_a1_put_job 201 type4 job8 $TARGET8 ricsim_g3_4 testdata/ecs/job-template.json
456 ecs_api_a1_put_job 201 job8 type4 $TARGET8 ricsim_g3_4 $STATUS8 testdata/ecs/job-template.json
459 prodstub_check_jobdata 200 prod-d job8 type4 $TARGET8 ricsim_g3_4 testdata/ecs/job-template.json
461 prodstub_equal create/prod-d/job8 1
462 prodstub_equal delete/prod-d/job8 0
464 ecs_api_a1_get_job_ids 200 type4 NOWNER job8
466 if [ -z "$FLAT_A1_EI" ]; then
467 ecs_api_a1_get_job_status 200 type4 job8 ENABLED
469 ecs_api_a1_get_job_status 200 job8 ENABLED
472 # Re-PUT the producer with zero types
473 ecs_api_edp_put_producer 200 prod-d $CB_JOB/prod-d $CB_SV/prod-d NOTYPE
475 if [ -z "$FLAT_A1_EI" ]; then
476 ecs_api_a1_get_job_ids 404 type4 NOWNER
478 ecs_api_a1_get_job_ids 200 type4 NOWNER job8
479 ecs_api_a1_get_job_ids 200 NOTYPE NOWNER job1 job2 job3 job8
482 if [ -z "$FLAT_A1_EI" ]; then
483 ecs_api_a1_get_job_status 200 type4 job8 DISABLED
485 ecs_api_a1_get_job_status 200 job8 DISABLED
488 cr_equal received_callbacks 3 30
489 cr_equal received_callbacks?id=job8-status 1
490 cr_api_check_all_ecs_events 200 job8-status DISABLED
492 prodstub_equal create/prod-d/job8 1
493 prodstub_equal delete/prod-d/job8 0
496 ecs_api_edp_put_producer 200 prod-d $CB_JOB/prod-d $CB_SV/prod-d type4 testdata/ecs/ei-type-1.json
498 if [ -z "$FLAT_A1_EI" ]; then
499 ecs_api_a1_get_job_ids 404 type4 NOWNER
501 ecs_api_a1_get_job_ids 200 type4 NOWNER job8
502 ecs_api_a1_get_job_ids 200 NOTYPE NOWNER job1 job2 job3 job8
505 if [ -z "$FLAT_A1_EI" ]; then
506 ecs_api_a1_get_job_status 200 type4 job8 ENABLED
508 ecs_api_a1_get_job_status 200 job8 ENABLED
511 ecs_api_edp_get_producer_status 200 prod-a ENABLED
512 ecs_api_edp_get_producer_status 200 prod-b ENABLED
513 ecs_api_edp_get_producer_status 200 prod-c ENABLED
514 ecs_api_edp_get_producer_status 200 prod-d ENABLED
516 cr_equal received_callbacks 4 30
517 cr_equal received_callbacks?id=job8-status 2
518 cr_api_check_all_ecs_events 200 job8-status ENABLED
520 prodstub_equal create/prod-d/job8 2
521 prodstub_equal delete/prod-d/job8 0
525 ecs_api_edp_put_producer 201 prod-e $CB_JOB/prod-e $CB_SV/prod-e type6 testdata/ecs/ei-type-6.json
527 ecs_api_a1_get_job_ids 200 type6 NOWNER EMPTY
529 if [ -z "$FLAT_A1_EI" ]; then
530 ecs_api_a1_put_job 201 type6 job10 $TARGET10 ricsim_g3_4 testdata/ecs/job-template.json
532 ecs_api_a1_put_job 201 job10 type6 $TARGET10 ricsim_g3_4 $STATUS10 testdata/ecs/job-template.json
535 prodstub_check_jobdata 200 prod-e job10 type6 $TARGET10 ricsim_g3_4 testdata/ecs/job-template.json
537 prodstub_equal create/prod-e/job10 1
538 prodstub_equal delete/prod-e/job10 0
540 ecs_api_a1_get_job_ids 200 type6 NOWNER job10
542 if [ -z "$FLAT_A1_EI" ]; then
543 ecs_api_a1_get_job_status 200 type6 job10 ENABLED
545 ecs_api_a1_get_job_status 200 job10 ENABLED
549 ecs_api_edp_put_producer 201 prod-f $CB_JOB/prod-f $CB_SV/prod-f type6 testdata/ecs/ei-type-6.json
551 ecs_api_a1_get_job_ids 200 type6 NOWNER job10
553 prodstub_check_jobdata 200 prod-f job10 type6 $TARGET10 ricsim_g3_4 testdata/ecs/job-template.json
555 prodstub_equal create/prod-f/job10 1
556 prodstub_equal delete/prod-f/job10 0
558 ecs_api_a1_get_job_ids 200 type6 NOWNER job10
560 if [ -z "$FLAT_A1_EI" ]; then
561 ecs_api_a1_get_job_status 200 type6 job10 ENABLED
563 ecs_api_a1_get_job_status 200 job10 ENABLED
566 ## Status updates prod-a and jobs
568 ecs_api_edp_get_producer_ids 200 prod-a prod-b prod-c prod-d prod-e prod-f
570 ecs_api_edp_get_producer_status 200 prod-a ENABLED
571 ecs_api_edp_get_producer_status 200 prod-b ENABLED
572 ecs_api_edp_get_producer_status 200 prod-c ENABLED
573 ecs_api_edp_get_producer_status 200 prod-d ENABLED
574 ecs_api_edp_get_producer_status 200 prod-e ENABLED
575 ecs_api_edp_get_producer_status 200 prod-f ENABLED
577 # Arm producer prod-a for supervision failure
578 prodstub_arm_producer 200 prod-a 400
580 # Wait for producer prod-a to go disabled
581 ecs_api_edp_get_producer_status 200 prod-a DISABLED 360
583 ecs_api_edp_get_producer_ids 200 prod-a prod-b prod-c prod-d prod-e prod-f
585 ecs_api_edp_get_producer_status 200 prod-a DISABLED
586 ecs_api_edp_get_producer_status 200 prod-b ENABLED
587 ecs_api_edp_get_producer_status 200 prod-c ENABLED
588 ecs_api_edp_get_producer_status 200 prod-d ENABLED
589 ecs_api_edp_get_producer_status 200 prod-e ENABLED
590 ecs_api_edp_get_producer_status 200 prod-f ENABLED
593 if [ -z "$FLAT_A1_EI" ]; then
594 ecs_api_a1_get_job_status 200 type1 job1 ENABLED
595 ecs_api_a1_get_job_status 200 type1 job2 ENABLED
596 ecs_api_a1_get_job_status 200 type2 job3 ENABLED
597 ecs_api_a1_get_job_status 200 type4 job8 ENABLED
598 ecs_api_a1_get_job_status 200 type6 job10 ENABLED
600 ecs_api_a1_get_job_status 200 job1 ENABLED
601 ecs_api_a1_get_job_status 200 job2 ENABLED
602 ecs_api_a1_get_job_status 200 job3 ENABLED
603 ecs_api_a1_get_job_status 200 job8 ENABLED
604 ecs_api_a1_get_job_status 200 job10 ENABLED
607 # Arm producer prod-a for supervision
608 prodstub_arm_producer 200 prod-a 200
610 # Wait for producer prod-a to go enabled
611 ecs_api_edp_get_producer_status 200 prod-a ENABLED 360
613 ecs_api_edp_get_producer_ids 200 prod-a prod-b prod-c prod-d prod-e prod-f
615 ecs_api_edp_get_producer_status 200 prod-a ENABLED
616 ecs_api_edp_get_producer_status 200 prod-b ENABLED
617 ecs_api_edp_get_producer_status 200 prod-c ENABLED
618 ecs_api_edp_get_producer_status 200 prod-d ENABLED
619 ecs_api_edp_get_producer_status 200 prod-e ENABLED
620 ecs_api_edp_get_producer_status 200 prod-f ENABLED
622 if [ -z "$FLAT_A1_EI" ]; then
623 ecs_api_a1_get_job_status 200 type1 job1 ENABLED
624 ecs_api_a1_get_job_status 200 type1 job2 ENABLED
625 ecs_api_a1_get_job_status 200 type2 job3 ENABLED
626 ecs_api_a1_get_job_status 200 type4 job8 ENABLED
627 ecs_api_a1_get_job_status 200 type6 job10 ENABLED
629 ecs_api_a1_get_job_status 200 job1 ENABLED
630 ecs_api_a1_get_job_status 200 job2 ENABLED
631 ecs_api_a1_get_job_status 200 job3 ENABLED
632 ecs_api_a1_get_job_status 200 job8 ENABLED
633 ecs_api_a1_get_job_status 200 job10 ENABLED
636 # Arm producer prod-a for supervision failure
637 prodstub_arm_producer 200 prod-a 400
639 # Wait for producer prod-a to go disabled
640 ecs_api_edp_get_producer_status 200 prod-a DISABLED 360
642 ecs_api_edp_get_producer_ids 200 prod-a prod-b prod-c prod-d prod-e prod-f
644 ecs_api_edp_get_producer_status 200 prod-a DISABLED
645 ecs_api_edp_get_producer_status 200 prod-b ENABLED
646 ecs_api_edp_get_producer_status 200 prod-c ENABLED
647 ecs_api_edp_get_producer_status 200 prod-d ENABLED
648 ecs_api_edp_get_producer_status 200 prod-e ENABLED
649 ecs_api_edp_get_producer_status 200 prod-f ENABLED
651 if [ -z "$FLAT_A1_EI" ]; then
652 ecs_api_a1_get_job_status 200 type1 job1 ENABLED
653 ecs_api_a1_get_job_status 200 type1 job2 ENABLED
654 ecs_api_a1_get_job_status 200 type2 job3 ENABLED
655 ecs_api_a1_get_job_status 200 type4 job8 ENABLED
656 ecs_api_a1_get_job_status 200 type6 job10 ENABLED
658 ecs_api_a1_get_job_status 200 job1 ENABLED
659 ecs_api_a1_get_job_status 200 job2 ENABLED
660 ecs_api_a1_get_job_status 200 job3 ENABLED
661 ecs_api_a1_get_job_status 200 job8 ENABLED
662 ecs_api_a1_get_job_status 200 job10 ENABLED
665 # Wait for producer prod-a to be removed
666 ecs_equal json:ei-producer/v1/eiproducers 5 1000
668 ecs_api_edp_get_producer_ids 200 prod-b prod-c prod-d prod-e prod-f
670 ecs_api_edp_get_producer_status 404 prod-a
671 ecs_api_edp_get_producer_status 200 prod-b ENABLED
672 ecs_api_edp_get_producer_status 200 prod-c ENABLED
673 ecs_api_edp_get_producer_status 200 prod-d ENABLED
674 ecs_api_edp_get_producer_status 200 prod-e ENABLED
675 ecs_api_edp_get_producer_status 200 prod-f ENABLED
677 if [ -z "$FLAT_A1_EI" ]; then
678 ecs_api_a1_get_job_status 200 type1 job1 DISABLED
679 ecs_api_a1_get_job_status 200 type1 job2 DISABLED
680 ecs_api_a1_get_job_status 200 type2 job3 ENABLED
681 ecs_api_a1_get_job_status 200 type4 job8 ENABLED
682 ecs_api_a1_get_job_status 200 type6 job10 ENABLED
684 ecs_api_a1_get_job_status 200 job1 DISABLED
685 ecs_api_a1_get_job_status 200 job2 DISABLED
686 ecs_api_a1_get_job_status 200 job3 ENABLED
687 ecs_api_a1_get_job_status 200 job8 ENABLED
688 ecs_api_a1_get_job_status 200 job10 ENABLED
691 cr_equal received_callbacks 6 30
692 cr_equal received_callbacks?id=job1-status 1
693 cr_equal received_callbacks?id=job2-status 1
695 cr_api_check_all_ecs_events 200 job1-status DISABLED
696 cr_api_check_all_ecs_events 200 job2-status DISABLED
699 # Arm producer prod-e for supervision failure
700 prodstub_arm_producer 200 prod-e 400
702 ecs_api_edp_get_producer_status 200 prod-e DISABLED 1000
704 ecs_api_edp_get_producer_ids 200 prod-b prod-c prod-d prod-e prod-f
706 ecs_api_edp_get_producer_status 404 prod-a
707 ecs_api_edp_get_producer_status 200 prod-b ENABLED
708 ecs_api_edp_get_producer_status 200 prod-c ENABLED
709 ecs_api_edp_get_producer_status 200 prod-d ENABLED
710 ecs_api_edp_get_producer_status 200 prod-e DISABLED
711 ecs_api_edp_get_producer_status 200 prod-f ENABLED
713 if [ -z "$FLAT_A1_EI" ]; then
714 ecs_api_a1_get_job_status 200 type1 job1 DISABLED
715 ecs_api_a1_get_job_status 200 type1 job2 DISABLED
716 ecs_api_a1_get_job_status 200 type2 job3 ENABLED
717 ecs_api_a1_get_job_status 200 type4 job8 ENABLED
718 ecs_api_a1_get_job_status 200 type6 job10 ENABLED
720 ecs_api_a1_get_job_status 200 job1 DISABLED
721 ecs_api_a1_get_job_status 200 job2 DISABLED
722 ecs_api_a1_get_job_status 200 job3 ENABLED
723 ecs_api_a1_get_job_status 200 job8 ENABLED
724 ecs_api_a1_get_job_status 200 job10 ENABLED
727 #Disable create for job10 in prod-e
728 prodstub_arm_job_create 200 prod-e job10 400
730 #Update tjob 10 - only prod-f will be updated
731 if [ -z "$FLAT_A1_EI" ]; then
732 ecs_api_a1_put_job 200 type6 job10 $TARGET10 ricsim_g3_4 testdata/ecs/job-template2.json
734 ecs_api_a1_put_job 200 job10 type6 $TARGET10 ricsim_g3_4 $STATUS10 testdata/ecs/job-template2.json
736 #Reset producer and job responses
737 prodstub_arm_producer 200 prod-e 200
738 prodstub_arm_job_create 200 prod-e job10 200
740 ecs_api_edp_get_producer_status 200 prod-e ENABLED 360
742 ecs_api_edp_get_producer_ids 200 prod-b prod-c prod-d prod-e prod-f
744 #Job 10 should be updated when the producer goes enabled
745 deviation "Job 10 should be updated when the producer prod-e goes enabled"
746 prodstub_check_jobdata 200 prod-e job10 type6 $TARGET10 ricsim_g3_4 testdata/ecs/job-template2.json
747 prodstub_check_jobdata 200 prod-f job10 type6 $TARGET10 ricsim_g3_4 testdata/ecs/job-template2.json
749 prodstub_arm_producer 200 prod-f 400
751 ecs_api_edp_get_producer_status 200 prod-f DISABLED 360
753 ecs_equal json:ei-producer/v1/eiproducers 4 1000
755 ecs_api_edp_get_producer_ids 200 prod-b prod-c prod-d prod-e
757 ecs_api_edp_get_producer_status 404 prod-a
758 ecs_api_edp_get_producer_status 200 prod-b ENABLED
759 ecs_api_edp_get_producer_status 200 prod-c ENABLED
760 ecs_api_edp_get_producer_status 200 prod-d ENABLED
761 ecs_api_edp_get_producer_status 200 prod-e ENABLED
762 ecs_api_edp_get_producer_status 404 prod-f
764 if [ -z "$FLAT_A1_EI" ]; then
765 ecs_api_a1_get_job_status 200 type1 job1 DISABLED
766 ecs_api_a1_get_job_status 200 type1 job2 DISABLED
767 ecs_api_a1_get_job_status 200 type2 job3 ENABLED
768 ecs_api_a1_get_job_status 200 type4 job8 ENABLED
769 ecs_api_a1_get_job_status 200 type6 job10 ENABLED
771 ecs_api_a1_get_job_status 200 job1 DISABLED
772 ecs_api_a1_get_job_status 200 job2 DISABLED
773 ecs_api_a1_get_job_status 200 job3 ENABLED
774 ecs_api_a1_get_job_status 200 job8 ENABLED
775 ecs_api_a1_get_job_status 200 job10 ENABLED
778 cr_equal received_callbacks 6
784 #### TEST COMPLETE ####
788 auto_clean_environment