Merge "Added some logging"
[nonrtric.git] / test / auto-test / FTC1100.sh
1 #!/bin/bash
2
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
9 #
10 #       http://www.apache.org/licenses/LICENSE-2.0
11 #
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=================================================
18 #
19
20
21 TC_ONELINE_DESCR="ECS full intefaces walkthrough"
22
23 #App names to include in the test when running docker, space separated list
24 DOCKER_INCLUDED_IMAGES="ECS PRODSTUB CR RICSIM CP"
25
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=" "
30
31 #Supported test environment profiles
32 SUPPORTED_PROFILES="ONAP-HONOLULU  ORAN-CHERRY ORAN-DAWN"
33 #Supported run modes
34 SUPPORTED_RUNMODES="DOCKER KUBE"
35
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
43
44 #### TEST BEGIN ####
45
46 FLAT_A1_EI="1"
47
48 clean_environment
49
50 use_ecs_rest_https
51
52 use_prod_stub_https
53
54 use_simulator_https
55
56 use_cr_https
57
58 start_ecs $SIM_GROUP/$ECS_COMPOSE_DIR/application.yaml
59
60 if [ $RUNMODE == "KUBE" ]; then
61     ecs_api_admin_reset
62 fi
63
64 start_prod_stub
65
66 set_ecs_trace
67
68 start_control_panel $SIM_GROUP/$CONTROL_PANEL_COMPOSE_DIR/application.properties
69
70 if [ "$PMS_VERSION" == "V2" ]; then
71     start_ric_simulators ricsim_g3 4  STD_2.0.0
72 fi
73
74 start_cr
75
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"
83
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"
89
90 ### Setup prodstub sim to accept calls for producers, types and jobs
91 ## prod-a type1
92 ## prod-b type1 and type2
93 ## prod-c no-type
94 ## prod-d type4
95 ## prod-e type6
96 ## prod-f type6
97
98 ## job1 -> prod-a
99 ## job2 -> prod-a
100 ## job3 -> prod-b
101 ## job4 -> prod-a
102 ## job6 -> prod-b
103 ## job8 -> prod-d
104 ## job10 -> prod-e and prod-f
105
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
112
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
119
120 prodstub_disarm_type 200 prod-b type3
121 prodstub_arm_type 200 prod-b type1
122 prodstub_disarm_type 200 prod-b type1
123
124
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
128
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
132
133 prodstub_arm_job_create 200 prod-b job4
134 prodstub_arm_job_create 200 prod-a job4
135
136 prodstub_arm_job_create 200 prod-b job6
137
138 prodstub_arm_job_create 200 prod-d job8
139
140 prodstub_arm_job_create 200 prod-e job10
141 prodstub_arm_job_create 200 prod-f job10
142
143 ### ecs status
144 ecs_api_service_status 200
145
146 cr_equal received_callbacks 0
147
148 ### Initial tests - no config made
149 ### GET: type ids, types, producer ids, producers, job ids, jobs
150 ### DELETE: jobs
151 ecs_api_a1_get_type_ids 200 EMPTY
152 ecs_api_a1_get_type 404 test-type
153
154 ecs_api_edp_get_type_ids 200 EMPTY
155 if [ $ECS_VERSION == "V1-1" ]; then
156     ecs_api_edp_get_type 404 test-type
157 else
158     ecs_api_edp_get_type_2 404 test-type
159 fi
160
161 if [ $ECS_VERSION == "V1-1" ]; then
162     ecs_api_edp_get_producer_ids 200 EMPTY
163     ecs_api_edp_get_producer 404 test-prod
164 else
165     ecs_api_edp_get_producer_ids_2 200 NOTYPE EMPTY
166     ecs_api_edp_get_producer_2 404 test-prod
167 fi
168 ecs_api_edp_get_producer_status 404 test-prod
169
170 ecs_api_edp_delete_producer 404 test-prod
171
172 if [  -z "$FLAT_A1_EI" ]; then
173     ecs_api_a1_get_job_ids 404 test-type NOWNER
174     ecs_api_a1_get_job_ids 404 test-type test-owner
175
176     ecs_api_a1_get_job 404 test-type test-job
177
178     ecs_api_a1_get_job_status 404 test-type test-job
179 else
180     ecs_api_a1_get_job_ids 200 test-type NOWNER EMPTY
181     ecs_api_a1_get_job_ids 200 test-type test-owner EMPTY
182
183     ecs_api_a1_get_job 404 test-job
184
185     ecs_api_a1_get_job_status 404 test-job
186 fi
187
188 if [  -z "$FLAT_A1_EI" ]; then
189     ecs_api_a1_delete_job 404 test-type test-job
190 else
191     ecs_api_a1_delete_job 404 test-job
192 fi
193
194 ecs_api_edp_get_producer_jobs 404 test-prod
195
196 if [ $ECS_VERSION == "V1-2" ]; then
197     ecs_api_edp_get_type_2 404 test-type
198     ecs_api_edp_delete_type_2 404 test-type
199 fi
200
201 ### Setup of producer/job and testing apis ###
202
203 ## Setup prod-a
204 if [ $ECS_VERSION == "V1-1" ]; then
205     ecs_api_edp_put_producer 201 prod-a $CB_JOB/prod-a $CB_SV/prod-a type1 testdata/ecs/ei-type-1.json
206     ecs_api_edp_put_producer 200 prod-a $CB_JOB/prod-a $CB_SV/prod-a type1 testdata/ecs/ei-type-1.json
207 else
208     #V1-2
209     ecs_api_edp_get_type_ids 200 EMPTY
210     ecs_api_edp_get_type_2 404 type1
211     ecs_api_edp_put_producer_2 404 prod-a $CB_JOB/prod-a $CB_SV/prod-a type1
212
213     # Create type, delete and create again
214     ecs_api_edp_put_type_2 201 type1 testdata/ecs/ei-type-1.json
215     ecs_api_edp_get_type_2 200 type1
216     ecs_api_edp_get_type_ids 200 type1
217     ecs_api_edp_delete_type_2 204 type1
218     ecs_api_edp_get_type_2 404 type1
219     ecs_api_edp_get_type_ids 200 EMPTY
220     ecs_api_edp_put_type_2 201 type1 testdata/ecs/ei-type-1.json
221     ecs_api_edp_get_type_ids 200 type1
222     ecs_api_edp_get_type_2 200 type1 testdata/ecs/ei-type-1.json
223
224     ecs_api_edp_put_producer_2 201 prod-a $CB_JOB/prod-a $CB_SV/prod-a type1
225     ecs_api_edp_put_producer_2 200 prod-a $CB_JOB/prod-a $CB_SV/prod-a type1
226
227     ecs_api_edp_delete_type_2 406 type1
228 fi
229
230
231 ecs_api_a1_get_type_ids 200 type1
232 if [  -z "$FLAT_A1_EI" ]; then
233     ecs_api_a1_get_type 200 type1 testdata/ecs/ei-type-1.json
234 else
235     ecs_api_a1_get_type 200 type1 testdata/ecs/empty-type.json
236 fi
237
238 ecs_api_edp_get_type_ids 200 type1
239 if [ $ECS_VERSION == "V1-1" ]; then
240     ecs_api_edp_get_type 200 type1 testdata/ecs/ei-type-1.json prod-a
241 else
242     ecs_api_edp_get_type_2 200 type1 testdata/ecs/ei-type-1.json
243 fi
244
245 if [ $ECS_VERSION == "V1-1" ]; then
246     ecs_api_edp_get_producer_ids 200 prod-a
247 else
248     ecs_api_edp_get_producer_ids_2 200 NOTYPE prod-a
249     ecs_api_edp_get_producer_ids_2 200 type1 prod-a
250     ecs_api_edp_get_producer_ids_2 200 type2 EMPTY
251 fi
252
253 if [ $ECS_VERSION == "V1-1" ]; then
254     ecs_api_edp_get_producer 200 prod-a $CB_JOB/prod-a $CB_SV/prod-a type1 testdata/ecs/ei-type-1.json
255 else
256     ecs_api_edp_get_producer_2 200 prod-a $CB_JOB/prod-a $CB_SV/prod-a type1
257 fi
258
259 ecs_api_edp_get_producer_status 200 prod-a ENABLED
260
261 ecs_api_a1_get_job_ids 200 type1 NOWNER EMPTY
262 ecs_api_a1_get_job_ids 200 type1 test-owner EMPTY
263
264 if [  -z "$FLAT_A1_EI" ]; then
265     ecs_api_a1_get_job 404 type1 test-job
266
267     ecs_api_a1_get_job_status 404 type1 test-job
268 else
269     ecs_api_a1_get_job 404 test-job
270
271     ecs_api_a1_get_job_status 404 test-job
272 fi
273
274 ecs_api_edp_get_producer_jobs 200 prod-a EMPTY
275
276 ## Create a job for prod-a
277 ## job1 - prod-a
278 if [  -z "$FLAT_A1_EI" ]; then
279     ecs_api_a1_put_job 201 type1 job1 $TARGET1 ricsim_g3_1 testdata/ecs/job-template.json
280 else
281     ecs_api_a1_put_job 201 job1 type1 $TARGET1 ricsim_g3_1 $STATUS1 testdata/ecs/job-template.json
282 fi
283
284 # Check the job data in the producer
285 prodstub_check_jobdata 200 prod-a job1 type1 $TARGET1 ricsim_g3_1 testdata/ecs/job-template.json
286
287 ecs_api_a1_get_job_ids 200 type1 NOWNER job1
288 ecs_api_a1_get_job_ids 200 type1 ricsim_g3_1 job1
289
290 if [ ! -z "$FLAT_A1_EI" ]; then
291     ecs_api_a1_get_job_ids 200 NOTYPE NOWNER job1
292 fi
293
294 if [  -z "$FLAT_A1_EI" ]; then
295     ecs_api_a1_get_job 200 type1 job1 $TARGET1 ricsim_g3_1 testdata/ecs/job-template.json
296
297     ecs_api_a1_get_job_status 200 type1 job1 ENABLED
298 else
299     ecs_api_a1_get_job 200 job1 type1 $TARGET1 ricsim_g3_1 $STATUS1 testdata/ecs/job-template.json
300
301     ecs_api_a1_get_job_status 200 job1 ENABLED
302 fi
303
304 prodstub_equal create/prod-a/job1 1
305
306 ecs_api_edp_get_producer_jobs 200 prod-a job1 type1 $TARGET1 ricsim_g3_1 testdata/ecs/job-template.json
307
308 ## Create a second job for prod-a
309 ## job2 - prod-a
310 if [  -z "$FLAT_A1_EI" ]; then
311     ecs_api_a1_put_job 201 type1 job2 $TARGET2 ricsim_g3_2 testdata/ecs/job-template.json
312 else
313     ecs_api_a1_put_job 201 job2 type1 $TARGET2 ricsim_g3_2 $STATUS2 testdata/ecs/job-template.json
314 fi
315
316 # Check the job data in the producer
317 prodstub_check_jobdata 200 prod-a job2 type1 $TARGET2 ricsim_g3_2 testdata/ecs/job-template.json
318
319 ecs_api_a1_get_job_ids 200 type1 NOWNER job1 job2
320 ecs_api_a1_get_job_ids 200 type1 ricsim_g3_1 job1
321 ecs_api_a1_get_job_ids 200 type1 ricsim_g3_2 job2
322 if [ ! -z "$FLAT_A1_EI" ]; then
323     ecs_api_a1_get_job_ids 200 NOTYPE NOWNER job1 job2
324 fi
325
326 if [  -z "$FLAT_A1_EI" ]; then
327     ecs_api_a1_get_job 200 type1 job2 $TARGET2 ricsim_g3_2 testdata/ecs/job-template.json
328
329     ecs_api_a1_get_job_status 200 type1 job2 ENABLED
330 else
331     ecs_api_a1_get_job 200 job2 type1 $TARGET2 ricsim_g3_2 $STATUS2 testdata/ecs/job-template.json
332
333     ecs_api_a1_get_job_status 200 job2 ENABLED
334 fi
335
336 prodstub_equal create/prod-a/job2 1
337
338 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
339
340 ## Setup prod-b
341 if [ $ECS_VERSION == "V1-1" ]; then
342     ecs_api_edp_put_producer 201 prod-b $CB_JOB/prod-b $CB_SV/prod-b type2 testdata/ecs/ei-type-2.json
343 else
344     ecs_api_edp_put_type_2 201 type2 testdata/ecs/ei-type-2.json
345     ecs_api_edp_put_producer_2 201 prod-b $CB_JOB/prod-b $CB_SV/prod-b type2
346 fi
347
348
349 ecs_api_a1_get_type_ids 200 type1 type2
350 if [  -z "$FLAT_A1_EI" ]; then
351     ecs_api_a1_get_type 200 type1 testdata/ecs/ei-type-1.json
352     ecs_api_a1_get_type 200 type2 testdata/ecs/ei-type-2.json
353 else
354     ecs_api_a1_get_type 200 type1 testdata/ecs/empty-type.json
355     ecs_api_a1_get_type 200 type2 testdata/ecs/empty-type.json
356 fi
357
358 ecs_api_edp_get_type_ids 200 type1 type2
359 if [ $ECS_VERSION == "V1-1" ]; then
360     ecs_api_edp_get_type 200 type1 testdata/ecs/ei-type-1.json prod-a
361     ecs_api_edp_get_type 200 type2 testdata/ecs/ei-type-2.json prod-b
362 else
363     ecs_api_edp_get_type_2 200 type1 testdata/ecs/ei-type-1.json
364     ecs_api_edp_get_type_2 200 type2 testdata/ecs/ei-type-2.json
365 fi
366
367 if [ $ECS_VERSION == "V1-1" ]; then
368     ecs_api_edp_get_producer_ids 200 prod-a prod-b
369 else
370     ecs_api_edp_get_producer_ids_2 200 NOTYPE prod-a prod-b
371 fi
372
373 if [ $ECS_VERSION == "V1-1" ]; then
374     ecs_api_edp_get_producer 200 prod-a $CB_JOB/prod-a $CB_SV/prod-a type1 testdata/ecs/ei-type-1.json
375     ecs_api_edp_get_producer 200 prod-b $CB_JOB/prod-b $CB_SV/prod-b type2 testdata/ecs/ei-type-2.json
376 else
377     ecs_api_edp_get_producer_2 200 prod-a $CB_JOB/prod-a $CB_SV/prod-a type1
378     ecs_api_edp_get_producer_2 200 prod-b $CB_JOB/prod-b $CB_SV/prod-b type2
379 fi
380
381 ecs_api_edp_get_producer_status 200 prod-b ENABLED
382
383 ## Create job for prod-b
384 ##  job3 - prod-b
385 if [  -z "$FLAT_A1_EI" ]; then
386     ecs_api_a1_put_job 201 type2 job3 $TARGET3 ricsim_g3_3 testdata/ecs/job-template.json
387 else
388     ecs_api_a1_put_job 201 job3 type2 $TARGET3 ricsim_g3_3 $STATUS3 testdata/ecs/job-template.json
389 fi
390
391 prodstub_equal create/prod-b/job3 1
392
393 # Check the job data in the producer
394 prodstub_check_jobdata 200 prod-b job3 type2 $TARGET3 ricsim_g3_3 testdata/ecs/job-template.json
395
396 ecs_api_a1_get_job_ids 200 type1 NOWNER job1 job2
397 ecs_api_a1_get_job_ids 200 type2 NOWNER job3
398 ecs_api_a1_get_job_ids 200 type1 ricsim_g3_1 job1
399 ecs_api_a1_get_job_ids 200 type1 ricsim_g3_2 job2
400 ecs_api_a1_get_job_ids 200 type2 ricsim_g3_3 job3
401
402 if [  -z "$FLAT_A1_EI" ]; then
403     ecs_api_a1_get_job 200 type2 job3 $TARGET3 ricsim_g3_3 testdata/ecs/job-template.json
404
405     ecs_api_a1_get_job_status 200 type2 job3 ENABLED
406 else
407     ecs_api_a1_get_job 200 job3 type2 $TARGET3 ricsim_g3_3 $STATUS3 testdata/ecs/job-template.json
408
409     ecs_api_a1_get_job_status 200 job3 ENABLED
410 fi
411
412 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
413 ecs_api_edp_get_producer_jobs 200 prod-b job3 type2 $TARGET3 ricsim_g3_3 testdata/ecs/job-template.json
414
415
416 ## Setup prod-c (no types)
417 if [ $ECS_VERSION == "V1-1" ]; then
418     ecs_api_edp_put_producer 201 prod-c $CB_JOB/prod-c $CB_SV/prod-c NOTYPE
419 else
420     ecs_api_edp_put_producer_2 201 prod-c $CB_JOB/prod-c $CB_SV/prod-c NOTYPE
421 fi
422
423 if [ $ECS_VERSION == "V1-1" ]; then
424     ecs_api_edp_get_producer_ids 200 prod-a prod-b prod-c
425 else
426     ecs_api_edp_get_producer_ids_2 200 NOTYPE prod-a prod-b prod-c
427 fi
428
429 if [ $ECS_VERSION == "V1-1" ]; then
430     ecs_api_edp_get_producer 200 prod-a $CB_JOB/prod-a $CB_SV/prod-a type1 testdata/ecs/ei-type-1.json
431     ecs_api_edp_get_producer 200 prod-b $CB_JOB/prod-b $CB_SV/prod-b type2 testdata/ecs/ei-type-2.json
432     ecs_api_edp_get_producer 200 prod-c $CB_JOB/prod-c $CB_SV/prod-c EMPTY
433 else
434     ecs_api_edp_get_producer_2 200 prod-a $CB_JOB/prod-a $CB_SV/prod-a type1
435     ecs_api_edp_get_producer_2 200 prod-b $CB_JOB/prod-b $CB_SV/prod-b type2
436     ecs_api_edp_get_producer_2 200 prod-c $CB_JOB/prod-c $CB_SV/prod-c EMPTY
437 fi
438
439 ecs_api_edp_get_producer_status 200 prod-c ENABLED
440
441
442 ## Delete job3 and prod-b and re-create if different order
443
444 # Delete job then producer
445 ecs_api_a1_get_job_ids 200 NOTYPE NOWNER job1 job2 job3
446 if [ $ECS_VERSION == "V1-1" ]; then
447     ecs_api_edp_get_producer_ids 200 prod-a prod-b prod-c
448 else
449     ecs_api_edp_get_producer_ids_2 200 NOTYPE prod-a prod-b prod-c
450 fi
451
452 if [  -z "$FLAT_A1_EI" ]; then
453     ecs_api_a1_delete_job 204 type2 job3
454 else
455     ecs_api_a1_delete_job 204 job3
456 fi
457
458 ecs_api_a1_get_job_ids 200 NOTYPE NOWNER job1 job2
459 if [ $ECS_VERSION == "V1-1" ]; then
460     ecs_api_edp_get_producer_ids 200 prod-a prod-b prod-c
461 else
462     ecs_api_edp_get_producer_ids_2 200 NOTYPE prod-a prod-b prod-c
463 fi
464
465 ecs_api_edp_delete_producer 204 prod-b
466
467 ecs_api_edp_get_producer_status 404 prod-b
468
469 ecs_api_a1_get_job_ids 200 NOTYPE NOWNER job1 job2
470 if [ $ECS_VERSION == "V1-1" ]; then
471     ecs_api_edp_get_producer_ids 200 prod-a prod-c
472 else
473     ecs_api_edp_get_producer_ids_2 200 NOTYPE prod-a prod-c
474 fi
475
476 prodstub_equal delete/prod-b/job3 1
477
478 if [  -z "$FLAT_A1_EI" ]; then
479     ecs_api_a1_put_job 404 type2 job3 $TARGET3 ricsim_g3_3 testdata/ecs/job-template.json
480 else
481     if [ $ECS_VERSION == "V1-1" ]; then
482         ecs_api_a1_put_job 404 job3 type2 $TARGET3 ricsim_g3_3 $STATUS3 testdata/ecs/job-template.json
483     else
484         ecs_api_a1_put_job 201 job3 type2 $TARGET3 ricsim_g3_3 $STATUS3 testdata/ecs/job-template.json
485         ecs_api_a1_get_job_status 200 job3 DISABLED
486     fi
487 fi
488
489 # Put producer then job
490 if [ $ECS_VERSION == "V1-1" ]; then
491     ecs_api_edp_put_producer 201 prod-b $CB_JOB/prod-b $CB_SV/prod-b type2 testdata/ecs/ei-type-2.json
492 else
493     ecs_api_edp_put_producer_2 201 prod-b $CB_JOB/prod-b $CB_SV/prod-b type2
494 fi
495
496 ecs_api_edp_get_producer_status 200 prod-b ENABLED
497
498 if [  -z "$FLAT_A1_EI" ]; then
499     ecs_api_a1_put_job 201 type2 job3 $TARGET3 ricsim_g3_3 testdata/ecs/job-template2.json
500     ecs_api_a1_get_job_status 200 type2 job3 ENABLED
501 else
502     if [ $ECS_VERSION == "V1-1" ]; then
503         ecs_api_a1_put_job 201 job3 type2 $TARGET3 ricsim_g3_3 $STATUS3 testdata/ecs/job-template2.json
504     else
505         ecs_api_a1_put_job 200 job3 type2 $TARGET3 ricsim_g3_3 $STATUS3 testdata/ecs/job-template2.json
506     fi
507     ecs_api_a1_get_job_status 200 job3 ENABLED
508 fi
509
510 prodstub_check_jobdata 200 prod-b job3 type2 $TARGET3 ricsim_g3_3 testdata/ecs/job-template2.json
511
512 ecs_api_a1_get_job_ids 200 NOTYPE NOWNER job1 job2 job3
513 if [ $ECS_VERSION == "V1-1" ]; then
514     ecs_api_edp_get_producer_ids 200 prod-a prod-b prod-c
515 else
516     ecs_api_edp_get_producer_ids_2 200 NOTYPE prod-a prod-b prod-c
517 fi
518
519 if [ $ECS_VERSION == "V1-1" ]; then
520     prodstub_equal create/prod-b/job3 2
521 else
522     prodstub_equal create/prod-b/job3 3
523 fi
524 prodstub_equal delete/prod-b/job3 1
525
526 # Delete only the producer
527 ecs_api_edp_delete_producer 204 prod-b
528
529 ecs_api_edp_get_producer_status 404 prod-b
530
531 ecs_api_a1_get_job_ids 200 NOTYPE NOWNER job1 job2 job3
532 if [ $ECS_VERSION == "V1-1" ]; then
533     ecs_api_edp_get_producer_ids 200 prod-a prod-c
534 else
535     ecs_api_edp_get_producer_ids_2 200 NOTYPE prod-a prod-c
536 fi
537
538 if [  -z "$FLAT_A1_EI" ]; then
539     ecs_api_a1_get_job_status 200 type2 job3 DISABLED
540 else
541     ecs_api_a1_get_job_status 200 job3 DISABLED
542 fi
543
544 cr_equal received_callbacks 1 30
545 cr_equal received_callbacks?id=job3-status 1
546 cr_api_check_all_ecs_events 200 job3-status DISABLED
547
548 # Re-create the producer
549 if [ $ECS_VERSION == "V1-1" ]; then
550     ecs_api_edp_put_producer 201 prod-b $CB_JOB/prod-b $CB_SV/prod-b type2 testdata/ecs/ei-type-2.json
551 else
552     ecs_api_edp_put_producer_2 201 prod-b $CB_JOB/prod-b $CB_SV/prod-b type2
553 fi
554
555 ecs_api_edp_get_producer_status 200 prod-b ENABLED
556
557 if [  -z "$FLAT_A1_EI" ]; then
558     ecs_api_a1_get_job_status 200 type2 job3 ENABLED
559 else
560     ecs_api_a1_get_job_status 200 job3 ENABLED
561 fi
562
563 cr_equal received_callbacks 2 30
564 cr_equal received_callbacks?id=job3-status 2
565 cr_api_check_all_ecs_events 200 job3-status ENABLED
566
567 prodstub_check_jobdata 200 prod-b job3 type2 $TARGET3 ricsim_g3_3 testdata/ecs/job-template2.json
568
569
570 ## Setup prod-d
571 if [ $ECS_VERSION == "V1-1" ]; then
572     ecs_api_edp_put_producer 201 prod-d $CB_JOB/prod-d $CB_SV/prod-d type4 testdata/ecs/ei-type-4.json
573 else
574     ecs_api_edp_put_type_2 201 type4 testdata/ecs/ei-type-1.json
575     ecs_api_edp_put_producer_2 201 prod-d $CB_JOB/prod-d $CB_SV/prod-d type4
576 fi
577
578 ecs_api_a1_get_job_ids 200 type4 NOWNER EMPTY
579
580 if [  -z "$FLAT_A1_EI" ]; then
581     ecs_api_a1_put_job 201 type4 job8 $TARGET8 ricsim_g3_4 testdata/ecs/job-template.json
582 else
583     ecs_api_a1_put_job 201 job8 type4 $TARGET8 ricsim_g3_4 $STATUS8 testdata/ecs/job-template.json
584 fi
585
586 prodstub_check_jobdata 200 prod-d job8 type4 $TARGET8 ricsim_g3_4 testdata/ecs/job-template.json
587
588 prodstub_equal create/prod-d/job8 1
589 prodstub_equal delete/prod-d/job8 0
590
591 ecs_api_a1_get_job_ids 200 type4 NOWNER job8
592
593 if [  -z "$FLAT_A1_EI" ]; then
594     ecs_api_a1_get_job_status 200 type4 job8 ENABLED
595 else
596     ecs_api_a1_get_job_status 200 job8 ENABLED
597 fi
598
599 # Re-PUT the producer with zero types
600 if [ $ECS_VERSION == "V1-1" ]; then
601     ecs_api_edp_put_producer 200 prod-d $CB_JOB/prod-d $CB_SV/prod-d NOTYPE
602 else
603     ecs_api_edp_put_producer_2 200 prod-d $CB_JOB/prod-d $CB_SV/prod-d NOTYPE
604 fi
605
606 if [  -z "$FLAT_A1_EI" ]; then
607     ecs_api_a1_get_job_ids 404 type4 NOWNER
608 else
609     ecs_api_a1_get_job_ids 200 type4 NOWNER job8
610     ecs_api_a1_get_job_ids 200 NOTYPE NOWNER job1 job2 job3 job8
611 fi
612
613 if [  -z "$FLAT_A1_EI" ]; then
614     ecs_api_a1_get_job_status 200 type4 job8 DISABLED
615 else
616     ecs_api_a1_get_job_status 200 job8 DISABLED
617 fi
618
619 cr_equal received_callbacks 3 30
620 cr_equal received_callbacks?id=job8-status 1
621 cr_api_check_all_ecs_events 200 job8-status DISABLED
622
623 prodstub_equal create/prod-d/job8 1
624 prodstub_equal delete/prod-d/job8 0
625
626 ## Re-setup prod-d
627 if [ $ECS_VERSION == "V1-1" ]; then
628     ecs_api_edp_put_producer 200 prod-d $CB_JOB/prod-d $CB_SV/prod-d type4 testdata/ecs/ei-type-4.json
629 else
630     ecs_api_edp_put_type_2 200 type4 testdata/ecs/ei-type-4.json
631     ecs_api_edp_put_producer_2 200 prod-d $CB_JOB/prod-d $CB_SV/prod-d type4
632 fi
633
634 if [  -z "$FLAT_A1_EI" ]; then
635     ecs_api_a1_get_job_ids 404 type4 NOWNER
636 else
637     ecs_api_a1_get_job_ids 200 type4 NOWNER job8
638     ecs_api_a1_get_job_ids 200 NOTYPE NOWNER job1 job2 job3 job8
639 fi
640
641 if [  -z "$FLAT_A1_EI" ]; then
642     ecs_api_a1_get_job_status 200 type4 job8 ENABLED
643 else
644     ecs_api_a1_get_job_status 200 job8 ENABLED
645 fi
646
647 ecs_api_edp_get_producer_status 200 prod-a ENABLED
648 ecs_api_edp_get_producer_status 200 prod-b ENABLED
649 ecs_api_edp_get_producer_status 200 prod-c ENABLED
650 ecs_api_edp_get_producer_status 200 prod-d ENABLED
651
652 cr_equal received_callbacks 4 30
653 cr_equal received_callbacks?id=job8-status 2
654 cr_api_check_all_ecs_events 200 job8-status ENABLED
655
656 prodstub_equal create/prod-d/job8 2
657 prodstub_equal delete/prod-d/job8 0
658
659
660 ## Setup prod-e
661 if [ $ECS_VERSION == "V1-1" ]; then
662     ecs_api_edp_put_producer 201 prod-e $CB_JOB/prod-e $CB_SV/prod-e type6 testdata/ecs/ei-type-6.json
663 else
664     ecs_api_edp_put_type_2 201 type6 testdata/ecs/ei-type-6.json
665     ecs_api_edp_put_producer_2 201 prod-e $CB_JOB/prod-e $CB_SV/prod-e type6
666 fi
667
668 ecs_api_a1_get_job_ids 200 type6 NOWNER EMPTY
669
670 if [  -z "$FLAT_A1_EI" ]; then
671     ecs_api_a1_put_job 201 type6 job10 $TARGET10 ricsim_g3_4 testdata/ecs/job-template.json
672 else
673     ecs_api_a1_put_job 201 job10 type6 $TARGET10 ricsim_g3_4 $STATUS10 testdata/ecs/job-template.json
674 fi
675
676 prodstub_check_jobdata 200 prod-e job10 type6 $TARGET10 ricsim_g3_4 testdata/ecs/job-template.json
677
678 prodstub_equal create/prod-e/job10 1
679 prodstub_equal delete/prod-e/job10 0
680
681 ecs_api_a1_get_job_ids 200 type6 NOWNER job10
682
683 if [  -z "$FLAT_A1_EI" ]; then
684     ecs_api_a1_get_job_status 200 type6 job10 ENABLED
685 else
686     ecs_api_a1_get_job_status 200 job10 ENABLED
687 fi
688
689 ## Setup prod-f
690 if [ $ECS_VERSION == "V1-1" ]; then
691     ecs_api_edp_put_producer 201 prod-f $CB_JOB/prod-f $CB_SV/prod-f type6 testdata/ecs/ei-type-6.json
692 else
693     ecs_api_edp_put_type_2 200 type6 testdata/ecs/ei-type-6.json
694     ecs_api_edp_put_producer_2 201 prod-f $CB_JOB/prod-f $CB_SV/prod-f type6
695 fi
696
697 ecs_api_a1_get_job_ids 200 type6 NOWNER job10
698
699 prodstub_check_jobdata 200 prod-f job10 type6 $TARGET10 ricsim_g3_4 testdata/ecs/job-template.json
700
701 prodstub_equal create/prod-f/job10 1
702 prodstub_equal delete/prod-f/job10 0
703
704 ecs_api_a1_get_job_ids 200 type6 NOWNER job10
705
706 if [  -z "$FLAT_A1_EI" ]; then
707     ecs_api_a1_get_job_status 200 type6 job10 ENABLED
708 else
709     ecs_api_a1_get_job_status 200 job10 ENABLED
710 fi
711
712 ## Status updates prod-a and jobs
713
714 if [ $ECS_VERSION == "V1-1" ]; then
715     ecs_api_edp_get_producer_ids 200 prod-a prod-b prod-c prod-d prod-e prod-f
716 else
717     ecs_api_edp_get_producer_ids_2 200 NOTYPE prod-a prod-b prod-c prod-d prod-e prod-f
718 fi
719
720 ecs_api_edp_get_producer_status 200 prod-a ENABLED
721 ecs_api_edp_get_producer_status 200 prod-b ENABLED
722 ecs_api_edp_get_producer_status 200 prod-c ENABLED
723 ecs_api_edp_get_producer_status 200 prod-d ENABLED
724 ecs_api_edp_get_producer_status 200 prod-e ENABLED
725 ecs_api_edp_get_producer_status 200 prod-f ENABLED
726
727 # Arm producer prod-a for supervision failure
728 prodstub_arm_producer 200 prod-a 400
729
730 # Wait for producer prod-a to go disabled
731 ecs_api_edp_get_producer_status 200 prod-a DISABLED 360
732
733 if [ $ECS_VERSION == "V1-1" ]; then
734     ecs_api_edp_get_producer_ids 200 prod-a prod-b prod-c prod-d  prod-e prod-f
735 else
736     ecs_api_edp_get_producer_ids_2 200 NOTYPE prod-a prod-b prod-c prod-d  prod-e prod-f
737 fi
738
739 ecs_api_edp_get_producer_status 200 prod-a DISABLED
740 ecs_api_edp_get_producer_status 200 prod-b ENABLED
741 ecs_api_edp_get_producer_status 200 prod-c ENABLED
742 ecs_api_edp_get_producer_status 200 prod-d ENABLED
743 ecs_api_edp_get_producer_status 200 prod-e ENABLED
744 ecs_api_edp_get_producer_status 200 prod-f ENABLED
745
746
747 if [  -z "$FLAT_A1_EI" ]; then
748     ecs_api_a1_get_job_status 200 type1 job1 ENABLED
749     ecs_api_a1_get_job_status 200 type1 job2 ENABLED
750     ecs_api_a1_get_job_status 200 type2 job3 ENABLED
751     ecs_api_a1_get_job_status 200 type4 job8 ENABLED
752     ecs_api_a1_get_job_status 200 type6 job10 ENABLED
753 else
754     ecs_api_a1_get_job_status 200 job1 ENABLED
755     ecs_api_a1_get_job_status 200 job2 ENABLED
756     ecs_api_a1_get_job_status 200 job3 ENABLED
757     ecs_api_a1_get_job_status 200 job8 ENABLED
758     ecs_api_a1_get_job_status 200 job10 ENABLED
759 fi
760
761 # Arm producer prod-a for supervision
762 prodstub_arm_producer 200 prod-a 200
763
764 # Wait for producer prod-a to go enabled
765 ecs_api_edp_get_producer_status 200 prod-a ENABLED 360
766
767 if [ $ECS_VERSION == "V1-1" ]; then
768     ecs_api_edp_get_producer_ids 200 prod-a prod-b prod-c prod-d prod-e prod-f
769 else
770     ecs_api_edp_get_producer_ids_2 200 NOTYPE prod-a prod-b prod-c prod-d prod-e prod-f
771 fi
772
773 ecs_api_edp_get_producer_status 200 prod-a ENABLED
774 ecs_api_edp_get_producer_status 200 prod-b ENABLED
775 ecs_api_edp_get_producer_status 200 prod-c ENABLED
776 ecs_api_edp_get_producer_status 200 prod-d ENABLED
777 ecs_api_edp_get_producer_status 200 prod-e ENABLED
778 ecs_api_edp_get_producer_status 200 prod-f ENABLED
779
780 if [  -z "$FLAT_A1_EI" ]; then
781     ecs_api_a1_get_job_status 200 type1 job1 ENABLED
782     ecs_api_a1_get_job_status 200 type1 job2 ENABLED
783     ecs_api_a1_get_job_status 200 type2 job3 ENABLED
784     ecs_api_a1_get_job_status 200 type4 job8 ENABLED
785     ecs_api_a1_get_job_status 200 type6 job10 ENABLED
786 else
787     ecs_api_a1_get_job_status 200 job1 ENABLED
788     ecs_api_a1_get_job_status 200 job2 ENABLED
789     ecs_api_a1_get_job_status 200 job3 ENABLED
790     ecs_api_a1_get_job_status 200 job8 ENABLED
791     ecs_api_a1_get_job_status 200 job10 ENABLED
792 fi
793
794 # Arm producer prod-a for supervision failure
795 prodstub_arm_producer 200 prod-a 400
796
797 # Wait for producer prod-a to go disabled
798 ecs_api_edp_get_producer_status 200 prod-a DISABLED 360
799
800 if [ $ECS_VERSION == "V1-1" ]; then
801     ecs_api_edp_get_producer_ids 200 prod-a prod-b prod-c prod-d prod-e prod-f
802 else
803     ecs_api_edp_get_producer_ids_2 200 NOTYPE prod-a prod-b prod-c prod-d prod-e prod-f
804 fi
805
806 ecs_api_edp_get_producer_status 200 prod-a DISABLED
807 ecs_api_edp_get_producer_status 200 prod-b ENABLED
808 ecs_api_edp_get_producer_status 200 prod-c ENABLED
809 ecs_api_edp_get_producer_status 200 prod-d ENABLED
810 ecs_api_edp_get_producer_status 200 prod-e ENABLED
811 ecs_api_edp_get_producer_status 200 prod-f ENABLED
812
813 if [  -z "$FLAT_A1_EI" ]; then
814     ecs_api_a1_get_job_status 200 type1 job1 ENABLED
815     ecs_api_a1_get_job_status 200 type1 job2 ENABLED
816     ecs_api_a1_get_job_status 200 type2 job3 ENABLED
817     ecs_api_a1_get_job_status 200 type4 job8 ENABLED
818     ecs_api_a1_get_job_status 200 type6 job10 ENABLED
819 else
820     ecs_api_a1_get_job_status 200 job1 ENABLED
821     ecs_api_a1_get_job_status 200 job2 ENABLED
822     ecs_api_a1_get_job_status 200 job3 ENABLED
823     ecs_api_a1_get_job_status 200 job8 ENABLED
824     ecs_api_a1_get_job_status 200 job10 ENABLED
825 fi
826
827 # Wait for producer prod-a to be removed
828 ecs_equal json:ei-producer/v1/eiproducers 5 1000
829
830 if [ $ECS_VERSION == "V1-1" ]; then
831     ecs_api_edp_get_producer_ids 200 prod-b prod-c prod-d prod-e prod-f
832 else
833     ecs_api_edp_get_producer_ids_2 200 NOTYPE prod-b prod-c prod-d prod-e prod-f
834 fi
835
836
837 ecs_api_edp_get_producer_status 404 prod-a
838 ecs_api_edp_get_producer_status 200 prod-b ENABLED
839 ecs_api_edp_get_producer_status 200 prod-c ENABLED
840 ecs_api_edp_get_producer_status 200 prod-d ENABLED
841 ecs_api_edp_get_producer_status 200 prod-e ENABLED
842 ecs_api_edp_get_producer_status 200 prod-f ENABLED
843
844 if [  -z "$FLAT_A1_EI" ]; then
845     ecs_api_a1_get_job_status 200 type1 job1 DISABLED
846     ecs_api_a1_get_job_status 200 type1 job2 DISABLED
847     ecs_api_a1_get_job_status 200 type2 job3 ENABLED
848     ecs_api_a1_get_job_status 200 type4 job8 ENABLED
849     ecs_api_a1_get_job_status 200 type6 job10 ENABLED
850 else
851     ecs_api_a1_get_job_status 200 job1 DISABLED
852     ecs_api_a1_get_job_status 200 job2 DISABLED
853     ecs_api_a1_get_job_status 200 job3 ENABLED
854     ecs_api_a1_get_job_status 200 job8 ENABLED
855     ecs_api_a1_get_job_status 200 job10 ENABLED
856 fi
857
858 cr_equal received_callbacks 6 30
859 cr_equal received_callbacks?id=job1-status 1
860 cr_equal received_callbacks?id=job2-status 1
861
862 cr_api_check_all_ecs_events 200 job1-status DISABLED
863 cr_api_check_all_ecs_events 200 job2-status DISABLED
864
865
866 # Arm producer prod-e for supervision failure
867 prodstub_arm_producer 200 prod-e 400
868
869 ecs_api_edp_get_producer_status 200 prod-e DISABLED 1000
870
871 if [ $ECS_VERSION == "V1-1" ]; then
872     ecs_api_edp_get_producer_ids 200 prod-b prod-c prod-d prod-e prod-f
873 else
874     ecs_api_edp_get_producer_ids_2 200 NOTYPE prod-b prod-c prod-d prod-e prod-f
875 fi
876
877 ecs_api_edp_get_producer_status 404 prod-a
878 ecs_api_edp_get_producer_status 200 prod-b ENABLED
879 ecs_api_edp_get_producer_status 200 prod-c ENABLED
880 ecs_api_edp_get_producer_status 200 prod-d ENABLED
881 ecs_api_edp_get_producer_status 200 prod-e DISABLED
882 ecs_api_edp_get_producer_status 200 prod-f ENABLED
883
884 if [  -z "$FLAT_A1_EI" ]; then
885     ecs_api_a1_get_job_status 200 type1 job1 DISABLED
886     ecs_api_a1_get_job_status 200 type1 job2 DISABLED
887     ecs_api_a1_get_job_status 200 type2 job3 ENABLED
888     ecs_api_a1_get_job_status 200 type4 job8 ENABLED
889     ecs_api_a1_get_job_status 200 type6 job10 ENABLED
890 else
891     ecs_api_a1_get_job_status 200 job1 DISABLED
892     ecs_api_a1_get_job_status 200 job2 DISABLED
893     ecs_api_a1_get_job_status 200 job3 ENABLED
894     ecs_api_a1_get_job_status 200 job8 ENABLED
895     ecs_api_a1_get_job_status 200 job10 ENABLED
896 fi
897
898 #Disable create for job10 in prod-e
899 prodstub_arm_job_create 200 prod-e job10 400
900
901 #Update tjob 10 - only prod-f will be updated
902 if [  -z "$FLAT_A1_EI" ]; then
903     ecs_api_a1_put_job 200 type6 job10 $TARGET10 ricsim_g3_4 testdata/ecs/job-template2.json
904 else
905     ecs_api_a1_put_job 200 job10 type6 $TARGET10 ricsim_g3_4 $STATUS10 testdata/ecs/job-template2.json
906 fi
907 #Reset producer and job responses
908 prodstub_arm_producer 200 prod-e 200
909 prodstub_arm_job_create 200 prod-e job10 200
910
911 ecs_api_edp_get_producer_status 200 prod-e ENABLED 360
912
913 if [ $ECS_VERSION == "V1-1" ]; then
914     ecs_api_edp_get_producer_ids 200 prod-b prod-c prod-d prod-e prod-f
915 else
916     ecs_api_edp_get_producer_ids_2 200 NOTYPE prod-b prod-c prod-d prod-e prod-f
917 fi
918
919 #Wait for job to be updated
920 sleep_wait 120
921
922 prodstub_check_jobdata 200 prod-f job10 type6 $TARGET10 ricsim_g3_4 testdata/ecs/job-template2.json
923
924 prodstub_arm_producer 200 prod-f 400
925
926 ecs_api_edp_get_producer_status 200 prod-f DISABLED 360
927
928 ecs_equal json:ei-producer/v1/eiproducers 4 1000
929
930 if [ $ECS_VERSION == "V1-1" ]; then
931     ecs_api_edp_get_producer_ids 200 prod-b prod-c prod-d prod-e
932 else
933     ecs_api_edp_get_producer_ids_2 200 NOTYPE prod-b prod-c prod-d prod-e
934 fi
935
936 ecs_api_edp_get_producer_status 404 prod-a
937 ecs_api_edp_get_producer_status 200 prod-b ENABLED
938 ecs_api_edp_get_producer_status 200 prod-c ENABLED
939 ecs_api_edp_get_producer_status 200 prod-d ENABLED
940 ecs_api_edp_get_producer_status 200 prod-e ENABLED
941 ecs_api_edp_get_producer_status 404 prod-f
942
943 if [  -z "$FLAT_A1_EI" ]; then
944     ecs_api_a1_get_job_status 200 type1 job1 DISABLED
945     ecs_api_a1_get_job_status 200 type1 job2 DISABLED
946     ecs_api_a1_get_job_status 200 type2 job3 ENABLED
947     ecs_api_a1_get_job_status 200 type4 job8 ENABLED
948     ecs_api_a1_get_job_status 200 type6 job10 ENABLED
949 else
950     ecs_api_a1_get_job_status 200 job1 DISABLED
951     ecs_api_a1_get_job_status 200 job2 DISABLED
952     ecs_api_a1_get_job_status 200 job3 ENABLED
953     ecs_api_a1_get_job_status 200 job8 ENABLED
954     ecs_api_a1_get_job_status 200 job10 ENABLED
955 fi
956
957 cr_equal received_callbacks 6
958
959 check_ecs_logs
960
961 store_logs END
962
963 #### TEST COMPLETE ####
964
965 print_result
966
967 auto_clean_environment