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