ce95a7745a15cb63a47095cafb88634b91455af9
[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="ICS full interfaces walkthrough"
22
23 #App names to include in the test when running docker, space separated list
24 DOCKER_INCLUDED_IMAGES="ICS PRODSTUB CR RICSIM CP HTTPPROXY NGW KUBEPROXY"
25
26 #App names to include in the test when running kubernetes, space separated list
27 KUBE_INCLUDED_IMAGES="PRODSTUB CR ICS RICSIM CP HTTPPROXY KUBEPROXY NGW"
28 #Prestarted app (not started by script) to include in the test when running kubernetes, space separated list
29 KUBE_PRESTARTED_IMAGES=""
30
31 #Ignore image in DOCKER_INCLUDED_IMAGES, KUBE_INCLUDED_IMAGES if
32 #the image is not configured in the supplied env_file
33 #Used for images not applicable to all supported profile
34 CONDITIONALLY_IGNORED_IMAGES="NGW"
35
36 #Supported test environment profiles
37 SUPPORTED_PROFILES="ONAP-HONOLULU ONAP-ISTANBUL ONAP-JAKARTA ORAN-CHERRY ORAN-D-RELEASE ORAN-E-RELEASE ORAN-F-RELEASE"
38 #Supported run modes
39 SUPPORTED_RUNMODES="DOCKER KUBE"
40
41 . ../common/testcase_common.sh $@
42
43 setup_testenvironment
44
45 #### TEST BEGIN ####
46
47 FLAT_A1_EI="1"
48
49 clean_environment
50
51 start_kube_proxy
52
53 use_ics_rest_https
54
55 use_prod_stub_https
56
57 use_simulator_https
58
59 use_cr_https
60
61 start_http_proxy
62
63 start_ics NOPROXY $SIM_GROUP/$ICS_COMPOSE_DIR/$ICS_CONFIG_FILE  #Change NOPROXY to PROXY to run with http proxy
64
65 if [ $RUNMODE == "KUBE" ]; then
66     ics_api_admin_reset
67 fi
68
69 start_prod_stub
70
71 set_ics_debug
72
73 start_control_panel $SIM_GROUP/$CONTROL_PANEL_COMPOSE_DIR/$CONTROL_PANEL_CONFIG_FILE
74
75 if [ ! -z "$NRT_GATEWAY_APP_NAME" ]; then
76     start_gateway $SIM_GROUP/$NRT_GATEWAY_COMPOSE_DIR/$NRT_GATEWAY_CONFIG_FILE
77 fi
78
79 if [ "$A1PMS_VERSION" == "V2" ]; then
80     start_ric_simulators ricsim_g3 4  STD_2.0.0
81 fi
82
83 start_cr 1
84
85 CB_JOB="$PROD_STUB_SERVICE_PATH$PROD_STUB_JOB_CALLBACK"
86 CB_SV="$PROD_STUB_SERVICE_PATH$PROD_STUB_SUPERVISION_CALLBACK"
87 #Targets for ei jobs
88 TARGET1="$RIC_SIM_HTTPX://ricsim_g3_1:$RIC_SIM_PORT/datadelivery"
89 TARGET2="$RIC_SIM_HTTPX://ricsim_g3_2:$RIC_SIM_PORT/datadelivery"
90 TARGET3="$RIC_SIM_HTTPX://ricsim_g3_3:$RIC_SIM_PORT/datadelivery"
91 TARGET8="$RIC_SIM_HTTPX://ricsim_g3_4:$RIC_SIM_PORT/datadelivery"
92 TARGET10="$RIC_SIM_HTTPX://ricsim_g3_4:$RIC_SIM_PORT/datadelivery"
93
94 #Targets for info jobs
95 TARGET101="http://localhost:80/target"  # Dummy target, no target for info data in this env...
96 TARGET102="http://localhost:80/target"  # Dummy target, no target for info data in this env...
97 TARGET103="http://localhost:80/target"  # Dummy target, no target for info data in this env...
98 TARGET108="http://localhost:80/target"  # Dummy target, no target for info data in this env...
99 TARGET110="http://localhost:80/target"  # Dummy target, no target for info data in this env...
100 TARGET150="http://localhost:80/target"  # Dummy target, no target for info data in this env...
101 TARGET160="http://localhost:80/target"  # Dummy target, no target for info data in this env...
102
103 #Status callbacks for eijobs
104 STATUS1="$CR_SERVICE_APP_PATH_0/job1-status"
105 STATUS2="$CR_SERVICE_APP_PATH_0/job2-status"
106 STATUS3="$CR_SERVICE_APP_PATH_0/job3-status"
107 STATUS8="$CR_SERVICE_APP_PATH_0/job8-status"
108 STATUS10="$CR_SERVICE_APP_PATH_0/job10-status"
109
110 #Status callbacks for infojobs
111 INFOSTATUS101="$CR_SERVICE_APP_PATH_0/info-job101-status"
112 INFOSTATUS102="$CR_SERVICE_APP_PATH_0/info-job102-status"
113 INFOSTATUS103="$CR_SERVICE_APP_PATH_0/info-job103-status"
114 INFOSTATUS108="$CR_SERVICE_APP_PATH_0/info-job108-status"
115 INFOSTATUS110="$CR_SERVICE_APP_PATH_0/info-job110-status"
116 INFOSTATUS150="$CR_SERVICE_APP_PATH_0/info-job150-status"
117 INFOSTATUS160="$CR_SERVICE_APP_PATH_0/info-job160-status"
118
119 if [[ "$ICS_FEATURE_LEVEL" == *"TYPE-SUBSCRIPTIONS"* ]]; then
120     #Type registration status callbacks
121     TYPESTATUS1="$CR_SERVICE_APP_PATH_0/type-status1"
122     TYPESTATUS2="$CR_SERVICE_APP_PATH_0/type-status2"
123
124     ics_api_idc_put_subscription 201 subscription-id-1 owner1 $TYPESTATUS1
125
126     ics_api_idc_get_subscription_ids 200 NOOWNER subscription-id-1
127
128     ics_api_idc_get_subscription_ids 200 owner1 subscription-id-1
129
130     ics_api_idc_get_subscription_ids 200 test EMPTY
131
132     ics_api_idc_get_subscription 200 subscription-id-1 owner1 $TYPESTATUS1
133
134     ics_api_idc_get_subscription 404 test
135
136     ics_api_idc_put_subscription 200 subscription-id-1 owner1 $TYPESTATUS1
137
138     ics_api_idc_put_subscription 200 subscription-id-1 owner1 $TYPESTATUS1
139
140     ics_api_idc_put_subscription 201 subscription-id-2 owner2 $TYPESTATUS2
141
142     ics_api_idc_get_subscription_ids 200 NOOWNER subscription-id-1 subscription-id-2
143
144     ics_api_idc_get_subscription_ids 200 owner1 subscription-id-1
145
146     ics_api_idc_get_subscription_ids 200 owner2 subscription-id-2
147
148     ics_api_idc_get_subscription 200 subscription-id-1 owner1 $TYPESTATUS1
149     ics_api_idc_get_subscription 200 subscription-id-2 owner2 $TYPESTATUS2
150
151     ics_api_idc_delete_subscription 204 subscription-id-2
152
153     ics_api_idc_get_subscription_ids 200 NOOWNER subscription-id-1
154
155     ics_api_edp_put_type_2 201 type1 testdata/ics/ei-type-1.json
156
157     cr_equal 0 received_callbacks 1 30
158     cr_equal 0 received_callbacks?id=type-status1 1
159     cr_api_check_all_ics_subscription_events 200 0 type-status1 type1 testdata/ics/ei-type-1.json REGISTERED
160
161     ics_api_edp_delete_type_2 204 type1
162
163     cr_equal 0 received_callbacks 2 30
164     cr_equal 0 received_callbacks?id=type-status1 2
165     cr_api_check_all_ics_subscription_events 200 0 type-status1 type1 testdata/ics/ei-type-1.json DEREGISTERED
166
167     ics_api_idc_put_subscription 201 subscription-id-2 owner2 $TYPESTATUS2
168     ics_api_idc_get_subscription_ids 200 NOOWNER subscription-id-1 subscription-id-2
169
170     ics_api_edp_put_type_2 201 type1 testdata/ics/ei-type-1.json
171
172     cr_equal 0 received_callbacks 4 30
173     cr_equal 0 received_callbacks?id=type-status1 3
174     cr_equal 0 received_callbacks?id=type-status2 1
175     cr_api_check_all_ics_subscription_events 200 0 type-status1 type1 testdata/ics/ei-type-1.json REGISTERED
176
177     ics_api_idc_delete_subscription 204 subscription-id-2
178
179     ics_api_edp_delete_type_2 204 type1
180
181     cr_equal 0 received_callbacks 5 30
182     cr_equal 0 received_callbacks?id=type-status1 4
183     cr_equal 0 received_callbacks?id=type-status2 1
184     cr_api_check_all_ics_subscription_events 200 0 type-status1 type1 testdata/ics/ei-type-1.json DEREGISTERED
185
186     cr_api_reset 0
187 fi
188
189 ### Setup prodstub sim to accept calls for producers, types and jobs
190 ## prod-a type1
191 ## prod-b type1 and type2
192 ## prod-c no-type
193 ## prod-d type4
194 ## prod-e type6
195 ## prod-f type6
196
197 ## job1 -> prod-a
198 ## job2 -> prod-a
199 ## job3 -> prod-b
200 ## job4 -> prod-a
201 ## job6 -> prod-b
202 ## job8 -> prod-d
203 ## job10 -> prod-e and prod-f
204
205 prodstub_arm_producer 200 prod-a
206 prodstub_arm_producer 200 prod-b
207 prodstub_arm_producer 200 prod-c
208 prodstub_arm_producer 200 prod-d
209 prodstub_arm_producer 200 prod-e
210 prodstub_arm_producer 200 prod-f
211
212 prodstub_arm_type 200 prod-a type1
213 prodstub_arm_type 200 prod-b type2
214 prodstub_arm_type 200 prod-b type3
215 prodstub_arm_type 200 prod-d type4
216 prodstub_arm_type 200 prod-e type6
217 prodstub_arm_type 200 prod-f type6
218
219 prodstub_disarm_type 200 prod-b type3
220 prodstub_arm_type 200 prod-b type1
221 prodstub_disarm_type 200 prod-b type1
222
223
224 prodstub_arm_job_create 200 prod-a job1
225 prodstub_arm_job_create 200 prod-a job2
226 prodstub_arm_job_create 200 prod-b job3
227
228 prodstub_arm_job_delete 200 prod-a job1
229 prodstub_arm_job_delete 200 prod-a job2
230 prodstub_arm_job_delete 200 prod-b job3
231
232 prodstub_arm_job_create 200 prod-b job4
233 prodstub_arm_job_create 200 prod-a job4
234
235 prodstub_arm_job_create 200 prod-b job6
236
237 prodstub_arm_job_create 200 prod-d job8
238
239 prodstub_arm_job_create 200 prod-e job10
240 prodstub_arm_job_create 200 prod-f job10
241
242 ### ics status
243 ics_api_service_status 200
244
245 cr_equal 0 received_callbacks 0
246
247 ### Initial tests - no config made
248 ### GET: type ids, types, producer ids, producers, job ids, jobs
249 ### DELETE: jobs
250 ics_api_a1_get_type_ids 200 EMPTY
251 ics_api_a1_get_type 404 test-type
252
253 ics_api_edp_get_type_ids 200 EMPTY
254 if [ $ICS_VERSION == "V1-1" ]; then
255     ics_api_edp_get_type 404 test-type
256 else
257     ics_api_edp_get_type_2 404 test-type
258 fi
259
260 if [ $ICS_VERSION == "V1-1" ]; then
261     ics_api_edp_get_producer_ids 200 EMPTY
262     ics_api_edp_get_producer 404 test-prod
263 else
264     ics_api_edp_get_producer_ids_2 200 NOTYPE EMPTY
265     ics_api_edp_get_producer_2 404 test-prod
266 fi
267 ics_api_edp_get_producer_status 404 test-prod
268
269 ics_api_edp_delete_producer 404 test-prod
270
271 if [  -z "$FLAT_A1_EI" ]; then
272     ics_api_a1_get_job_ids 404 test-type NOWNER
273     ics_api_a1_get_job_ids 404 test-type test-owner
274
275     ics_api_a1_get_job 404 test-type test-job
276
277     ics_api_a1_get_job_status 404 test-type test-job
278 else
279     ics_api_a1_get_job_ids 200 test-type NOWNER EMPTY
280     ics_api_a1_get_job_ids 200 test-type test-owner EMPTY
281
282     ics_api_a1_get_job 404 test-job
283
284     ics_api_a1_get_job_status 404 test-job
285 fi
286
287 if [  -z "$FLAT_A1_EI" ]; then
288     ics_api_a1_delete_job 404 test-type test-job
289 else
290     ics_api_a1_delete_job 404 test-job
291 fi
292
293 if [ $ICS_VERSION == "V1-1" ]; then
294     ics_api_edp_get_producer_jobs 404 test-prod
295 else
296     ics_api_edp_get_producer_jobs_2 404 test-prod
297 fi
298
299 if [ $ICS_VERSION == "V1-2" ]; then
300     ics_api_edp_get_type_2 404 test-type
301     ics_api_edp_delete_type_2 404 test-type
302 fi
303
304 ### Setup of producer/job and testing apis ###
305
306 ## Setup prod-a
307 if [ $ICS_VERSION == "V1-1" ]; then
308     ics_api_edp_put_producer 201 prod-a $CB_JOB/prod-a $CB_SV/prod-a type1 testdata/ics/ei-type-1.json
309     ics_api_edp_put_producer 200 prod-a $CB_JOB/prod-a $CB_SV/prod-a type1 testdata/ics/ei-type-1.json
310 else
311     #V1-2
312     ics_api_edp_get_type_ids 200 EMPTY
313     ics_api_edp_get_type_2 404 type1
314     ics_api_edp_put_producer_2 404 prod-a $CB_JOB/prod-a $CB_SV/prod-a type1
315
316     # Create type, delete and create again
317     ics_api_edp_put_type_2 201 type1 testdata/ics/ei-type-1.json
318     ics_api_edp_get_type_2 200 type1
319     ics_api_edp_get_type_ids 200 type1
320     ics_api_edp_delete_type_2 204 type1
321     ics_api_edp_get_type_2 404 type1
322     ics_api_edp_get_type_ids 200 EMPTY
323     if [[ "$ICS_FEATURE_LEVEL" == *"INFO-TYPE-INFO"* ]]; then
324         ics_api_edp_put_type_2 201 type1 testdata/ics/ei-type-1.json testdata/ics/info-type-info.json
325     else
326         ics_api_edp_put_type_2 201 type1 testdata/ics/ei-type-1.json
327     fi
328     ics_api_edp_get_type_ids 200 type1
329     if [[ "$ICS_FEATURE_LEVEL" == *"INFO-TYPE-INFO"* ]]; then
330         ics_api_edp_get_type_2 200 type1 testdata/ics/ei-type-1.json testdata/ics/info-type-info.json
331     else
332         ics_api_edp_get_type_2 200 type1 testdata/ics/ei-type-1.json
333     fi
334
335     ics_api_edp_put_producer_2 201 prod-a $CB_JOB/prod-a $CB_SV/prod-a type1
336     ics_api_edp_put_producer_2 200 prod-a $CB_JOB/prod-a $CB_SV/prod-a type1
337
338     if [[ "$ICS_FEATURE_LEVEL" == *"TYPE-SUBSCRIPTIONS"* ]]; then
339         cr_equal 0 received_callbacks 3 30
340         cr_equal 0 received_callbacks?id=type-status1 3
341         cr_api_check_all_ics_subscription_events 200 0 type-status1 type1 testdata/ics/ei-type-1.json REGISTERED type1 testdata/ics/ei-type-1.json DEREGISTERED type1 testdata/ics/ei-type-1.json REGISTERED
342     else
343         cr_equal 0 received_callbacks 0
344     fi
345 fi
346
347
348 ics_api_a1_get_type_ids 200 type1
349 if [  -z "$FLAT_A1_EI" ]; then
350     ics_api_a1_get_type 200 type1 testdata/ics/ei-type-1.json
351 else
352     ics_api_a1_get_type 200 type1 testdata/ics/empty-type.json
353 fi
354
355 ics_api_edp_get_type_ids 200 type1
356 if [ $ICS_VERSION == "V1-1" ]; then
357     ics_api_edp_get_type 200 type1 testdata/ics/ei-type-1.json prod-a
358 else
359     if [[ "$ICS_FEATURE_LEVEL" == *"INFO-TYPE-INFO"* ]]; then
360         ics_api_edp_get_type_2 200 type1 testdata/ics/ei-type-1.json testdata/ics/info-type-info.json
361     else
362         ics_api_edp_get_type_2 200 type1 testdata/ics/ei-type-1.json
363     fi
364 fi
365
366 if [ $ICS_VERSION == "V1-1" ]; then
367     ics_api_edp_get_producer_ids 200 prod-a
368 else
369     ics_api_edp_get_producer_ids_2 200 NOTYPE prod-a
370     ics_api_edp_get_producer_ids_2 200 type1 prod-a
371     ics_api_edp_get_producer_ids_2 200 type2 EMPTY
372 fi
373
374 if [ $ICS_VERSION == "V1-1" ]; then
375     ics_api_edp_get_producer 200 prod-a $CB_JOB/prod-a $CB_SV/prod-a type1 testdata/ics/ei-type-1.json
376 else
377     ics_api_edp_get_producer_2 200 prod-a $CB_JOB/prod-a $CB_SV/prod-a type1
378 fi
379
380 ics_api_edp_get_producer_status 200 prod-a ENABLED
381
382 ics_api_a1_get_job_ids 200 type1 NOWNER EMPTY
383 ics_api_a1_get_job_ids 200 type1 test-owner EMPTY
384
385 if [  -z "$FLAT_A1_EI" ]; then
386     ics_api_a1_get_job 404 type1 test-job
387
388     ics_api_a1_get_job_status 404 type1 test-job
389 else
390     ics_api_a1_get_job 404 test-job
391
392     ics_api_a1_get_job_status 404 test-job
393 fi
394 if [ $ICS_VERSION == "V1-1" ]; then
395     ics_api_edp_get_producer_jobs 200 prod-a EMPTY
396 else
397     ics_api_edp_get_producer_jobs_2 200 prod-a EMPTY
398 fi
399
400 ## Create a job for prod-a
401 ## job1 - prod-a
402 if [  -z "$FLAT_A1_EI" ]; then
403     ics_api_a1_put_job 201 type1 job1 $TARGET1 ricsim_g3_1 testdata/ics/job-template.json
404 else
405     ics_api_a1_put_job 201 job1 type1 $TARGET1 ricsim_g3_1 $STATUS1 testdata/ics/job-template.json
406 fi
407
408 # Check the job data in the producer
409 if [ $ICS_VERSION == "V1-1" ]; then
410     prodstub_check_jobdata 200 prod-a job1 type1 $TARGET1 ricsim_g3_1 testdata/ics/job-template.json
411 else
412     if [[ "$ICS_FEATURE_LEVEL" != *"INFO-TYPES"* ]]; then
413         prodstub_check_jobdata_2 200 prod-a job1 type1 $TARGET1 ricsim_g3_1 testdata/ics/job-template.json
414     else
415         prodstub_check_jobdata_3 200 prod-a job1 type1 $TARGET1 ricsim_g3_1 testdata/ics/job-template.json
416     fi
417 fi
418
419 ics_api_a1_get_job_ids 200 type1 NOWNER job1
420 ics_api_a1_get_job_ids 200 type1 ricsim_g3_1 job1
421
422 if [ ! -z "$FLAT_A1_EI" ]; then
423     ics_api_a1_get_job_ids 200 NOTYPE NOWNER job1
424 fi
425
426 if [  -z "$FLAT_A1_EI" ]; then
427     ics_api_a1_get_job 200 type1 job1 $TARGET1 ricsim_g3_1 testdata/ics/job-template.json
428
429     ics_api_a1_get_job_status 200 type1 job1 ENABLED
430 else
431     ics_api_a1_get_job 200 job1 type1 $TARGET1 ricsim_g3_1 $STATUS1 testdata/ics/job-template.json
432
433     ics_api_a1_get_job_status 200 job1 ENABLED
434 fi
435
436 prodstub_equal create/prod-a/job1 1
437
438 if [ $ICS_VERSION == "V1-1" ]; then
439     ics_api_edp_get_producer_jobs 200 prod-a job1 type1 $TARGET1 ricsim_g3_1 testdata/ics/job-template.json
440 else
441     ics_api_edp_get_producer_jobs_2 200 prod-a job1 type1 $TARGET1 ricsim_g3_1 testdata/ics/job-template.json
442 fi
443
444 ## Create a second job for prod-a
445 ## job2 - prod-a
446 if [  -z "$FLAT_A1_EI" ]; then
447     ics_api_a1_put_job 201 type1 job2 $TARGET2 ricsim_g3_2 testdata/ics/job-template.json
448 else
449     ics_api_a1_put_job 201 job2 type1 $TARGET2 ricsim_g3_2 $STATUS2 testdata/ics/job-template.json
450 fi
451
452 # Check the job data in the producer
453 if [ $ICS_VERSION == "V1-1" ]; then
454     prodstub_check_jobdata 200 prod-a job2 type1 $TARGET2 ricsim_g3_2 testdata/ics/job-template.json
455 else
456     if [[ "$ICS_FEATURE_LEVEL" != *"INFO-TYPES"* ]]; then
457         prodstub_check_jobdata_2 200 prod-a job2 type1 $TARGET2 ricsim_g3_2 testdata/ics/job-template.json
458     else
459         prodstub_check_jobdata_3 200 prod-a job2 type1 $TARGET2 ricsim_g3_2 testdata/ics/job-template.json
460     fi
461 fi
462 ics_api_a1_get_job_ids 200 type1 NOWNER job1 job2
463 ics_api_a1_get_job_ids 200 type1 ricsim_g3_1 job1
464 ics_api_a1_get_job_ids 200 type1 ricsim_g3_2 job2
465 if [ ! -z "$FLAT_A1_EI" ]; then
466     ics_api_a1_get_job_ids 200 NOTYPE NOWNER job1 job2
467 fi
468
469 if [  -z "$FLAT_A1_EI" ]; then
470     ics_api_a1_get_job 200 type1 job2 $TARGET2 ricsim_g3_2 testdata/ics/job-template.json
471
472     ics_api_a1_get_job_status 200 type1 job2 ENABLED
473 else
474     ics_api_a1_get_job 200 job2 type1 $TARGET2 ricsim_g3_2 $STATUS2 testdata/ics/job-template.json
475
476     ics_api_a1_get_job_status 200 job2 ENABLED
477 fi
478
479 prodstub_equal create/prod-a/job2 1
480
481 if [ $ICS_VERSION == "V1-1" ]; then
482     ics_api_edp_get_producer_jobs 200 prod-a job1 type1 $TARGET1 ricsim_g3_1 testdata/ics/job-template.json job2 type1 $TARGET2 ricsim_g3_2 testdata/ics/job-template.json
483 else
484     ics_api_edp_get_producer_jobs_2 200 prod-a job1 type1 $TARGET1 ricsim_g3_1 testdata/ics/job-template.json job2 type1 $TARGET2 ricsim_g3_2 testdata/ics/job-template.json
485 fi
486
487 ## Setup prod-b
488 if [ $ICS_VERSION == "V1-1" ]; then
489     ics_api_edp_put_producer 201 prod-b $CB_JOB/prod-b $CB_SV/prod-b type2 testdata/ics/ei-type-2.json
490 else
491     ics_api_edp_put_type_2 201 type2 testdata/ics/ei-type-2.json
492     ics_api_edp_put_producer_2 201 prod-b $CB_JOB/prod-b $CB_SV/prod-b type2
493     if [[ "$ICS_FEATURE_LEVEL" == *"TYPE-SUBSCRIPTIONS"* ]]; then
494         cr_equal 0 received_callbacks 4 30
495         cr_equal 0 received_callbacks?id=type-status1 4
496         cr_api_check_all_ics_subscription_events 200 0 type-status1 type2 testdata/ics/ei-type-2.json REGISTERED
497     else
498         cr_equal 0 received_callbacks 0
499     fi
500 fi
501
502
503 ics_api_a1_get_type_ids 200 type1 type2
504 if [  -z "$FLAT_A1_EI" ]; then
505     ics_api_a1_get_type 200 type1 testdata/ics/ei-type-1.json
506     ics_api_a1_get_type 200 type2 testdata/ics/ei-type-2.json
507 else
508     ics_api_a1_get_type 200 type1 testdata/ics/empty-type.json
509     ics_api_a1_get_type 200 type2 testdata/ics/empty-type.json
510 fi
511
512 ics_api_edp_get_type_ids 200 type1 type2
513 if [ $ICS_VERSION == "V1-1" ]; then
514     ics_api_edp_get_type 200 type1 testdata/ics/ei-type-1.json prod-a
515     ics_api_edp_get_type 200 type2 testdata/ics/ei-type-2.json prod-b
516 else
517     if [[ "$ICS_FEATURE_LEVEL" == *"INFO-TYPE-INFO"* ]]; then
518         ics_api_edp_get_type_2 200 type1 testdata/ics/ei-type-1.json testdata/ics/info-type-info.json
519     else
520         ics_api_edp_get_type_2 200 type1 testdata/ics/ei-type-1.json
521     fi
522     ics_api_edp_get_type_2 200 type2 testdata/ics/ei-type-2.json
523 fi
524
525 if [ $ICS_VERSION == "V1-1" ]; then
526     ics_api_edp_get_producer_ids 200 prod-a prod-b
527 else
528     ics_api_edp_get_producer_ids_2 200 NOTYPE prod-a prod-b
529 fi
530
531 if [ $ICS_VERSION == "V1-1" ]; then
532     ics_api_edp_get_producer 200 prod-a $CB_JOB/prod-a $CB_SV/prod-a type1 testdata/ics/ei-type-1.json
533     ics_api_edp_get_producer 200 prod-b $CB_JOB/prod-b $CB_SV/prod-b type2 testdata/ics/ei-type-2.json
534 else
535     ics_api_edp_get_producer_2 200 prod-a $CB_JOB/prod-a $CB_SV/prod-a type1
536     ics_api_edp_get_producer_2 200 prod-b $CB_JOB/prod-b $CB_SV/prod-b type2
537 fi
538
539 ics_api_edp_get_producer_status 200 prod-b ENABLED
540
541 ## Create job for prod-b
542 ##  job3 - prod-b
543 if [  -z "$FLAT_A1_EI" ]; then
544     ics_api_a1_put_job 201 type2 job3 $TARGET3 ricsim_g3_3 testdata/ics/job-template.json
545 else
546     ics_api_a1_put_job 201 job3 type2 $TARGET3 ricsim_g3_3 $STATUS3 testdata/ics/job-template.json
547 fi
548
549 prodstub_equal create/prod-b/job3 1
550
551 # Check the job data in the producer
552 if [ $ICS_VERSION == "V1-1" ]; then
553     prodstub_check_jobdata 200 prod-b job3 type2 $TARGET3 ricsim_g3_3 testdata/ics/job-template.json
554 else
555     if [[ "$ICS_FEATURE_LEVEL" != *"INFO-TYPES"* ]]; then
556         prodstub_check_jobdata_2 200 prod-b job3 type2 $TARGET3 ricsim_g3_3 testdata/ics/job-template.json
557     else
558         prodstub_check_jobdata_3 200 prod-b job3 type2 $TARGET3 ricsim_g3_3 testdata/ics/job-template.json
559     fi
560 fi
561
562 ics_api_a1_get_job_ids 200 type1 NOWNER job1 job2
563 ics_api_a1_get_job_ids 200 type2 NOWNER job3
564 ics_api_a1_get_job_ids 200 type1 ricsim_g3_1 job1
565 ics_api_a1_get_job_ids 200 type1 ricsim_g3_2 job2
566 ics_api_a1_get_job_ids 200 type2 ricsim_g3_3 job3
567
568 if [  -z "$FLAT_A1_EI" ]; then
569     ics_api_a1_get_job 200 type2 job3 $TARGET3 ricsim_g3_3 testdata/ics/job-template.json
570
571     ics_api_a1_get_job_status 200 type2 job3 ENABLED
572 else
573     ics_api_a1_get_job 200 job3 type2 $TARGET3 ricsim_g3_3 $STATUS3 testdata/ics/job-template.json
574
575     ics_api_a1_get_job_status 200 job3 ENABLED
576 fi
577
578 if [ $ICS_VERSION == "V1-1" ]; then
579     ics_api_edp_get_producer_jobs 200 prod-a job1 type1 $TARGET1 ricsim_g3_1 testdata/ics/job-template.json job2 type1 $TARGET2 ricsim_g3_2 testdata/ics/job-template.json
580     ics_api_edp_get_producer_jobs 200 prod-b job3 type2 $TARGET3 ricsim_g3_3 testdata/ics/job-template.json
581 else
582     ics_api_edp_get_producer_jobs_2 200 prod-a job1 type1 $TARGET1 ricsim_g3_1 testdata/ics/job-template.json job2 type1 $TARGET2 ricsim_g3_2 testdata/ics/job-template.json
583     ics_api_edp_get_producer_jobs_2 200 prod-b job3 type2 $TARGET3 ricsim_g3_3 testdata/ics/job-template.json
584 fi
585
586 ## Setup prod-c (no types)
587 if [ $ICS_VERSION == "V1-1" ]; then
588     ics_api_edp_put_producer 201 prod-c $CB_JOB/prod-c $CB_SV/prod-c NOTYPE
589 else
590     ics_api_edp_put_producer_2 201 prod-c $CB_JOB/prod-c $CB_SV/prod-c NOTYPE
591 fi
592
593 if [ $ICS_VERSION == "V1-1" ]; then
594     ics_api_edp_get_producer_ids 200 prod-a prod-b prod-c
595 else
596     ics_api_edp_get_producer_ids_2 200 NOTYPE prod-a prod-b prod-c
597 fi
598
599 if [ $ICS_VERSION == "V1-1" ]; then
600     ics_api_edp_get_producer 200 prod-a $CB_JOB/prod-a $CB_SV/prod-a type1 testdata/ics/ei-type-1.json
601     ics_api_edp_get_producer 200 prod-b $CB_JOB/prod-b $CB_SV/prod-b type2 testdata/ics/ei-type-2.json
602     ics_api_edp_get_producer 200 prod-c $CB_JOB/prod-c $CB_SV/prod-c EMPTY
603 else
604     ics_api_edp_get_producer_2 200 prod-a $CB_JOB/prod-a $CB_SV/prod-a type1
605     ics_api_edp_get_producer_2 200 prod-b $CB_JOB/prod-b $CB_SV/prod-b type2
606     ics_api_edp_get_producer_2 200 prod-c $CB_JOB/prod-c $CB_SV/prod-c EMPTY
607 fi
608
609 ics_api_edp_get_producer_status 200 prod-c ENABLED
610
611
612 ## Delete job3 and prod-b and re-create if different order
613
614 # Delete job then producer
615 ics_api_a1_get_job_ids 200 NOTYPE NOWNER job1 job2 job3
616 if [ $ICS_VERSION == "V1-1" ]; then
617     ics_api_edp_get_producer_ids 200 prod-a prod-b prod-c
618 else
619     ics_api_edp_get_producer_ids_2 200 NOTYPE prod-a prod-b prod-c
620 fi
621
622 if [  -z "$FLAT_A1_EI" ]; then
623     ics_api_a1_delete_job 204 type2 job3
624 else
625     ics_api_a1_delete_job 204 job3
626 fi
627
628 ics_api_a1_get_job_ids 200 NOTYPE NOWNER job1 job2
629 if [ $ICS_VERSION == "V1-1" ]; then
630     ics_api_edp_get_producer_ids 200 prod-a prod-b prod-c
631 else
632     ics_api_edp_get_producer_ids_2 200 NOTYPE prod-a prod-b prod-c
633 fi
634
635 ics_api_edp_delete_producer 204 prod-b
636
637 ics_api_edp_get_producer_status 404 prod-b
638
639 ics_api_a1_get_job_ids 200 NOTYPE NOWNER job1 job2
640 if [ $ICS_VERSION == "V1-1" ]; then
641     ics_api_edp_get_producer_ids 200 prod-a prod-c
642 else
643     ics_api_edp_get_producer_ids_2 200 NOTYPE prod-a prod-c
644 fi
645
646 prodstub_equal delete/prod-b/job3 1
647
648 if [  -z "$FLAT_A1_EI" ]; then
649     ics_api_a1_put_job 404 type2 job3 $TARGET3 ricsim_g3_3 testdata/ics/job-template.json
650 else
651     if [ $ICS_VERSION == "V1-1" ]; then
652         ics_api_a1_put_job 404 job3 type2 $TARGET3 ricsim_g3_3 $STATUS3 testdata/ics/job-template.json
653     else
654         ics_api_a1_put_job 201 job3 type2 $TARGET3 ricsim_g3_3 $STATUS3 testdata/ics/job-template.json
655         ics_api_a1_get_job_status 200 job3 DISABLED
656     fi
657 fi
658
659 # Put producer then job
660 if [ $ICS_VERSION == "V1-1" ]; then
661     ics_api_edp_put_producer 201 prod-b $CB_JOB/prod-b $CB_SV/prod-b type2 testdata/ics/ei-type-2.json
662 else
663     ics_api_edp_put_producer_2 201 prod-b $CB_JOB/prod-b $CB_SV/prod-b type2
664 fi
665
666 ics_api_edp_get_producer_status 200 prod-b ENABLED
667
668 if [  -z "$FLAT_A1_EI" ]; then
669     ics_api_a1_put_job 201 type2 job3 $TARGET3 ricsim_g3_3 testdata/ics/job-template2.json
670     ics_api_a1_get_job_status 200 type2 job3 ENABLED
671 else
672     if [ $ICS_VERSION == "V1-1" ]; then
673         ics_api_a1_put_job 201 job3 type2 $TARGET3 ricsim_g3_3 $STATUS3 testdata/ics/job-template2.json
674     else
675         ics_api_a1_put_job 200 job3 type2 $TARGET3 ricsim_g3_3 $STATUS3 testdata/ics/job-template2.json
676     fi
677     ics_api_a1_get_job_status 200 job3 ENABLED
678 fi
679
680 if [ $ICS_VERSION == "V1-1" ]; then
681     prodstub_check_jobdata 200 prod-b job3 type2 $TARGET3 ricsim_g3_3 testdata/ics/job-template2.json
682 else
683     if [[ "$ICS_FEATURE_LEVEL" != *"INFO-TYPES"* ]]; then
684         prodstub_check_jobdata_2 200 prod-b job3 type2 $TARGET3 ricsim_g3_3 testdata/ics/job-template2.json
685     else
686         prodstub_check_jobdata_3 200 prod-b job3 type2 $TARGET3 ricsim_g3_3 testdata/ics/job-template2.json
687     fi
688 fi
689
690 ics_api_a1_get_job_ids 200 NOTYPE NOWNER job1 job2 job3
691 if [ $ICS_VERSION == "V1-1" ]; then
692     ics_api_edp_get_producer_ids 200 prod-a prod-b prod-c
693 else
694     ics_api_edp_get_producer_ids_2 200 NOTYPE prod-a prod-b prod-c
695 fi
696
697 if [ $ICS_VERSION == "V1-1" ]; then
698     prodstub_equal create/prod-b/job3 2
699 else
700     prodstub_equal create/prod-b/job3 3
701 fi
702 prodstub_equal delete/prod-b/job3 1
703
704 # Delete only the producer
705 ics_api_edp_delete_producer 204 prod-b
706
707 ics_api_edp_get_producer_status 404 prod-b
708
709 ics_api_a1_get_job_ids 200 NOTYPE NOWNER job1 job2 job3
710 if [ $ICS_VERSION == "V1-1" ]; then
711     ics_api_edp_get_producer_ids 200 prod-a prod-c
712 else
713     ics_api_edp_get_producer_ids_2 200 NOTYPE prod-a prod-c
714 fi
715
716 if [  -z "$FLAT_A1_EI" ]; then
717     ics_api_a1_get_job_status 200 type2 job3 DISABLED
718 else
719     ics_api_a1_get_job_status 200 job3 DISABLED
720 fi
721
722 if [[ "$ICS_FEATURE_LEVEL" == *"TYPE-SUBSCRIPTIONS"* ]]; then
723     cr_equal 0 received_callbacks 5 30
724     cr_equal 0 received_callbacks?id=type-status1 4
725     cr_equal 0 received_callbacks?id=job3-status 1
726     cr_api_check_all_ics_events 200 0 job3-status DISABLED
727 else
728     cr_equal 0 received_callbacks 1 30
729     cr_equal 0 received_callbacks?id=job3-status 1
730     cr_api_check_all_ics_events 200 0 job3-status DISABLED
731 fi
732
733 # Re-create the producer
734 if [ $ICS_VERSION == "V1-1" ]; then
735     ics_api_edp_put_producer 201 prod-b $CB_JOB/prod-b $CB_SV/prod-b type2 testdata/ics/ei-type-2.json
736 else
737     ics_api_edp_put_producer_2 201 prod-b $CB_JOB/prod-b $CB_SV/prod-b type2
738 fi
739
740 ics_api_edp_get_producer_status 200 prod-b ENABLED
741
742 if [  -z "$FLAT_A1_EI" ]; then
743     ics_api_a1_get_job_status 200 type2 job3 ENABLED
744 else
745     ics_api_a1_get_job_status 200 job3 ENABLED
746 fi
747
748 if [[ "$ICS_FEATURE_LEVEL" == *"TYPE-SUBSCRIPTIONS"* ]]; then
749     cr_equal 0 received_callbacks 6 30
750     cr_equal 0 received_callbacks?id=type-status1 4
751     cr_equal 0 received_callbacks?id=job3-status 2
752     cr_api_check_all_ics_events 200 0 job3-status ENABLED
753 else
754     cr_equal 0 received_callbacks 2 30
755     cr_equal 0 received_callbacks?id=job3-status 2
756     cr_api_check_all_ics_events 200 0 job3-status ENABLED
757 fi
758
759 if [ $ICS_VERSION == "V1-1" ]; then
760     prodstub_check_jobdata 200 prod-b job3 type2 $TARGET3 ricsim_g3_3 testdata/ics/job-template2.json
761 else
762     if [[ "$ICS_FEATURE_LEVEL" != *"INFO-TYPES"* ]]; then
763         prodstub_check_jobdata_2 200 prod-b job3 type2 $TARGET3 ricsim_g3_3 testdata/ics/job-template2.json
764     else
765         prodstub_check_jobdata_3 200 prod-b job3 type2 $TARGET3 ricsim_g3_3 testdata/ics/job-template2.json
766     fi
767 fi
768
769 ## Setup prod-d
770 if [ $ICS_VERSION == "V1-1" ]; then
771     ics_api_edp_put_producer 201 prod-d $CB_JOB/prod-d $CB_SV/prod-d type4 testdata/ics/ei-type-4.json
772 else
773     ics_api_edp_put_type_2 201 type4 testdata/ics/ei-type-4.json
774     ics_api_edp_put_producer_2 201 prod-d $CB_JOB/prod-d $CB_SV/prod-d type4
775 fi
776
777 if [[ "$ICS_FEATURE_LEVEL" == *"TYPE-SUBSCRIPTIONS"* ]]; then
778     cr_equal 0 received_callbacks 7 30
779     cr_equal 0 received_callbacks?id=type-status1 5
780     cr_api_check_all_ics_subscription_events 200 0 type-status1 type4 testdata/ics/ei-type-4.json REGISTERED
781 fi
782
783 ics_api_a1_get_job_ids 200 type4 NOWNER EMPTY
784
785 if [  -z "$FLAT_A1_EI" ]; then
786     ics_api_a1_put_job 201 type4 job8 $TARGET8 ricsim_g3_4 testdata/ics/job-template.json
787 else
788     ics_api_a1_put_job 201 job8 type4 $TARGET8 ricsim_g3_4 $STATUS8 testdata/ics/job-template.json
789 fi
790
791 if [ $ICS_VERSION == "V1-1" ]; then
792     prodstub_check_jobdata 200 prod-d job8 type4 $TARGET8 ricsim_g3_4 testdata/ics/job-template.json
793 else
794     if [[ "$ICS_FEATURE_LEVEL" != *"INFO-TYPES"* ]]; then
795         prodstub_check_jobdata_2 200 prod-d job8 type4 $TARGET8 ricsim_g3_4 testdata/ics/job-template.json
796     else
797         prodstub_check_jobdata_3 200 prod-d job8 type4 $TARGET8 ricsim_g3_4 testdata/ics/job-template.json
798     fi
799 fi
800
801 prodstub_equal create/prod-d/job8 1
802 prodstub_equal delete/prod-d/job8 0
803
804 ics_api_a1_get_job_ids 200 type4 NOWNER job8
805
806 if [  -z "$FLAT_A1_EI" ]; then
807     ics_api_a1_get_job_status 200 type4 job8 ENABLED
808 else
809     ics_api_a1_get_job_status 200 job8 ENABLED
810 fi
811
812 # Re-PUT the producer with zero types
813 if [ $ICS_VERSION == "V1-1" ]; then
814     ics_api_edp_put_producer 200 prod-d $CB_JOB/prod-d $CB_SV/prod-d NOTYPE
815 else
816     ics_api_edp_put_producer_2 200 prod-d $CB_JOB/prod-d $CB_SV/prod-d NOTYPE
817 fi
818
819 if [  -z "$FLAT_A1_EI" ]; then
820     ics_api_a1_get_job_ids 404 type4 NOWNER
821 else
822     ics_api_a1_get_job_ids 200 type4 NOWNER job8
823     ics_api_a1_get_job_ids 200 NOTYPE NOWNER job1 job2 job3 job8
824 fi
825
826 if [  -z "$FLAT_A1_EI" ]; then
827     ics_api_a1_get_job_status 200 type4 job8 DISABLED
828 else
829     ics_api_a1_get_job_status 200 job8 DISABLED
830 fi
831
832 if [[ "$ICS_FEATURE_LEVEL" == *"TYPE-SUBSCRIPTIONS"* ]]; then
833     cr_equal 0 received_callbacks 8 30
834     cr_equal 0 received_callbacks?id=type-status1 5
835     cr_equal 0 received_callbacks?id=job8-status 1
836     cr_api_check_all_ics_events 200 0 job8-status DISABLED
837 else
838     cr_equal 0 received_callbacks 3 30
839     cr_equal 0 received_callbacks?id=job8-status 1
840     cr_api_check_all_ics_events 200 0 job8-status DISABLED
841 fi
842
843 prodstub_equal create/prod-d/job8 1
844 prodstub_equal delete/prod-d/job8 0
845
846 ## Re-setup prod-d
847 if [ $ICS_VERSION == "V1-1" ]; then
848     ics_api_edp_put_producer 200 prod-d $CB_JOB/prod-d $CB_SV/prod-d type4 testdata/ics/ei-type-4.json
849 else
850     ics_api_edp_put_type_2 200 type4 testdata/ics/ei-type-4.json
851     ics_api_edp_put_producer_2 200 prod-d $CB_JOB/prod-d $CB_SV/prod-d type4
852 fi
853
854 if [  -z "$FLAT_A1_EI" ]; then
855     ics_api_a1_get_job_ids 404 type4 NOWNER
856 else
857     ics_api_a1_get_job_ids 200 type4 NOWNER job8
858     ics_api_a1_get_job_ids 200 NOTYPE NOWNER job1 job2 job3 job8
859 fi
860
861 if [  -z "$FLAT_A1_EI" ]; then
862     ics_api_a1_get_job_status 200 type4 job8 ENABLED
863 else
864     ics_api_a1_get_job_status 200 job8 ENABLED
865 fi
866
867 ics_api_edp_get_producer_status 200 prod-a ENABLED
868 ics_api_edp_get_producer_status 200 prod-b ENABLED
869 ics_api_edp_get_producer_status 200 prod-c ENABLED
870 ics_api_edp_get_producer_status 200 prod-d ENABLED
871
872 if [[ "$ICS_FEATURE_LEVEL" == *"TYPE-SUBSCRIPTIONS"* ]]; then
873     cr_equal 0 received_callbacks 10 30
874     cr_equal 0 received_callbacks?id=type-status1 6
875     cr_api_check_all_ics_subscription_events 200 0 type-status1 type4 testdata/ics/ei-type-4.json REGISTERED
876
877     cr_equal 0 received_callbacks?id=job8-status 2
878     cr_api_check_all_ics_events 200 0 job8-status ENABLED
879 else
880     cr_equal 0 received_callbacks 4 30
881     cr_equal 0 received_callbacks?id=job8-status 2
882     cr_api_check_all_ics_events 200 0 job8-status ENABLED
883 fi
884
885 prodstub_equal create/prod-d/job8 2
886 prodstub_equal delete/prod-d/job8 0
887
888 ## Setup prod-e
889 if [ $ICS_VERSION == "V1-1" ]; then
890     ics_api_edp_put_producer 201 prod-e $CB_JOB/prod-e $CB_SV/prod-e type6 testdata/ics/ei-type-6.json
891 else
892     ics_api_edp_put_type_2 201 type6 testdata/ics/ei-type-6.json
893     ics_api_edp_put_producer_2 201 prod-e $CB_JOB/prod-e $CB_SV/prod-e type6
894 fi
895
896 if [[ "$ICS_FEATURE_LEVEL" == *"TYPE-SUBSCRIPTIONS"* ]]; then
897     cr_equal 0 received_callbacks 11 30
898     cr_equal 0 received_callbacks?id=type-status1 7
899     cr_api_check_all_ics_subscription_events 200 0 type-status1 type6 testdata/ics/ei-type-6.json REGISTERED
900 fi
901
902 ics_api_a1_get_job_ids 200 type6 NOWNER EMPTY
903
904 if [  -z "$FLAT_A1_EI" ]; then
905     ics_api_a1_put_job 201 type6 job10 $TARGET10 ricsim_g3_4 testdata/ics/job-template.json
906 else
907     ics_api_a1_put_job 201 job10 type6 $TARGET10 ricsim_g3_4 $STATUS10 testdata/ics/job-template.json
908 fi
909
910 if [ $ICS_VERSION == "V1-1" ]; then
911     prodstub_check_jobdata 200 prod-e job10 type6 $TARGET10 ricsim_g3_4 testdata/ics/job-template.json
912 else
913     if [[ "$ICS_FEATURE_LEVEL" != *"INFO-TYPES"* ]]; then
914         prodstub_check_jobdata_2 200 prod-e job10 type6 $TARGET10 ricsim_g3_4 testdata/ics/job-template.json
915     else
916         prodstub_check_jobdata_3 200 prod-e job10 type6 $TARGET10 ricsim_g3_4 testdata/ics/job-template.json
917     fi
918 fi
919
920 prodstub_equal create/prod-e/job10 1
921 prodstub_equal delete/prod-e/job10 0
922
923 ics_api_a1_get_job_ids 200 type6 NOWNER job10
924
925 if [  -z "$FLAT_A1_EI" ]; then
926     ics_api_a1_get_job_status 200 type6 job10 ENABLED
927 else
928     ics_api_a1_get_job_status 200 job10 ENABLED
929 fi
930
931 ## Setup prod-f
932 if [ $ICS_VERSION == "V1-1" ]; then
933     ics_api_edp_put_producer 201 prod-f $CB_JOB/prod-f $CB_SV/prod-f type6 testdata/ics/ei-type-6.json
934 else
935     ics_api_edp_put_type_2 200 type6 testdata/ics/ei-type-6.json
936     ics_api_edp_put_producer_2 201 prod-f $CB_JOB/prod-f $CB_SV/prod-f type6
937 fi
938
939 if [[ "$ICS_FEATURE_LEVEL" == *"TYPE-SUBSCRIPTIONS"* ]]; then
940     cr_equal 0 received_callbacks 12 30
941     cr_equal 0 received_callbacks?id=type-status1 8
942     cr_api_check_all_ics_subscription_events 200 0 type-status1 type6 testdata/ics/ei-type-6.json REGISTERED
943 fi
944
945 ics_api_a1_get_job_ids 200 type6 NOWNER job10
946
947 if [ $ICS_VERSION == "V1-1" ]; then
948     prodstub_check_jobdata 200 prod-f job10 type6 $TARGET10 ricsim_g3_4 testdata/ics/job-template.json
949 else
950     if [[ "$ICS_FEATURE_LEVEL" != *"INFO-TYPES"* ]]; then
951         prodstub_check_jobdata_2 200 prod-f job10 type6 $TARGET10 ricsim_g3_4 testdata/ics/job-template.json
952     else
953         prodstub_check_jobdata_3 200 prod-f job10 type6 $TARGET10 ricsim_g3_4 testdata/ics/job-template.json
954     fi
955 fi
956
957 prodstub_equal create/prod-f/job10 1
958 prodstub_equal delete/prod-f/job10 0
959
960 ics_api_a1_get_job_ids 200 type6 NOWNER job10
961
962 if [  -z "$FLAT_A1_EI" ]; then
963     ics_api_a1_get_job_status 200 type6 job10 ENABLED
964 else
965     ics_api_a1_get_job_status 200 job10 ENABLED
966 fi
967
968 ## Status updates prod-a and jobs
969
970 if [ $ICS_VERSION == "V1-1" ]; then
971     ics_api_edp_get_producer_ids 200 prod-a prod-b prod-c prod-d prod-e prod-f
972 else
973     ics_api_edp_get_producer_ids_2 200 NOTYPE prod-a prod-b prod-c prod-d prod-e prod-f
974 fi
975
976 ics_api_edp_get_producer_status 200 prod-a ENABLED
977 ics_api_edp_get_producer_status 200 prod-b ENABLED
978 ics_api_edp_get_producer_status 200 prod-c ENABLED
979 ics_api_edp_get_producer_status 200 prod-d ENABLED
980 ics_api_edp_get_producer_status 200 prod-e ENABLED
981 ics_api_edp_get_producer_status 200 prod-f ENABLED
982
983 # Arm producer prod-a for supervision failure
984 prodstub_arm_producer 200 prod-a 400
985
986 # Wait for producer prod-a to go disabled
987 ics_api_edp_get_producer_status 200 prod-a DISABLED 360
988
989 if [ $ICS_VERSION == "V1-1" ]; then
990     ics_api_edp_get_producer_ids 200 prod-a prod-b prod-c prod-d  prod-e prod-f
991 else
992     ics_api_edp_get_producer_ids_2 200 NOTYPE prod-a prod-b prod-c prod-d  prod-e prod-f
993 fi
994
995 ics_api_edp_get_producer_status 200 prod-a DISABLED
996 ics_api_edp_get_producer_status 200 prod-b ENABLED
997 ics_api_edp_get_producer_status 200 prod-c ENABLED
998 ics_api_edp_get_producer_status 200 prod-d ENABLED
999 ics_api_edp_get_producer_status 200 prod-e ENABLED
1000 ics_api_edp_get_producer_status 200 prod-f ENABLED
1001
1002
1003 if [  -z "$FLAT_A1_EI" ]; then
1004     ics_api_a1_get_job_status 200 type1 job1 ENABLED
1005     ics_api_a1_get_job_status 200 type1 job2 ENABLED
1006     ics_api_a1_get_job_status 200 type2 job3 ENABLED
1007     ics_api_a1_get_job_status 200 type4 job8 ENABLED
1008     ics_api_a1_get_job_status 200 type6 job10 ENABLED
1009 else
1010     ics_api_a1_get_job_status 200 job1 ENABLED
1011     ics_api_a1_get_job_status 200 job2 ENABLED
1012     ics_api_a1_get_job_status 200 job3 ENABLED
1013     ics_api_a1_get_job_status 200 job8 ENABLED
1014     ics_api_a1_get_job_status 200 job10 ENABLED
1015 fi
1016
1017 # Arm producer prod-a for supervision
1018 prodstub_arm_producer 200 prod-a 200
1019
1020 # Wait for producer prod-a to go enabled
1021 ics_api_edp_get_producer_status 200 prod-a ENABLED 360
1022
1023 if [ $ICS_VERSION == "V1-1" ]; then
1024     ics_api_edp_get_producer_ids 200 prod-a prod-b prod-c prod-d prod-e prod-f
1025 else
1026     ics_api_edp_get_producer_ids_2 200 NOTYPE prod-a prod-b prod-c prod-d prod-e prod-f
1027 fi
1028
1029 ics_api_edp_get_producer_status 200 prod-a ENABLED
1030 ics_api_edp_get_producer_status 200 prod-b ENABLED
1031 ics_api_edp_get_producer_status 200 prod-c ENABLED
1032 ics_api_edp_get_producer_status 200 prod-d ENABLED
1033 ics_api_edp_get_producer_status 200 prod-e ENABLED
1034 ics_api_edp_get_producer_status 200 prod-f ENABLED
1035
1036 if [  -z "$FLAT_A1_EI" ]; then
1037     ics_api_a1_get_job_status 200 type1 job1 ENABLED
1038     ics_api_a1_get_job_status 200 type1 job2 ENABLED
1039     ics_api_a1_get_job_status 200 type2 job3 ENABLED
1040     ics_api_a1_get_job_status 200 type4 job8 ENABLED
1041     ics_api_a1_get_job_status 200 type6 job10 ENABLED
1042 else
1043     ics_api_a1_get_job_status 200 job1 ENABLED
1044     ics_api_a1_get_job_status 200 job2 ENABLED
1045     ics_api_a1_get_job_status 200 job3 ENABLED
1046     ics_api_a1_get_job_status 200 job8 ENABLED
1047     ics_api_a1_get_job_status 200 job10 ENABLED
1048 fi
1049
1050 # Arm producer prod-a for supervision failure
1051 prodstub_arm_producer 200 prod-a 400
1052
1053 # Wait for producer prod-a to go disabled
1054 ics_api_edp_get_producer_status 200 prod-a DISABLED 360
1055
1056 if [ $ICS_VERSION == "V1-1" ]; then
1057     ics_api_edp_get_producer_ids 200 prod-a prod-b prod-c prod-d prod-e prod-f
1058 else
1059     ics_api_edp_get_producer_ids_2 200 NOTYPE prod-a prod-b prod-c prod-d prod-e prod-f
1060 fi
1061
1062 ics_api_edp_get_producer_status 200 prod-a DISABLED
1063 ics_api_edp_get_producer_status 200 prod-b ENABLED
1064 ics_api_edp_get_producer_status 200 prod-c ENABLED
1065 ics_api_edp_get_producer_status 200 prod-d ENABLED
1066 ics_api_edp_get_producer_status 200 prod-e ENABLED
1067 ics_api_edp_get_producer_status 200 prod-f ENABLED
1068
1069 if [  -z "$FLAT_A1_EI" ]; then
1070     ics_api_a1_get_job_status 200 type1 job1 ENABLED
1071     ics_api_a1_get_job_status 200 type1 job2 ENABLED
1072     ics_api_a1_get_job_status 200 type2 job3 ENABLED
1073     ics_api_a1_get_job_status 200 type4 job8 ENABLED
1074     ics_api_a1_get_job_status 200 type6 job10 ENABLED
1075 else
1076     ics_api_a1_get_job_status 200 job1 ENABLED
1077     ics_api_a1_get_job_status 200 job2 ENABLED
1078     ics_api_a1_get_job_status 200 job3 ENABLED
1079     ics_api_a1_get_job_status 200 job8 ENABLED
1080     ics_api_a1_get_job_status 200 job10 ENABLED
1081 fi
1082
1083 # Wait for producer prod-a to be removed
1084 if [[ "$ICS_FEATURE_LEVEL" == *"INFO-TYPES"* ]]; then
1085     ics_equal json:data-producer/v1/info-producers 5 1000
1086 else
1087     ics_equal json:ei-producer/v1/eiproducers 5 1000
1088 fi
1089
1090 if [ $ICS_VERSION == "V1-1" ]; then
1091     ics_api_edp_get_producer_ids 200 prod-b prod-c prod-d prod-e prod-f
1092 else
1093     ics_api_edp_get_producer_ids_2 200 NOTYPE prod-b prod-c prod-d prod-e prod-f
1094 fi
1095
1096
1097 ics_api_edp_get_producer_status 404 prod-a
1098 ics_api_edp_get_producer_status 200 prod-b ENABLED
1099 ics_api_edp_get_producer_status 200 prod-c ENABLED
1100 ics_api_edp_get_producer_status 200 prod-d ENABLED
1101 ics_api_edp_get_producer_status 200 prod-e ENABLED
1102 ics_api_edp_get_producer_status 200 prod-f ENABLED
1103
1104 if [  -z "$FLAT_A1_EI" ]; then
1105     ics_api_a1_get_job_status 200 type1 job1 DISABLED
1106     ics_api_a1_get_job_status 200 type1 job2 DISABLED
1107     ics_api_a1_get_job_status 200 type2 job3 ENABLED
1108     ics_api_a1_get_job_status 200 type4 job8 ENABLED
1109     ics_api_a1_get_job_status 200 type6 job10 ENABLED
1110 else
1111     ics_api_a1_get_job_status 200 job1 DISABLED
1112     ics_api_a1_get_job_status 200 job2 DISABLED
1113     ics_api_a1_get_job_status 200 job3 ENABLED
1114     ics_api_a1_get_job_status 200 job8 ENABLED
1115     ics_api_a1_get_job_status 200 job10 ENABLED
1116 fi
1117
1118 if [[ "$ICS_FEATURE_LEVEL" == *"TYPE-SUBSCRIPTIONS"* ]]; then
1119     cr_equal 0 received_callbacks 14 30
1120 else
1121     cr_equal 0 received_callbacks 6 30
1122 fi
1123
1124 cr_equal 0 received_callbacks?id=job1-status 1
1125 cr_equal 0 received_callbacks?id=job2-status 1
1126
1127 cr_api_check_all_ics_events 200 0 job1-status DISABLED
1128 cr_api_check_all_ics_events 200 0 job2-status DISABLED
1129
1130
1131 # Arm producer prod-e for supervision failure
1132 prodstub_arm_producer 200 prod-e 400
1133
1134 ics_api_edp_get_producer_status 200 prod-e DISABLED 1000
1135
1136 if [ $ICS_VERSION == "V1-1" ]; then
1137     ics_api_edp_get_producer_ids 200 prod-b prod-c prod-d prod-e prod-f
1138 else
1139     ics_api_edp_get_producer_ids_2 200 NOTYPE prod-b prod-c prod-d prod-e prod-f
1140 fi
1141
1142 ics_api_edp_get_producer_status 404 prod-a
1143 ics_api_edp_get_producer_status 200 prod-b ENABLED
1144 ics_api_edp_get_producer_status 200 prod-c ENABLED
1145 ics_api_edp_get_producer_status 200 prod-d ENABLED
1146 ics_api_edp_get_producer_status 200 prod-e DISABLED
1147 ics_api_edp_get_producer_status 200 prod-f ENABLED
1148
1149 if [  -z "$FLAT_A1_EI" ]; then
1150     ics_api_a1_get_job_status 200 type1 job1 DISABLED
1151     ics_api_a1_get_job_status 200 type1 job2 DISABLED
1152     ics_api_a1_get_job_status 200 type2 job3 ENABLED
1153     ics_api_a1_get_job_status 200 type4 job8 ENABLED
1154     ics_api_a1_get_job_status 200 type6 job10 ENABLED
1155 else
1156     ics_api_a1_get_job_status 200 job1 DISABLED
1157     ics_api_a1_get_job_status 200 job2 DISABLED
1158     ics_api_a1_get_job_status 200 job3 ENABLED
1159     ics_api_a1_get_job_status 200 job8 ENABLED
1160     ics_api_a1_get_job_status 200 job10 ENABLED
1161 fi
1162
1163 #Disable create for job10 in prod-e
1164 prodstub_arm_job_create 200 prod-e job10 400
1165
1166 #Update tjob 10 - only prod-f will be updated
1167 if [  -z "$FLAT_A1_EI" ]; then
1168     ics_api_a1_put_job 200 type6 job10 $TARGET10 ricsim_g3_4 testdata/ics/job-template2.json
1169 else
1170     ics_api_a1_put_job 200 job10 type6 $TARGET10 ricsim_g3_4 $STATUS10 testdata/ics/job-template2.json
1171 fi
1172 #Reset producer and job responses
1173 prodstub_arm_producer 200 prod-e 200
1174 prodstub_arm_job_create 200 prod-e job10 200
1175
1176 ics_api_edp_get_producer_status 200 prod-e ENABLED 360
1177
1178 if [ $ICS_VERSION == "V1-1" ]; then
1179     ics_api_edp_get_producer_ids 200 prod-b prod-c prod-d prod-e prod-f
1180 else
1181     ics_api_edp_get_producer_ids_2 200 NOTYPE prod-b prod-c prod-d prod-e prod-f
1182 fi
1183
1184 #Wait for job to be updated
1185 sleep_wait 120
1186
1187 if [ $ICS_VERSION == "V1-1" ]; then
1188     prodstub_check_jobdata 200 prod-f job10 type6 $TARGET10 ricsim_g3_4 testdata/ics/job-template2.json
1189 else
1190     if [[ "$ICS_FEATURE_LEVEL" != *"INFO-TYPES"* ]]; then
1191         prodstub_check_jobdata_2 200 prod-f job10 type6 $TARGET10 ricsim_g3_4 testdata/ics/job-template2.json
1192     else
1193         prodstub_check_jobdata_3 200 prod-f job10 type6 $TARGET10 ricsim_g3_4 testdata/ics/job-template2.json
1194     fi
1195 fi
1196
1197 prodstub_arm_producer 200 prod-f 400
1198
1199 ics_api_edp_get_producer_status 200 prod-f DISABLED 360
1200
1201 if [[ "$ICS_FEATURE_LEVEL" == *"INFO-TYPES"* ]]; then
1202     ics_equal json:data-producer/v1/info-producers 4 1000
1203 else
1204     ics_equal json:ei-producer/v1/eiproducers 4 1000
1205 fi
1206
1207 if [ $ICS_VERSION == "V1-1" ]; then
1208     ics_api_edp_get_producer_ids 200 prod-b prod-c prod-d prod-e
1209 else
1210     ics_api_edp_get_producer_ids_2 200 NOTYPE prod-b prod-c prod-d prod-e
1211 fi
1212
1213 ics_api_edp_get_producer_status 404 prod-a
1214 ics_api_edp_get_producer_status 200 prod-b ENABLED
1215 ics_api_edp_get_producer_status 200 prod-c ENABLED
1216 ics_api_edp_get_producer_status 200 prod-d ENABLED
1217 ics_api_edp_get_producer_status 200 prod-e ENABLED
1218 ics_api_edp_get_producer_status 404 prod-f
1219
1220 if [  -z "$FLAT_A1_EI" ]; then
1221     ics_api_a1_get_job_status 200 type1 job1 DISABLED
1222     ics_api_a1_get_job_status 200 type1 job2 DISABLED
1223     ics_api_a1_get_job_status 200 type2 job3 ENABLED
1224     ics_api_a1_get_job_status 200 type4 job8 ENABLED
1225     ics_api_a1_get_job_status 200 type6 job10 ENABLED
1226 else
1227     ics_api_a1_get_job_status 200 job1 DISABLED
1228     ics_api_a1_get_job_status 200 job2 DISABLED
1229     ics_api_a1_get_job_status 200 job3 ENABLED
1230     ics_api_a1_get_job_status 200 job8 ENABLED
1231     ics_api_a1_get_job_status 200 job10 ENABLED
1232 fi
1233
1234 if [[ "$ICS_FEATURE_LEVEL" == *"TYPE-SUBSCRIPTIONS"* ]]; then
1235     cr_equal 0 received_callbacks 14 30
1236 else
1237     cr_equal 0 received_callbacks 6 30
1238 fi
1239
1240
1241 if [[ "$ICS_FEATURE_LEVEL" != *"INFO-TYPES"* ]]; then
1242
1243     # End test if info types is not impl in tested version
1244     check_ics_logs
1245
1246     store_logs END
1247
1248     #### TEST COMPLETE ####
1249
1250     print_result
1251
1252     auto_clean_environment
1253 fi
1254
1255
1256 ############################################
1257 # Test of info types
1258 ############################################
1259
1260 ### Setup prodstub sim to accept calls for producers, info types and jobs
1261 ## prod-ia type101
1262 ## prod-ib type101 and type102
1263 ## prod-ic no-type
1264 ## prod-id type104
1265 ## prod-ie type106
1266 ## prod-if type106
1267 ## prod-ig type150  (configured later)
1268 ## prod-ig type160  (configured later)
1269
1270 ## job101 -> prod-ia
1271 ## job102 -> prod-ia
1272 ## job103 -> prod-ib
1273 ## job104 -> prod-ia
1274 ## job106 -> prod-ib
1275 ## job108 -> prod-id
1276 ## job110 -> prod-ie and prod-if
1277 ## job150 -> prod-ig  (configured later)
1278
1279 prodstub_arm_producer 200 prod-ia
1280 prodstub_arm_producer 200 prod-ib
1281 prodstub_arm_producer 200 prod-ic
1282 prodstub_arm_producer 200 prod-id
1283 prodstub_arm_producer 200 prod-ie
1284 prodstub_arm_producer 200 prod-if
1285
1286 prodstub_arm_type 200 prod-ia type101
1287 prodstub_arm_type 200 prod-ib type102
1288 prodstub_arm_type 200 prod-ib type103
1289 prodstub_arm_type 200 prod-id type104
1290 prodstub_arm_type 200 prod-ie type106
1291 prodstub_arm_type 200 prod-if type106
1292
1293 prodstub_disarm_type 200 prod-ib type103
1294 prodstub_arm_type 200 prod-ib type101
1295 prodstub_disarm_type 200 prod-ib type101
1296
1297
1298 prodstub_arm_job_create 200 prod-ia job101
1299 prodstub_arm_job_create 200 prod-ia job102
1300 prodstub_arm_job_create 200 prod-ib job103
1301
1302 prodstub_arm_job_delete 200 prod-ia job101
1303 prodstub_arm_job_delete 200 prod-ia job102
1304 prodstub_arm_job_delete 200 prod-ib job103
1305
1306 prodstub_arm_job_create 200 prod-ib job104
1307 prodstub_arm_job_create 200 prod-ia job104
1308
1309 prodstub_arm_job_create 200 prod-ib job106
1310
1311 prodstub_arm_job_create 200 prod-id job108
1312
1313 prodstub_arm_job_create 200 prod-ie job110
1314 prodstub_arm_job_create 200 prod-if job110
1315
1316
1317 # NOTE: types, jobs and producers are still present related to eitypes
1318
1319
1320 ### Initial tests - no config made
1321 ### GET: type ids, types, producer ids, producers, job ids, jobs
1322 ### DELETE: jobs
1323 ics_api_idc_get_type_ids 200 type1 type2 type4 type6
1324 ics_api_idc_get_type 404 test-type
1325
1326 ics_api_edp_get_type_ids 200 type1 type2 type4 type6
1327 ics_api_edp_get_type_2 404 test-type
1328
1329 ics_api_edp_get_producer_ids_2 200 NOTYPE prod-b prod-c prod-d prod-e
1330 ics_api_edp_get_producer_2 404 test-prod
1331 ics_api_edp_get_producer_status 404 test-prod
1332
1333 ics_api_edp_delete_producer 404 test-prod
1334
1335 ics_api_idc_get_job_ids 200 test-type NOWNER EMPTY
1336 ics_api_idc_get_job_ids 200 test-type test-owner EMPTY
1337
1338 ics_api_idc_get_job 404 test-job
1339
1340 ics_api_idc_get_job_status2 404 test-job
1341
1342 ics_api_idc_delete_job 404 test-job
1343
1344 ics_api_edp_get_producer_jobs_2 404 test-prod
1345
1346 ics_api_edp_get_type_2 404 test-type
1347 ics_api_edp_delete_type_2 404 test-type
1348
1349 ### Setup of producer/job and testing apis ###
1350
1351 ## Setup prod-ia
1352 ics_api_edp_get_type_ids 200 type1 type2 type4 type6
1353 ics_api_edp_get_type_2 404 type101
1354 ics_api_edp_put_producer_2 404 prod-ia $CB_JOB/prod-ia $CB_SV/prod-ia type101
1355
1356 # Create type, delete and create again
1357 ics_api_edp_put_type_2 201 type101 testdata/ics/info-type-1.json
1358 ics_api_edp_get_type_2 200 type101
1359 ics_api_edp_get_type_ids 200 type101 type1 type2 type4 type6
1360 ics_api_edp_delete_type_2 204 type101
1361 ics_api_edp_get_type_2 404 type101
1362 ics_api_edp_get_type_ids 200 type1 type2 type4 type6
1363 ics_api_edp_put_type_2 201 type101 testdata/ics/info-type-1.json
1364 ics_api_edp_get_type_ids 200 type101 type1 type2 type4 type6
1365 ics_api_edp_get_type_2 200 type101 testdata/ics/info-type-1.json
1366
1367 ics_api_edp_put_producer_2 201 prod-ia $CB_JOB/prod-ia $CB_SV/prod-ia type101
1368 ics_api_edp_put_producer_2 200 prod-ia $CB_JOB/prod-ia $CB_SV/prod-ia type101
1369
1370 if [[ "$ICS_FEATURE_LEVEL" == *"RESP_CODE_CHANGE_1" ]]; then
1371     ics_api_edp_delete_type_2 409 type101
1372 else
1373     ics_api_edp_delete_type_2 406 type101
1374 fi
1375
1376 if [[ "$ICS_FEATURE_LEVEL" == *"TYPE-SUBSCRIPTIONS"* ]]; then
1377     cr_equal 0 received_callbacks 17 30
1378     cr_equal 0 received_callbacks?id=type-status1 11
1379     cr_api_check_all_ics_subscription_events 200 0 type-status1 type101 testdata/ics/info-type-1.json REGISTERED type101 testdata/ics/info-type-1.json DEREGISTERED type101 testdata/ics/info-type-1.json REGISTERED
1380 else
1381     cr_equal 0 received_callbacks 6
1382 fi
1383
1384 ics_api_edp_get_type_ids 200 type101 type1 type2 type4 type6
1385 ics_api_edp_get_type_2 200 type101 testdata/ics/info-type-1.json
1386
1387 ics_api_edp_get_producer_ids_2 200 NOTYPE prod-ia prod-b prod-c prod-d prod-e
1388 ics_api_edp_get_producer_ids_2 200 type101 prod-ia
1389 ics_api_edp_get_producer_ids_2 200 type102 EMPTY
1390
1391 ics_api_edp_get_producer_2 200 prod-ia $CB_JOB/prod-ia $CB_SV/prod-ia type101
1392
1393 ics_api_edp_get_producer_status 200 prod-ia ENABLED
1394
1395 ics_api_idc_get_job_ids 200 type101 NOWNER EMPTY
1396 ics_api_idc_get_job_ids 200 type101 test-owner EMPTY
1397
1398 ics_api_idc_get_job 404 test-job
1399
1400 ics_api_idc_get_job_status2 404 test-job
1401 ics_api_edp_get_producer_jobs_2 200 prod-ia EMPTY
1402
1403 ## Create a job for prod-ia
1404 ## job101 - prod-ia
1405 ics_api_idc_put_job 201 job101 type101 $TARGET101 info-owner-1 $INFOSTATUS101 testdata/ics/job-template.json VALIDATE
1406
1407 # Check the job data in the producer
1408 prodstub_check_jobdata_3 200 prod-ia job101 type101 $TARGET101 info-owner-1 testdata/ics/job-template.json
1409
1410 ics_api_idc_get_job_ids 200 type101 NOWNER job101
1411 ics_api_idc_get_job_ids 200 type101 info-owner-1 job101
1412
1413 ics_api_idc_get_job_ids 200 NOTYPE NOWNER job101 job1 job2 job3 job8 job10
1414
1415 ics_api_idc_get_job 200 job101 type101 $TARGET101 info-owner-1 $INFOSTATUS101 testdata/ics/job-template.json
1416
1417 ics_api_idc_get_job_status2 200 job101 ENABLED  1 prod-ia
1418
1419 prodstub_equal create/prod-ia/job101 1
1420
1421 ics_api_edp_get_producer_jobs_2 200 prod-ia job101 type101 $TARGET101 info-owner-1 testdata/ics/job-template.json
1422
1423 ## Create a second job for prod-ia
1424 ## job102 - prod-ia
1425 ics_api_idc_put_job 201 job102 type101 $TARGET102 info-owner-2 $INFOSTATUS102 testdata/ics/job-template.json  VALIDATE
1426
1427 # Check the job data in the producer
1428 prodstub_check_jobdata_3 200 prod-ia job102 type101 $TARGET102 info-owner-2 testdata/ics/job-template.json
1429 ics_api_idc_get_job_ids 200 type101 NOWNER job101 job102
1430 ics_api_idc_get_job_ids 200 type101 info-owner-1 job101
1431 ics_api_idc_get_job_ids 200 type101 info-owner-2 job102
1432 ics_api_idc_get_job_ids 200 NOTYPE NOWNER job101 job102 job1 job2 job3 job8 job10
1433
1434 ics_api_idc_get_job 200 job102 type101 $TARGET102 info-owner-2 $INFOSTATUS102 testdata/ics/job-template.json
1435
1436 ics_api_idc_get_job_status2 200 job102 ENABLED 1 prod-ia
1437
1438 prodstub_equal create/prod-ia/job102 1
1439
1440 ics_api_edp_get_producer_jobs_2 200 prod-ia job101 type101 $TARGET101 info-owner-1 testdata/ics/job-template.json job102 type101 $TARGET102 info-owner-2 testdata/ics/job-template.json
1441
1442
1443 ## Setup prod-ib
1444 ics_api_edp_put_type_2 201 type102 testdata/ics/info-type-2.json
1445 ics_api_edp_put_producer_2 201 prod-ib $CB_JOB/prod-ib $CB_SV/prod-ib type102
1446
1447 if [[ "$ICS_FEATURE_LEVEL" == *"TYPE-SUBSCRIPTIONS"* ]]; then
1448     cr_equal 0 received_callbacks 18 30
1449     cr_equal 0 received_callbacks?id=type-status1 12
1450     cr_api_check_all_ics_subscription_events 200 0 type-status1 type102 testdata/ics/info-type-2.json REGISTERED
1451 else
1452     cr_equal 0 received_callbacks 6
1453 fi
1454
1455 ics_api_idc_get_type_ids 200 type101 type102 type1 type2 type4 type6
1456
1457 if [[ "$ICS_FEATURE_LEVEL" == *"TYPE-SUBSCRIPTIONS"* ]]; then
1458     ics_api_idc_get_type 200 type101 testdata/ics/info-type-1.json ENABLED 1
1459
1460     ics_api_idc_get_type 200 type102 testdata/ics/info-type-2.json ENABLED 1
1461 else
1462     ics_api_idc_get_type 200 type101 testdata/ics/info-type-1.json
1463
1464     ics_api_idc_get_type 200 type102 testdata/ics/info-type-2.json
1465 fi
1466
1467 ics_api_edp_get_type_ids 200 type101 type102 type1 type2 type4 type6
1468 ics_api_edp_get_type_2 200 type101 testdata/ics/info-type-1.json
1469 ics_api_edp_get_type_2 200 type102 testdata/ics/info-type-2.json
1470
1471 ics_api_edp_get_producer_ids_2 200 NOTYPE prod-ia prod-ib prod-b prod-c prod-d prod-e
1472
1473 ics_api_edp_get_producer_2 200 prod-ia $CB_JOB/prod-ia $CB_SV/prod-ia type101
1474 ics_api_edp_get_producer_2 200 prod-ib $CB_JOB/prod-ib $CB_SV/prod-ib type102
1475
1476 ics_api_edp_get_producer_status 200 prod-ib ENABLED
1477
1478 ## Create job for prod-ib
1479 ##  job103 - prod-ib
1480 ics_api_idc_put_job 201 job103 type102 $TARGET103 info-owner-3 $INFOSTATUS103 testdata/ics/job-template.json  VALIDATE
1481
1482 prodstub_equal create/prod-ib/job103 1
1483
1484 # Check the job data in the producer
1485 prodstub_check_jobdata_3 200 prod-ib job103 type102 $TARGET103 info-owner-3 testdata/ics/job-template.json
1486
1487 ics_api_idc_get_job_ids 200 type101 NOWNER job101 job102
1488 ics_api_idc_get_job_ids 200 type102 NOWNER job103
1489 ics_api_idc_get_job_ids 200 type101 info-owner-1 job101
1490 ics_api_idc_get_job_ids 200 type101 info-owner-2 job102
1491 ics_api_idc_get_job_ids 200 type102 info-owner-3 job103
1492
1493 ics_api_idc_get_job 200 job103 type102 $TARGET103 info-owner-3 $INFOSTATUS103 testdata/ics/job-template.json
1494
1495 ics_api_idc_get_job_status2 200 job103 ENABLED 1 prod-ib
1496
1497 ics_api_edp_get_producer_jobs_2 200 prod-ia job101 type101 $TARGET101 info-owner-1 testdata/ics/job-template.json job102 type101 $TARGET102 info-owner-2 testdata/ics/job-template.json
1498 ics_api_edp_get_producer_jobs_2 200 prod-ib job103 type102 $TARGET103 info-owner-3 testdata/ics/job-template.json
1499
1500 ## Setup prod-ic (no types)
1501 ics_api_edp_put_producer_2 201 prod-ic $CB_JOB/prod-ic $CB_SV/prod-ic NOTYPE
1502
1503 ics_api_edp_get_producer_ids_2 200 NOTYPE prod-ia prod-ib prod-ic prod-b prod-c prod-d prod-e
1504
1505 ics_api_edp_get_producer_2 200 prod-ia $CB_JOB/prod-ia $CB_SV/prod-ia type101
1506 ics_api_edp_get_producer_2 200 prod-ib $CB_JOB/prod-ib $CB_SV/prod-ib type102
1507 ics_api_edp_get_producer_2 200 prod-ic $CB_JOB/prod-ic $CB_SV/prod-ic EMPTY
1508
1509 ics_api_edp_get_producer_status 200 prod-ic ENABLED
1510
1511
1512 ## Delete job103 and prod-ib and re-create if different order
1513
1514 # Delete job then producer
1515 ics_api_idc_get_job_ids 200 NOTYPE NOWNER job101 job102 job103 job1 job2 job3 job8 job10
1516 ics_api_edp_get_producer_ids_2 200 NOTYPE prod-ia prod-ib prod-ic prod-b prod-c prod-d prod-e
1517
1518 ics_api_idc_delete_job 204 job103
1519
1520 ics_api_idc_get_job_ids 200 NOTYPE NOWNER job101 job102 job1 job2 job3 job8 job10
1521 ics_api_edp_get_producer_ids_2 200 NOTYPE prod-ia prod-ib prod-ic prod-b prod-c prod-d prod-e
1522
1523 ics_api_edp_delete_producer 204 prod-ib
1524
1525 ics_api_edp_get_producer_status 404 prod-ib
1526
1527 ics_api_idc_get_job_ids 200 NOTYPE NOWNER job101 job102 job1 job2 job3 job8 job10
1528 ics_api_edp_get_producer_ids_2 200 NOTYPE prod-ia prod-ic prod-b prod-c prod-d prod-e
1529
1530 prodstub_equal delete/prod-ib/job103 1
1531
1532 ics_api_idc_put_job 201 job103 type102 $TARGET103 info-owner-3 $INFOSTATUS103 testdata/ics/job-template.json VALIDATE
1533 ics_api_idc_get_job_status2 200 job103 DISABLED EMPTYPROD
1534
1535 # Put producer then job
1536 ics_api_edp_put_producer_2 201 prod-ib $CB_JOB/prod-ib $CB_SV/prod-ib type102
1537
1538 ics_api_edp_get_producer_status 200 prod-ib ENABLED
1539
1540 ics_api_idc_put_job 200 job103 type102 $TARGET103 info-owner-3 $INFOSTATUS103 testdata/ics/job-template2.json  VALIDATE
1541 ics_api_idc_get_job_status2 200 job103 ENABLED 1 prod-ib
1542
1543 prodstub_check_jobdata_3 200 prod-ib job103 type102 $TARGET103 info-owner-3 testdata/ics/job-template2.json
1544
1545 ics_api_idc_get_job_ids 200 NOTYPE NOWNER job101 job102 job103 job1 job2 job3 job8 job10
1546 ics_api_edp_get_producer_ids_2 200 NOTYPE prod-ia prod-ib prod-ic prod-b prod-c prod-d prod-e
1547
1548 prodstub_equal create/prod-ib/job103 3
1549 prodstub_equal delete/prod-ib/job103 1
1550
1551 # Delete only the producer
1552 ics_api_edp_delete_producer 204 prod-ib
1553
1554 ics_api_edp_get_producer_status 404 prod-ib
1555
1556 ics_api_idc_get_job_ids 200 NOTYPE NOWNER job101 job102 job103  job1 job2 job3 job8 job10
1557 ics_api_edp_get_producer_ids_2 200 NOTYPE prod-ia prod-ic prod-b prod-c prod-d prod-e
1558
1559 ics_api_idc_get_job_status2 200 job103 DISABLED EMPTYPROD
1560
1561 if [[ "$ICS_FEATURE_LEVEL" == *"TYPE-SUBSCRIPTIONS"* ]]; then
1562     cr_equal 0 received_callbacks 19 30
1563
1564     cr_equal 0 received_callbacks?id=info-job103-status 1
1565     cr_api_check_all_ics_events 200 0 info-job103-status DISABLED
1566 else
1567     cr_equal 0 received_callbacks 7 30
1568     cr_equal 0 received_callbacks?id=info-job103-status 1
1569     cr_api_check_all_ics_events 200 0 info-job103-status DISABLED
1570 fi
1571
1572 # Re-create the producer
1573 ics_api_edp_put_producer_2 201 prod-ib $CB_JOB/prod-ib $CB_SV/prod-ib type102
1574
1575 ics_api_edp_get_producer_status 200 prod-ib ENABLED
1576
1577 ics_api_idc_get_job_status2 200 job103 ENABLED 1 prod-ib
1578
1579 if [[ "$ICS_FEATURE_LEVEL" == *"TYPE-SUBSCRIPTIONS"* ]]; then
1580     cr_equal 0 received_callbacks 20 30
1581     cr_equal 0 received_callbacks?id=info-job103-status 2
1582     cr_api_check_all_ics_events 200 0 info-job103-status ENABLED
1583 else
1584     cr_equal 0 received_callbacks 8 30
1585     cr_equal 0 received_callbacks?id=info-job103-status 2
1586     cr_api_check_all_ics_events 200 0 info-job103-status ENABLED
1587 fi
1588
1589 prodstub_check_jobdata_3 200 prod-ib job103 type102 $TARGET103 info-owner-3 testdata/ics/job-template2.json
1590
1591 ## Setup prod-id
1592 ics_api_edp_put_type_2 201 type104 testdata/ics/info-type-4.json
1593 ics_api_edp_put_producer_2 201 prod-id $CB_JOB/prod-id $CB_SV/prod-id type104
1594
1595 ics_api_idc_get_job_ids 200 type104 NOWNER EMPTY
1596
1597 ics_api_idc_put_job 201 job108 type104 $TARGET108 info-owner-4 $INFOSTATUS108 testdata/ics/job-template.json  VALIDATE
1598
1599 prodstub_check_jobdata_3 200 prod-id job108 type104 $TARGET108 info-owner-4 testdata/ics/job-template.json
1600
1601 prodstub_equal create/prod-id/job108 1
1602 prodstub_equal delete/prod-id/job108 0
1603
1604 ics_api_idc_get_job_ids 200 type104 NOWNER job108
1605
1606 ics_api_idc_get_job_status2 200 job108 ENABLED 1 prod-id
1607
1608 # Re-PUT the producer with zero types
1609 ics_api_edp_put_producer_2 200 prod-id $CB_JOB/prod-id $CB_SV/prod-id NOTYPE
1610
1611 ics_api_idc_get_job_ids 200 type104 NOWNER job108
1612 ics_api_idc_get_job_ids 200 NOTYPE NOWNER job101 job102 job103 job108  job1 job2 job3 job8 job10
1613
1614 ics_api_idc_get_job_status2 200 job108 DISABLED EMPTYPROD
1615
1616 if [[ "$ICS_FEATURE_LEVEL" == *"TYPE-SUBSCRIPTIONS"* ]]; then
1617     cr_equal 0 received_callbacks 22 30
1618     cr_equal 0 received_callbacks?id=type-status1 13
1619     cr_api_check_all_ics_subscription_events 200 0 type-status1 type104 testdata/ics/info-type-4.json REGISTERED
1620
1621     cr_equal 0 received_callbacks?id=info-job108-status 1
1622     cr_api_check_all_ics_events 200 0 info-job108-status DISABLED
1623 else
1624     cr_equal 0 received_callbacks 9 30
1625     cr_equal 0 received_callbacks?id=info-job108-status 1
1626     cr_api_check_all_ics_events 200 0 info-job108-status DISABLED
1627 fi
1628
1629 prodstub_equal create/prod-id/job108 1
1630 prodstub_equal delete/prod-id/job108 0
1631
1632 ## Re-setup prod-id
1633 ics_api_edp_put_type_2 200 type104 testdata/ics/info-type-4.json
1634 ics_api_edp_put_producer_2 200 prod-id $CB_JOB/prod-id $CB_SV/prod-id type104
1635
1636
1637 ics_api_idc_get_job_ids 200 type104 NOWNER job108
1638 ics_api_idc_get_job_ids 200 NOTYPE NOWNER job101 job102 job103 job108 job1 job2 job3 job8 job10
1639
1640 ics_api_idc_get_job_status2 200 job108 ENABLED  1 prod-id
1641
1642 ics_api_edp_get_producer_status 200 prod-ia ENABLED
1643 ics_api_edp_get_producer_status 200 prod-ib ENABLED
1644 ics_api_edp_get_producer_status 200 prod-ic ENABLED
1645 ics_api_edp_get_producer_status 200 prod-id ENABLED
1646
1647 if [[ "$ICS_FEATURE_LEVEL" == *"TYPE-SUBSCRIPTIONS"* ]]; then
1648     cr_equal 0 received_callbacks 24 30
1649
1650     cr_equal 0 received_callbacks?id=type-status1 14
1651     cr_api_check_all_ics_subscription_events 200 0 type-status1 type104 testdata/ics/info-type-4.json REGISTERED
1652
1653     cr_equal 0 received_callbacks?id=info-job108-status 2
1654     cr_api_check_all_ics_events 200 0 info-job108-status ENABLED
1655 else
1656     cr_equal 0 received_callbacks 10 30
1657     cr_equal 0 received_callbacks?id=info-job108-status 2
1658     cr_api_check_all_ics_events 200 0 info-job108-status ENABLED
1659 fi
1660
1661 prodstub_equal create/prod-id/job108 2
1662 prodstub_equal delete/prod-id/job108 0
1663
1664
1665 ## Setup prod-ie
1666 ics_api_edp_put_type_2 201 type106 testdata/ics/info-type-6.json
1667 ics_api_edp_put_producer_2 201 prod-ie $CB_JOB/prod-ie $CB_SV/prod-ie type106
1668
1669 ics_api_idc_get_job_ids 200 type106 NOWNER EMPTY
1670
1671 ics_api_idc_put_job 201 job110 type106 $TARGET110 info-owner-4 $INFOSTATUS110 testdata/ics/job-template.json  VALIDATE
1672
1673 prodstub_check_jobdata_3 200 prod-ie job110 type106 $TARGET110 info-owner-4 testdata/ics/job-template.json
1674
1675 prodstub_equal create/prod-ie/job110 1
1676 prodstub_equal delete/prod-ie/job110 0
1677
1678 ics_api_idc_get_job_ids 200 type106 NOWNER job110
1679
1680 ics_api_idc_get_job_status2 200 job110 ENABLED 1 prod-ie
1681
1682 ## Setup prod-if
1683 ics_api_edp_put_type_2 200 type106 testdata/ics/info-type-6.json
1684 ics_api_edp_put_producer_2 201 prod-if $CB_JOB/prod-if $CB_SV/prod-if type106
1685
1686 if [[ "$ICS_FEATURE_LEVEL" == *"TYPE-SUBSCRIPTIONS"* ]]; then
1687     cr_equal 0 received_callbacks 26 30
1688
1689     cr_equal 0 received_callbacks?id=type-status1 16
1690     cr_api_check_all_ics_subscription_events 200 0 type-status1 type106 testdata/ics/info-type-6.json REGISTERED type106 testdata/ics/info-type-6.json REGISTERED
1691 fi
1692
1693
1694 ics_api_idc_get_job_ids 200 type106 NOWNER job110
1695
1696 prodstub_check_jobdata_3 200 prod-if job110 type106 $TARGET110 info-owner-4 testdata/ics/job-template.json
1697
1698 prodstub_equal create/prod-if/job110 1
1699 prodstub_equal delete/prod-if/job110 0
1700
1701 ics_api_idc_get_job_ids 200 type106 NOWNER job110
1702
1703 ics_api_idc_get_job_status2 200 job110 ENABLED  2 prod-ie prod-if
1704
1705 ## Status updates prod-ia and jobs
1706
1707 ics_api_edp_get_producer_ids_2 200 NOTYPE prod-ia prod-ib prod-ic prod-id prod-ie prod-if  prod-b prod-c prod-d prod-e
1708
1709 ics_api_edp_get_producer_status 200 prod-ia ENABLED
1710 ics_api_edp_get_producer_status 200 prod-ib ENABLED
1711 ics_api_edp_get_producer_status 200 prod-ic ENABLED
1712 ics_api_edp_get_producer_status 200 prod-id ENABLED
1713 ics_api_edp_get_producer_status 200 prod-ie ENABLED
1714 ics_api_edp_get_producer_status 200 prod-if ENABLED
1715
1716 # Arm producer prod-ia for supervision failure
1717 prodstub_arm_producer 200 prod-ia 400
1718
1719 # Wait for producer prod-ia to go disabled
1720 ics_api_edp_get_producer_status 200 prod-ia DISABLED 360
1721
1722 ics_api_edp_get_producer_ids_2 200 NOTYPE prod-ia prod-ib prod-ic prod-id  prod-ie prod-if prod-b prod-c prod-d prod-e
1723
1724 ics_api_edp_get_producer_status 200 prod-ia DISABLED
1725 ics_api_edp_get_producer_status 200 prod-ib ENABLED
1726 ics_api_edp_get_producer_status 200 prod-ic ENABLED
1727 ics_api_edp_get_producer_status 200 prod-id ENABLED
1728 ics_api_edp_get_producer_status 200 prod-ie ENABLED
1729 ics_api_edp_get_producer_status 200 prod-if ENABLED
1730
1731
1732 ics_api_idc_get_job_status2 200 job101 ENABLED 1 prod-ia
1733 ics_api_idc_get_job_status2 200 job102 ENABLED 1 prod-ia
1734 ics_api_idc_get_job_status2 200 job103 ENABLED 1 prod-ib
1735 ics_api_idc_get_job_status2 200 job108 ENABLED 1 prod-id
1736 ics_api_idc_get_job_status2 200 job110 ENABLED 2 prod-ie prod-if
1737
1738 # Arm producer prod-ia for supervision
1739 prodstub_arm_producer 200 prod-ia 200
1740
1741 # Wait for producer prod-ia to go enabled
1742 ics_api_edp_get_producer_status 200 prod-ia ENABLED 360
1743
1744 ics_api_edp_get_producer_ids_2 200 NOTYPE prod-ia prod-ib prod-ic prod-id prod-ie prod-if prod-b prod-c prod-d prod-e
1745
1746 ics_api_edp_get_producer_status 200 prod-ia ENABLED
1747 ics_api_edp_get_producer_status 200 prod-ib ENABLED
1748 ics_api_edp_get_producer_status 200 prod-ic ENABLED
1749 ics_api_edp_get_producer_status 200 prod-id ENABLED
1750 ics_api_edp_get_producer_status 200 prod-ie ENABLED
1751 ics_api_edp_get_producer_status 200 prod-if ENABLED
1752
1753 ics_api_idc_get_job_status2 200 job101 ENABLED 1 prod-ia
1754 ics_api_idc_get_job_status2 200 job102 ENABLED 1 prod-ia
1755 ics_api_idc_get_job_status2 200 job103 ENABLED 1 prod-ib
1756 ics_api_idc_get_job_status2 200 job108 ENABLED 1 prod-id
1757 ics_api_idc_get_job_status2 200 job110 ENABLED 2 prod-ie prod-if
1758
1759 # Arm producer prod-ia for supervision failure
1760 prodstub_arm_producer 200 prod-ia 400
1761
1762 # Wait for producer prod-ia to go disabled
1763 ics_api_edp_get_producer_status 200 prod-ia DISABLED 360
1764
1765 ics_api_edp_get_producer_ids_2 200 NOTYPE prod-ia prod-ib prod-ic prod-id prod-ie prod-if prod-b prod-c prod-d prod-e
1766
1767 ics_api_edp_get_producer_status 200 prod-ia DISABLED
1768 ics_api_edp_get_producer_status 200 prod-ib ENABLED
1769 ics_api_edp_get_producer_status 200 prod-ic ENABLED
1770 ics_api_edp_get_producer_status 200 prod-id ENABLED
1771 ics_api_edp_get_producer_status 200 prod-ie ENABLED
1772 ics_api_edp_get_producer_status 200 prod-if ENABLED
1773
1774 ics_api_idc_get_job_status2 200 job101 ENABLED 1 prod-ia
1775 ics_api_idc_get_job_status2 200 job102 ENABLED 1 prod-ia
1776 ics_api_idc_get_job_status2 200 job103 ENABLED 1 prod-ib
1777 ics_api_idc_get_job_status2 200 job108 ENABLED 1 prod-id
1778 ics_api_idc_get_job_status2 200 job110 ENABLED 2 prod-ie prod-if
1779
1780 # Wait for producer prod-ia to be removed
1781 if [[ "$ICS_FEATURE_LEVEL" == *"INFO-TYPES"* ]]; then
1782     ics_equal json:data-producer/v1/info-producers 9 1000
1783 else
1784     ics_equal json:ei-producer/v1/eiproducers 9 1000
1785 fi
1786
1787 ics_api_edp_get_producer_ids_2 200 NOTYPE prod-ib prod-ic prod-id prod-ie prod-if  prod-b prod-c prod-d prod-e
1788
1789
1790 ics_api_edp_get_producer_status 404 prod-ia
1791 ics_api_edp_get_producer_status 200 prod-ib ENABLED
1792 ics_api_edp_get_producer_status 200 prod-ic ENABLED
1793 ics_api_edp_get_producer_status 200 prod-id ENABLED
1794 ics_api_edp_get_producer_status 200 prod-ie ENABLED
1795 ics_api_edp_get_producer_status 200 prod-if ENABLED
1796
1797 ics_api_idc_get_job_status2 200 job101 DISABLED EMPTYPROD
1798 ics_api_idc_get_job_status2 200 job102 DISABLED EMPTYPROD
1799 ics_api_idc_get_job_status2 200 job103 ENABLED 1 prod-ib
1800 ics_api_idc_get_job_status2 200 job108 ENABLED 1 prod-id
1801 ics_api_idc_get_job_status2 200 job110 ENABLED 2 prod-ie prod-if
1802
1803
1804 if [[ "$ICS_FEATURE_LEVEL" == *"TYPE-SUBSCRIPTIONS"* ]]; then
1805     cr_equal 0 received_callbacks 28 30
1806
1807     cr_equal 0 received_callbacks?id=info-job101-status 1
1808     cr_equal 0 received_callbacks?id=info-job102-status 1
1809     cr_api_check_all_ics_events 200 0 info-job101-status DISABLED
1810     cr_api_check_all_ics_events 200 0 info-job102-status DISABLED
1811 else
1812     cr_equal 0 received_callbacks 12 30
1813
1814     cr_equal 0 received_callbacks?id=info-job101-status 1
1815     cr_equal 0 received_callbacks?id=info-job102-status 1
1816     cr_api_check_all_ics_events 200 0 info-job101-status DISABLED
1817     cr_api_check_all_ics_events 200 0 info-job102-status DISABLED
1818 fi
1819
1820
1821 # Arm producer prod-ie for supervision failure
1822 prodstub_arm_producer 200 prod-ie 400
1823
1824 ics_api_edp_get_producer_status 200 prod-ie DISABLED 1000
1825
1826 ics_api_edp_get_producer_ids_2 200 NOTYPE prod-ib prod-ic prod-id prod-ie prod-if prod-b prod-c prod-d prod-e
1827
1828 ics_api_edp_get_producer_status 404 prod-ia
1829 ics_api_edp_get_producer_status 200 prod-ib ENABLED
1830 ics_api_edp_get_producer_status 200 prod-ic ENABLED
1831 ics_api_edp_get_producer_status 200 prod-id ENABLED
1832 ics_api_edp_get_producer_status 200 prod-ie DISABLED
1833 ics_api_edp_get_producer_status 200 prod-if ENABLED
1834
1835 ics_api_idc_get_job_status2 200 job101 DISABLED EMPTYPROD
1836 ics_api_idc_get_job_status2 200 job102 DISABLED EMPTYPROD
1837 ics_api_idc_get_job_status2 200 job103 ENABLED 1 prod-ib
1838 ics_api_idc_get_job_status2 200 job108 ENABLED 1 prod-id
1839 ics_api_idc_get_job_status2 200 job110 ENABLED 2 prod-ie prod-if
1840
1841 #Disable create for job110 in prod-ie
1842 prodstub_arm_job_create 200 prod-ie job110 400
1843
1844 #Update tjob 10 - only prod-if will be updated
1845 ics_api_idc_put_job 200 job110 type106 $TARGET110 info-owner-4 $INFOSTATUS110 testdata/ics/job-template2.json  VALIDATE
1846 #Reset producer and job responses
1847 prodstub_arm_producer 200 prod-ie 200
1848 prodstub_arm_job_create 200 prod-ie job110 200
1849
1850 ics_api_edp_get_producer_status 200 prod-ie ENABLED 360
1851
1852 ics_api_edp_get_producer_ids_2 200 NOTYPE prod-ib prod-ic prod-id prod-ie prod-if  prod-b prod-c prod-d prod-e
1853
1854 #Wait for job to be updated
1855 sleep_wait 120
1856
1857 prodstub_check_jobdata_3 200 prod-if job110 type106 $TARGET110 info-owner-4 testdata/ics/job-template2.json
1858
1859 prodstub_arm_producer 200 prod-if 400
1860
1861 ics_api_edp_get_producer_status 200 prod-if DISABLED 360
1862
1863 if [[ "$ICS_FEATURE_LEVEL" == *"INFO-TYPES"* ]]; then
1864     ics_equal json:data-producer/v1/info-producers 8 1000
1865 else
1866     ics_equal json:ei-producer/v1/eiproducers 8 1000
1867 fi
1868
1869 ics_api_edp_get_producer_ids_2 200 NOTYPE prod-ib prod-ic prod-id prod-ie prod-b prod-c prod-d prod-e
1870
1871 ics_api_edp_get_producer_status 404 prod-ia
1872 ics_api_edp_get_producer_status 200 prod-ib ENABLED
1873 ics_api_edp_get_producer_status 200 prod-ic ENABLED
1874 ics_api_edp_get_producer_status 200 prod-id ENABLED
1875 ics_api_edp_get_producer_status 200 prod-ie ENABLED
1876 ics_api_edp_get_producer_status 404 prod-if
1877
1878 ics_api_idc_get_job_status2 200 job101 DISABLED EMPTYPROD
1879 ics_api_idc_get_job_status2 200 job102 DISABLED EMPTYPROD
1880 ics_api_idc_get_job_status2 200 job103 ENABLED 1 prod-ib
1881 ics_api_idc_get_job_status2 200 job108 ENABLED 1 prod-id
1882 ics_api_idc_get_job_status2 200 job110 ENABLED 1 prod-ie
1883
1884 if [[ "$ICS_FEATURE_LEVEL" == *"TYPE-SUBSCRIPTIONS"* ]]; then
1885     cr_equal 0 received_callbacks 28
1886 else
1887     cr_equal 0 received_callbacks 12
1888 fi
1889 ### Test of pre and post validation
1890
1891 ics_api_idc_get_type_ids 200 type1 type2 type4 type6 type101 type102 type104 type106
1892 ics_api_idc_put_job 404 job150 type150 $TARGET150 info-owner-1 $INFOSTATUS150 testdata/ics/job-template.json VALIDATE
1893 ics_api_idc_put_job 201 job160 type160 $TARGET160 info-owner-1 $INFOSTATUS160 testdata/ics/job-template.json
1894
1895 ics_api_idc_get_job_status2 404 job150
1896 ics_api_idc_get_job_status2 200 job160 DISABLED EMPTYPROD 60
1897
1898 prodstub_arm_producer 200 prod-ig
1899 prodstub_arm_job_create 200 prod-ig job150
1900 prodstub_arm_job_create 200 prod-ig job160
1901
1902 ics_api_edp_put_producer_2 201 prod-ig $CB_JOB/prod-ig $CB_SV/prod-ig NOTYPE
1903 ics_api_edp_get_producer_status 200 prod-ig ENABLED 360
1904
1905 ics_api_edp_get_producer_2 200 prod-ig $CB_JOB/prod-ig $CB_SV/prod-ig EMPTY
1906
1907 ics_api_idc_get_job_status2 404 job150
1908 ics_api_idc_get_job_status2 200 job160 DISABLED EMPTYPROD 60
1909
1910 prodstub_arm_type 200 prod-ig type160
1911
1912 ics_api_edp_put_type_2 201 type160 testdata/ics/info-type-60.json
1913 ics_api_idc_get_type_ids 200 type1 type2 type4 type6 type101 type102 type104 type106 type160
1914
1915 ics_api_edp_put_producer_2 200 prod-ig $CB_JOB/prod-ig $CB_SV/prod-ig type160
1916 ics_api_edp_get_producer_status 200 prod-ig ENABLED 360
1917 ics_api_edp_get_producer_2 200 prod-ig $CB_JOB/prod-ig $CB_SV/prod-ig type160
1918
1919 ics_api_idc_put_job 404 job150 type150 $TARGET150 info-owner-1 $INFOSTATUS150 testdata/ics/job-template.json VALIDATE
1920
1921 ics_api_idc_get_job_status2 404 job150
1922 ics_api_idc_get_job_status2 200 job160 ENABLED 1 prod-ig 60
1923
1924 prodstub_check_jobdata_3 200 prod-ig job160 type160 $TARGET160 info-owner-1 testdata/ics/job-template.json
1925
1926 prodstub_equal create/prod-ig/job160 1
1927 prodstub_equal delete/prod-ig/job160 0
1928
1929 prodstub_arm_type 200 prod-ig type150
1930
1931 ics_api_edp_put_type_2 201 type150 testdata/ics/info-type-50.json
1932 ics_api_idc_get_type_ids 200 type1 type2 type4 type6 type101 type102 type104 type106 type160 type150
1933
1934 if [[ "$ICS_FEATURE_LEVEL" == *"TYPE-SUBSCRIPTIONS"* ]]; then
1935     cr_equal 0 received_callbacks 30 30
1936     cr_equal 0 received_callbacks?id=type-status1 18
1937     cr_api_check_all_ics_subscription_events 200 0 type-status1 type160 testdata/ics/info-type-60.json REGISTERED type150 testdata/ics/info-type-50.json REGISTERED
1938 else
1939     cr_equal 0 received_callbacks 12
1940 fi
1941
1942 ics_api_edp_put_producer_2 200 prod-ig $CB_JOB/prod-ig $CB_SV/prod-ig type160 type150
1943 ics_api_edp_get_producer_status 200 prod-ig ENABLED 360
1944
1945 ics_api_edp_get_producer_2 200 prod-ig $CB_JOB/prod-ig $CB_SV/prod-ig type160 type150
1946
1947 ics_api_idc_get_job_status2 404 job150
1948 ics_api_idc_get_job_status2 200 job160 ENABLED  1 prod-ig
1949
1950 ics_api_idc_put_job 201 job150 type150 $TARGET150 info-owner-1 $INFOSTATUS150 testdata/ics/job-template.json VALIDATE
1951
1952 ics_api_idc_get_job_status2 200 job150 ENABLED  1 prod-ig 60
1953 ics_api_idc_get_job_status2 200 job160 ENABLED  1 prod-ig
1954
1955 if [[ "$ICS_FEATURE_LEVEL" == *"TYPE-SUBSCRIPTIONS"* ]]; then
1956     cr_equal 0 received_callbacks 30 30
1957     cr_equal 0 received_callbacks?id=type-status1 18
1958 else
1959     cr_equal 0 received_callbacks 12
1960 fi
1961
1962 # Test job deletion at type delete
1963
1964 if [[ "$ICS_FEATURE_LEVEL" == *"TYPE-SUBSCRIPTIONS"* ]]; then
1965
1966     if [[ "$ICS_FEATURE_LEVEL" == *"RESP_CODE_CHANGE_1" ]]; then
1967         ics_api_edp_delete_type_2 409 type104
1968     else
1969         ics_api_edp_delete_type_2 406 type104
1970     fi
1971
1972     ics_api_edp_delete_producer 204 prod-id
1973
1974     ics_api_edp_delete_type_2 204 type104
1975
1976     cr_equal 0 received_callbacks 32 30
1977     cr_equal 0 received_callbacks?id=info-job108-status 3
1978     cr_equal 0 received_callbacks?id=type-status1 19
1979     cr_api_check_all_ics_subscription_events 200 0 type-status1 type104 testdata/ics/info-type-4.json DEREGISTERED
1980     cr_api_check_all_ics_events 200 0 info-job108-status DISABLED
1981
1982     ics_api_edp_get_producer 404 prod-id
1983
1984     ics_api_idc_get_job 404 job-108
1985
1986 else
1987     cr_equal 0 received_callbacks 12
1988 fi
1989
1990 check_ics_logs
1991
1992 store_logs END
1993
1994 #### TEST COMPLETE ####
1995
1996 print_result
1997
1998 auto_clean_environment