3 # ============LICENSE_START===============================================
4 # Copyright (C) 2020-2023 Nordix Foundation. All rights reserved.
5 # Copyright (C) 2023 OpenInfra Foundation Europe. All rights reserved.
6 # ========================================================================
7 # Licensed under the Apache License, Version 2.0 (the "License");
8 # you may not use this file except in compliance with the License.
9 # You may obtain a copy of the License at
11 # http://www.apache.org/licenses/LICENSE-2.0
13 # Unless required by applicable law or agreed to in writing, software
14 # distributed under the License is distributed on an "AS IS" BASIS,
15 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16 # See the License for the specific language governing permissions and
17 # limitations under the License.
18 # ============LICENSE_END=================================================
22 TC_ONELINE_DESCR="ICS full interfaces walkthrough - with or without istio enabled"
26 #App names to include in the test when running docker, space separated list
27 DOCKER_INCLUDED_IMAGES="ICS PRODSTUB CR RICSIM CP HTTPPROXY NGW KUBEPROXY"
29 #App names to include in the test when running kubernetes, space separated list
30 if [ $USE_ISTIO -eq 0 ]; then
31 KUBE_INCLUDED_IMAGES="PRODSTUB CR ICS RICSIM CP HTTPPROXY KUBEPROXY NGW"
33 KUBE_INCLUDED_IMAGES="PRODSTUB CR ICS RICSIM CP HTTPPROXY KUBEPROXY NGW KEYCLOAK ISTIO AUTHSIDECAR"
35 #Pre-started app (not started by script) to include in the test when running kubernetes, space separated list
36 KUBE_PRESTARTED_IMAGES=""
38 #Ignore image in DOCKER_INCLUDED_IMAGES, KUBE_INCLUDED_IMAGES if
39 #the image is not configured in the supplied env_file
40 #Used for images not applicable to all supported profile
41 CONDITIONALLY_IGNORED_IMAGES="NGW"
43 #Supported test environment profiles
44 SUPPORTED_PROFILES="ONAP-KOHN ONAP-LONDON ONAP-MONTREAL ORAN-G-RELEASE ORAN-H-RELEASE ORAN-I-RELEASE"
46 SUPPORTED_RUNMODES="DOCKER KUBE"
48 . ../common/testcase_common.sh $@
56 if [ $RUNMODE != "KUBE" ]; then
58 echo "ISTIO not supported by docker - setting USE-ISTIO=0"
61 if [ $USE_ISTIO -eq 1 ]; then
62 echo -e $RED"#########################################"$ERED
63 echo -e $RED"# Work around istio jwks cache"$ERED
64 echo -e $RED"# Cycle istiod down and up to clear cache"$ERED
66 __kube_scale deployment istiod istio-system 0
67 __kube_scale deployment istiod istio-system 1
68 echo -e $RED"# Cycle istiod done"
69 echo -e $RED"#########################################"$ERED
72 istio_enable_istio_namespace $KUBE_SIM_NAMESPACE
73 istio_enable_istio_namespace $KUBE_NONRTRIC_NAMESPACE
74 istio_enable_istio_namespace $KUBE_A1SIM_NAMESPACE
80 if [ $USE_ISTIO -eq 1 ]; then
100 if [ $USE_ISTIO -eq 1 ]; then
103 keycloak_api_obtain_admin_token
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
112 keycloak_api_get_client_token nrtrealm icsc
114 CLIENT_TOKEN=$(keycloak_api_read_client_token nrtrealm icsc)
115 echo "CLIENT_TOKEN: "$CLIENT_TOKEN
117 ICS_SEC=$(keycloak_api_read_client_secret nrtrealm icsc)
118 echo "ICS_SEC: "$ICS_SEC
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
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
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
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
132 ics_configure_sec nrtrealm icsc $ICS_SEC
136 start_ics NOPROXY $SIM_GROUP/$ICS_COMPOSE_DIR/$ICS_CONFIG_FILE #Change NOPROXY to PROXY to run with http proxy
138 if [ $RUNMODE == "KUBE" ]; then
146 start_control_panel $SIM_GROUP/$CONTROL_PANEL_COMPOSE_DIR/$CONTROL_PANEL_CONFIG_FILE
148 if [ ! -z "$NRT_GATEWAY_APP_NAME" ]; then
149 start_gateway $SIM_GROUP/$NRT_GATEWAY_COMPOSE_DIR/$NRT_GATEWAY_CONFIG_FILE
152 start_ric_simulators ricsim_g3 4 STD_2.0.0
156 if [ $USE_ISTIO -eq 1 ]; then
157 echo "Sleep 120 to let istio settle - enabling istio on workloads may cause initial dns disturbances - temporary unavailable dns names"
161 CB_JOB="$PROD_STUB_SERVICE_PATH$PROD_STUB_JOB_CALLBACK"
162 CB_SV="$PROD_STUB_SERVICE_PATH$PROD_STUB_SUPERVISION_CALLBACK"
164 if [ $RUNMODE == "KUBE" ]; then
165 TARGET1="$RIC_SIM_HTTPX://ricsim-g3-1.ricsim-g3.$KUBE_A1SIM_NAMESPACE:$RIC_SIM_PORT/datadelivery"
166 TARGET2="$RIC_SIM_HTTPX://ricsim-g3-2.ricsim-g3.$KUBE_A1SIM_NAMESPACE:$RIC_SIM_PORT/datadelivery"
167 TARGET3="$RIC_SIM_HTTPX://ricsim-g3-3.ricsim-g3.$KUBE_A1SIM_NAMESPACE:$RIC_SIM_PORT/datadelivery"
168 TARGET8="$RIC_SIM_HTTPX://ricsim-g3-4.ricsim-g3.$KUBE_A1SIM_NAMESPACE:$RIC_SIM_PORT/datadelivery"
169 TARGET10="$RIC_SIM_HTTPX://ricsim-g3-4.ricsim-g3.$KUBE_A1SIM_NAMESPACE:$RIC_SIM_PORT/datadelivery"
171 TARGET1="$RIC_SIM_HTTPX://ricsim_g3_1:$RIC_SIM_PORT/datadelivery"
172 TARGET2="$RIC_SIM_HTTPX://ricsim_g3_2:$RIC_SIM_PORT/datadelivery"
173 TARGET3="$RIC_SIM_HTTPX://ricsim_g3_3:$RIC_SIM_PORT/datadelivery"
174 TARGET8="$RIC_SIM_HTTPX://ricsim_g3_4:$RIC_SIM_PORT/datadelivery"
175 TARGET10="$RIC_SIM_HTTPX://ricsim_g3_4:$RIC_SIM_PORT/datadelivery"
178 #Targets for info jobs
179 TARGET101="http://localhost:80/target" # Dummy target, no target for info data in this env...
180 TARGET102="http://localhost:80/target" # Dummy target, no target for info data in this env...
181 TARGET103="http://localhost:80/target" # Dummy target, no target for info data in this env...
182 TARGET108="http://localhost:80/target" # Dummy target, no target for info data in this env...
183 TARGET110="http://localhost:80/target" # Dummy target, no target for info data in this env...
184 TARGET150="http://localhost:80/target" # Dummy target, no target for info data in this env...
185 TARGET160="http://localhost:80/target" # Dummy target, no target for info data in this env...
187 #Status callbacks for eijobs
188 STATUS1="$CR_SERVICE_APP_PATH_0/job1-status"
189 STATUS2="$CR_SERVICE_APP_PATH_0/job2-status"
190 STATUS3="$CR_SERVICE_APP_PATH_0/job3-status"
191 STATUS8="$CR_SERVICE_APP_PATH_0/job8-status"
192 STATUS10="$CR_SERVICE_APP_PATH_0/job10-status"
194 #Status callbacks for infojobs
195 INFOSTATUS101="$CR_SERVICE_APP_PATH_0/info-job101-status"
196 INFOSTATUS102="$CR_SERVICE_APP_PATH_0/info-job102-status"
197 INFOSTATUS103="$CR_SERVICE_APP_PATH_0/info-job103-status"
198 INFOSTATUS108="$CR_SERVICE_APP_PATH_0/info-job108-status"
199 INFOSTATUS110="$CR_SERVICE_APP_PATH_0/info-job110-status"
200 INFOSTATUS150="$CR_SERVICE_APP_PATH_0/info-job150-status"
201 INFOSTATUS160="$CR_SERVICE_APP_PATH_0/info-job160-status"
203 if [[ "$ICS_FEATURE_LEVEL" == *"TYPE-SUBSCRIPTIONS"* ]]; then
204 #Type registration status callbacks
205 TYPESTATUS1="$CR_SERVICE_APP_PATH_0/type-status1"
206 TYPESTATUS2="$CR_SERVICE_APP_PATH_0/type-status2"
208 ics_api_idc_put_subscription 201 subscription-id-1 owner1 $TYPESTATUS1
210 ics_api_idc_get_subscription_ids 200 NOOWNER subscription-id-1
212 ics_api_idc_get_subscription_ids 200 owner1 subscription-id-1
214 ics_api_idc_get_subscription_ids 200 test EMPTY
216 ics_api_idc_get_subscription 200 subscription-id-1 owner1 $TYPESTATUS1
218 ics_api_idc_get_subscription 404 test
220 ics_api_idc_put_subscription 200 subscription-id-1 owner1 $TYPESTATUS1
222 ics_api_idc_put_subscription 200 subscription-id-1 owner1 $TYPESTATUS1
224 ics_api_idc_put_subscription 201 subscription-id-2 owner2 $TYPESTATUS2
226 ics_api_idc_get_subscription_ids 200 NOOWNER subscription-id-1 subscription-id-2
228 ics_api_idc_get_subscription_ids 200 owner1 subscription-id-1
230 ics_api_idc_get_subscription_ids 200 owner2 subscription-id-2
232 ics_api_idc_get_subscription 200 subscription-id-1 owner1 $TYPESTATUS1
233 ics_api_idc_get_subscription 200 subscription-id-2 owner2 $TYPESTATUS2
235 ics_api_idc_delete_subscription 204 subscription-id-2
237 ics_api_idc_get_subscription_ids 200 NOOWNER subscription-id-1
239 ics_api_edp_put_type_2 201 type1 testdata/ics/ei-type-1.json
241 cr_equal 0 received_callbacks 1 30
242 cr_equal 0 received_callbacks?id=type-status1 1
243 cr_api_check_all_ics_subscription_events 200 0 type-status1 type1 testdata/ics/ei-type-1.json REGISTERED
245 ics_api_edp_delete_type_2 204 type1
247 cr_equal 0 received_callbacks 2 30
248 cr_equal 0 received_callbacks?id=type-status1 2
249 cr_api_check_all_ics_subscription_events 200 0 type-status1 type1 testdata/ics/ei-type-1.json DEREGISTERED
251 ics_api_idc_put_subscription 201 subscription-id-2 owner2 $TYPESTATUS2
252 ics_api_idc_get_subscription_ids 200 NOOWNER subscription-id-1 subscription-id-2
254 ics_api_edp_put_type_2 201 type1 testdata/ics/ei-type-1.json
256 cr_equal 0 received_callbacks 4 30
257 cr_equal 0 received_callbacks?id=type-status1 3
258 cr_equal 0 received_callbacks?id=type-status2 1
259 cr_api_check_all_ics_subscription_events 200 0 type-status1 type1 testdata/ics/ei-type-1.json REGISTERED
261 ics_api_idc_delete_subscription 204 subscription-id-2
263 ics_api_edp_delete_type_2 204 type1
265 cr_equal 0 received_callbacks 5 30
266 cr_equal 0 received_callbacks?id=type-status1 4
267 cr_equal 0 received_callbacks?id=type-status2 1
268 cr_api_check_all_ics_subscription_events 200 0 type-status1 type1 testdata/ics/ei-type-1.json DEREGISTERED
273 ### Setup prodstub sim to accept calls for producers, types and jobs
275 ## prod-b type1 and type2
287 ## job10 -> prod-e and prod-f
289 prodstub_arm_producer 200 prod-a
290 prodstub_arm_producer 200 prod-b
291 prodstub_arm_producer 200 prod-c
292 prodstub_arm_producer 200 prod-d
293 prodstub_arm_producer 200 prod-e
294 prodstub_arm_producer 200 prod-f
296 prodstub_arm_type 200 prod-a type1
297 prodstub_arm_type 200 prod-b type2
298 prodstub_arm_type 200 prod-b type3
299 prodstub_arm_type 200 prod-d type4
300 prodstub_arm_type 200 prod-e type6
301 prodstub_arm_type 200 prod-f type6
303 prodstub_disarm_type 200 prod-b type3
304 prodstub_arm_type 200 prod-b type1
305 prodstub_disarm_type 200 prod-b type1
308 prodstub_arm_job_create 200 prod-a job1
309 prodstub_arm_job_create 200 prod-a job2
310 prodstub_arm_job_create 200 prod-b job3
312 prodstub_arm_job_delete 200 prod-a job1
313 prodstub_arm_job_delete 200 prod-a job2
314 prodstub_arm_job_delete 200 prod-b job3
316 prodstub_arm_job_create 200 prod-b job4
317 prodstub_arm_job_create 200 prod-a job4
319 prodstub_arm_job_create 200 prod-b job6
321 prodstub_arm_job_create 200 prod-d job8
323 prodstub_arm_job_create 200 prod-e job10
324 prodstub_arm_job_create 200 prod-f job10
327 ics_api_service_status 200
329 cr_equal 0 received_callbacks 0
331 ### Initial tests - no config made
332 ### GET: type ids, types, producer ids, producers, job ids, jobs
334 ics_api_a1_get_type_ids 200 EMPTY
335 ics_api_a1_get_type 404 test-type
337 ics_api_edp_get_type_ids 200 EMPTY
338 ics_api_edp_get_type_2 404 test-type
340 ics_api_edp_get_producer_ids_2 200 NOTYPE EMPTY
341 ics_api_edp_get_producer_2 404 test-prod
343 ics_api_edp_get_producer_status 404 test-prod
345 ics_api_edp_delete_producer 404 test-prod
347 ics_api_a1_get_job_ids 200 test-type NOWNER EMPTY
348 ics_api_a1_get_job_ids 200 test-type test-owner EMPTY
350 ics_api_a1_get_job 404 test-job
352 ics_api_a1_get_job_status 404 test-job
354 ics_api_a1_delete_job 404 test-job
356 ics_api_edp_get_producer_ids_2 200 NOTYPE EMPTY
357 ics_api_edp_get_producer_2 404 test-prod
359 ics_api_edp_get_type_2 404 test-type
360 ics_api_edp_delete_type_2 404 test-type
362 ### Setup of producer/job and testing apis ###
365 ics_api_edp_get_type_ids 200 EMPTY
366 ics_api_edp_get_type_2 404 type1
367 ics_api_edp_put_producer_2 404 prod-a $CB_JOB/prod-a $CB_SV/prod-a type1
369 # Create type, delete and create again
370 ics_api_edp_put_type_2 201 type1 testdata/ics/ei-type-1.json
371 ics_api_edp_get_type_2 200 type1
372 ics_api_edp_get_type_ids 200 type1
373 ics_api_edp_delete_type_2 204 type1
374 ics_api_edp_get_type_2 404 type1
375 ics_api_edp_get_type_ids 200 EMPTY
376 if [[ "$ICS_FEATURE_LEVEL" == *"INFO-TYPE-INFO"* ]]; then
377 ics_api_edp_put_type_2 201 type1 testdata/ics/ei-type-1.json testdata/ics/info-type-info.json
379 ics_api_edp_put_type_2 201 type1 testdata/ics/ei-type-1.json
381 ics_api_edp_get_type_ids 200 type1
382 if [[ "$ICS_FEATURE_LEVEL" == *"INFO-TYPE-INFO"* ]]; then
383 ics_api_edp_get_type_2 200 type1 testdata/ics/ei-type-1.json testdata/ics/info-type-info.json
385 ics_api_edp_get_type_2 200 type1 testdata/ics/ei-type-1.json
388 ics_api_edp_put_producer_2 201 prod-a $CB_JOB/prod-a $CB_SV/prod-a type1
389 ics_api_edp_put_producer_2 200 prod-a $CB_JOB/prod-a $CB_SV/prod-a type1
391 if [[ "$ICS_FEATURE_LEVEL" == *"TYPE-SUBSCRIPTIONS"* ]]; then
392 cr_equal 0 received_callbacks 3 30
393 cr_equal 0 received_callbacks?id=type-status1 3
394 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
396 cr_equal 0 received_callbacks 0
399 ics_api_a1_get_type_ids 200 type1
400 ics_api_a1_get_type 200 type1 testdata/ics/empty-type.json
402 ics_api_edp_get_type_ids 200 type1
403 if [[ "$ICS_FEATURE_LEVEL" == *"INFO-TYPE-INFO"* ]]; then
404 ics_api_edp_get_type_2 200 type1 testdata/ics/ei-type-1.json testdata/ics/info-type-info.json
406 ics_api_edp_get_type_2 200 type1 testdata/ics/ei-type-1.json
409 ics_api_edp_get_producer_ids_2 200 NOTYPE prod-a
410 ics_api_edp_get_producer_ids_2 200 type1 prod-a
411 ics_api_edp_get_producer_ids_2 200 type2 EMPTY
413 ics_api_edp_get_producer_2 200 prod-a $CB_JOB/prod-a $CB_SV/prod-a type1
415 ics_api_edp_get_producer_status 200 prod-a ENABLED
417 ics_api_a1_get_job_ids 200 type1 NOWNER EMPTY
418 ics_api_a1_get_job_ids 200 type1 test-owner EMPTY
420 ics_api_a1_get_job 404 test-job
422 ics_api_a1_get_job_status 404 test-job
424 ics_api_edp_get_producer_jobs_2 200 prod-a EMPTY
426 ## Create a job for prod-a
428 ics_api_a1_put_job 201 job1 type1 $TARGET1 ricsim_g3_1 $STATUS1 testdata/ics/job-template.json
430 # Check the job data in the producer
431 prodstub_check_jobdata_3 200 prod-a job1 type1 $TARGET1 ricsim_g3_1 testdata/ics/job-template.json
433 ics_api_a1_get_job_ids 200 type1 NOWNER job1
434 ics_api_a1_get_job_ids 200 type1 ricsim_g3_1 job1
436 ics_api_a1_get_job_ids 200 NOTYPE NOWNER job1
438 ics_api_a1_get_job 200 job1 type1 $TARGET1 ricsim_g3_1 $STATUS1 testdata/ics/job-template.json
440 ics_api_a1_get_job_status 200 job1 ENABLED
442 prodstub_equal create/prod-a/job1 1
444 ics_api_edp_get_producer_jobs_2 200 prod-a job1 type1 $TARGET1 ricsim_g3_1 testdata/ics/job-template.json
447 ## Create a second job for prod-a
449 ics_api_a1_put_job 201 job2 type1 $TARGET2 ricsim_g3_2 $STATUS2 testdata/ics/job-template.json
451 # Check the job data in the producer
452 prodstub_check_jobdata_3 200 prod-a job2 type1 $TARGET2 ricsim_g3_2 testdata/ics/job-template.json
453 ics_api_a1_get_job_ids 200 type1 NOWNER job1 job2
454 ics_api_a1_get_job_ids 200 type1 ricsim_g3_1 job1
455 ics_api_a1_get_job_ids 200 type1 ricsim_g3_2 job2
456 ics_api_a1_get_job_ids 200 NOTYPE NOWNER job1 job2
458 ics_api_a1_get_job 200 job2 type1 $TARGET2 ricsim_g3_2 $STATUS2 testdata/ics/job-template.json
460 ics_api_a1_get_job_status 200 job2 ENABLED
462 prodstub_equal create/prod-a/job2 1
464 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
467 ics_api_edp_put_type_2 201 type2 testdata/ics/ei-type-2.json
468 ics_api_edp_put_producer_2 201 prod-b $CB_JOB/prod-b $CB_SV/prod-b type2
469 if [[ "$ICS_FEATURE_LEVEL" == *"TYPE-SUBSCRIPTIONS"* ]]; then
470 cr_equal 0 received_callbacks 4 30
471 cr_equal 0 received_callbacks?id=type-status1 4
472 cr_api_check_all_ics_subscription_events 200 0 type-status1 type2 testdata/ics/ei-type-2.json REGISTERED
474 cr_equal 0 received_callbacks 0
478 ics_api_a1_get_type_ids 200 type1 type2
480 ics_api_a1_get_type 200 type1 testdata/ics/empty-type.json
481 ics_api_a1_get_type 200 type2 testdata/ics/empty-type.json
483 ics_api_edp_get_type_ids 200 type1 type2
484 if [[ "$ICS_FEATURE_LEVEL" == *"INFO-TYPE-INFO"* ]]; then
485 ics_api_edp_get_type_2 200 type1 testdata/ics/ei-type-1.json testdata/ics/info-type-info.json
487 ics_api_edp_get_type_2 200 type1 testdata/ics/ei-type-1.json
489 ics_api_edp_get_type_2 200 type2 testdata/ics/ei-type-2.json
491 ics_api_edp_get_producer_ids_2 200 NOTYPE prod-a prod-b
493 ics_api_edp_get_producer_2 200 prod-a $CB_JOB/prod-a $CB_SV/prod-a type1
494 ics_api_edp_get_producer_2 200 prod-b $CB_JOB/prod-b $CB_SV/prod-b type2
496 ics_api_edp_get_producer_status 200 prod-b ENABLED
498 ## Create job for prod-b
500 ics_api_a1_put_job 201 job3 type2 $TARGET3 ricsim_g3_3 $STATUS3 testdata/ics/job-template.json
502 prodstub_equal create/prod-b/job3 1
504 # Check the job data in the producer
505 prodstub_check_jobdata_3 200 prod-b job3 type2 $TARGET3 ricsim_g3_3 testdata/ics/job-template.json
507 ics_api_a1_get_job_ids 200 type1 NOWNER job1 job2
508 ics_api_a1_get_job_ids 200 type2 NOWNER job3
509 ics_api_a1_get_job_ids 200 type1 ricsim_g3_1 job1
510 ics_api_a1_get_job_ids 200 type1 ricsim_g3_2 job2
511 ics_api_a1_get_job_ids 200 type2 ricsim_g3_3 job3
513 ics_api_a1_get_job 200 job3 type2 $TARGET3 ricsim_g3_3 $STATUS3 testdata/ics/job-template.json
515 ics_api_a1_get_job_status 200 job3 ENABLED
517 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
518 ics_api_edp_get_producer_jobs_2 200 prod-b job3 type2 $TARGET3 ricsim_g3_3 testdata/ics/job-template.json
521 ## Setup prod-c (no types)
522 ics_api_edp_put_producer_2 201 prod-c $CB_JOB/prod-c $CB_SV/prod-c NOTYPE
524 ics_api_edp_get_producer_ids_2 200 NOTYPE prod-a prod-b prod-c
526 ics_api_edp_get_producer_2 200 prod-a $CB_JOB/prod-a $CB_SV/prod-a type1
527 ics_api_edp_get_producer_2 200 prod-b $CB_JOB/prod-b $CB_SV/prod-b type2
528 ics_api_edp_get_producer_2 200 prod-c $CB_JOB/prod-c $CB_SV/prod-c EMPTY
530 ics_api_edp_get_producer_status 200 prod-c ENABLED
533 ## Delete job3 and prod-b and re-create if different order
535 # Delete job then producer
536 ics_api_a1_get_job_ids 200 NOTYPE NOWNER job1 job2 job3
537 ics_api_edp_get_producer_ids_2 200 NOTYPE prod-a prod-b prod-c
539 ics_api_a1_delete_job 204 job3
541 ics_api_a1_get_job_ids 200 NOTYPE NOWNER job1 job2
542 ics_api_edp_get_producer_ids_2 200 NOTYPE prod-a prod-b prod-c
544 ics_api_edp_delete_producer 204 prod-b
546 ics_api_edp_get_producer_status 404 prod-b
548 ics_api_a1_get_job_ids 200 NOTYPE NOWNER job1 job2
549 ics_api_edp_get_producer_ids_2 200 NOTYPE prod-a prod-c
551 prodstub_equal delete/prod-b/job3 1
553 ics_api_a1_put_job 201 job3 type2 $TARGET3 ricsim_g3_3 $STATUS3 testdata/ics/job-template.json
554 ics_api_a1_get_job_status 200 job3 DISABLED
556 # Put producer then job
557 ics_api_edp_put_producer_2 201 prod-b $CB_JOB/prod-b $CB_SV/prod-b type2
559 ics_api_edp_get_producer_status 200 prod-b ENABLED
561 ics_api_a1_put_job 200 job3 type2 $TARGET3 ricsim_g3_3 $STATUS3 testdata/ics/job-template2.json
563 ics_api_a1_get_job_status 200 job3 ENABLED
565 prodstub_check_jobdata_3 200 prod-b job3 type2 $TARGET3 ricsim_g3_3 testdata/ics/job-template2.json
567 ics_api_a1_get_job_ids 200 NOTYPE NOWNER job1 job2 job3
568 ics_api_edp_get_producer_ids_2 200 NOTYPE prod-a prod-b prod-c
570 prodstub_equal create/prod-b/job3 3
571 prodstub_equal delete/prod-b/job3 1
573 # Delete only the producer
574 ics_api_edp_delete_producer 204 prod-b
576 ics_api_edp_get_producer_status 404 prod-b
578 ics_api_a1_get_job_ids 200 NOTYPE NOWNER job1 job2 job3
579 ics_api_edp_get_producer_ids_2 200 NOTYPE prod-a prod-c
581 ics_api_a1_get_job_status 200 job3 DISABLED
583 if [[ "$ICS_FEATURE_LEVEL" == *"TYPE-SUBSCRIPTIONS"* ]]; then
584 cr_equal 0 received_callbacks 5 30
585 cr_equal 0 received_callbacks?id=type-status1 4
586 cr_equal 0 received_callbacks?id=job3-status 1
587 cr_api_check_all_ics_events 200 0 job3-status DISABLED
589 cr_equal 0 received_callbacks 1 30
590 cr_equal 0 received_callbacks?id=job3-status 1
591 cr_api_check_all_ics_events 200 0 job3-status DISABLED
594 # Re-create the producer
595 ics_api_edp_put_producer_2 201 prod-b $CB_JOB/prod-b $CB_SV/prod-b type2
597 ics_api_edp_get_producer_status 200 prod-b ENABLED
599 ics_api_a1_get_job_status 200 job3 ENABLED
601 if [[ "$ICS_FEATURE_LEVEL" == *"TYPE-SUBSCRIPTIONS"* ]]; then
602 cr_equal 0 received_callbacks 6 30
603 cr_equal 0 received_callbacks?id=type-status1 4
604 cr_equal 0 received_callbacks?id=job3-status 2
605 cr_api_check_all_ics_events 200 0 job3-status ENABLED
607 cr_equal 0 received_callbacks 2 30
608 cr_equal 0 received_callbacks?id=job3-status 2
609 cr_api_check_all_ics_events 200 0 job3-status ENABLED
612 prodstub_check_jobdata_3 200 prod-b job3 type2 $TARGET3 ricsim_g3_3 testdata/ics/job-template2.json
615 ics_api_edp_put_type_2 201 type4 testdata/ics/ei-type-4.json
616 ics_api_edp_put_producer_2 201 prod-d $CB_JOB/prod-d $CB_SV/prod-d type4
618 if [[ "$ICS_FEATURE_LEVEL" == *"TYPE-SUBSCRIPTIONS"* ]]; then
619 cr_equal 0 received_callbacks 7 30
620 cr_equal 0 received_callbacks?id=type-status1 5
621 cr_api_check_all_ics_subscription_events 200 0 type-status1 type4 testdata/ics/ei-type-4.json REGISTERED
624 ics_api_a1_get_job_ids 200 type4 NOWNER EMPTY
626 ics_api_a1_put_job 201 job8 type4 $TARGET8 ricsim_g3_4 $STATUS8 testdata/ics/job-template.json
628 prodstub_check_jobdata_3 200 prod-d job8 type4 $TARGET8 ricsim_g3_4 testdata/ics/job-template.json
630 prodstub_equal create/prod-d/job8 1
631 prodstub_equal delete/prod-d/job8 0
633 ics_api_a1_get_job_ids 200 type4 NOWNER job8
635 ics_api_a1_get_job_status 200 job8 ENABLED
637 # Re-PUT the producer with zero types
638 ics_api_edp_put_producer_2 200 prod-d $CB_JOB/prod-d $CB_SV/prod-d NOTYPE
640 ics_api_a1_get_job_ids 200 type4 NOWNER job8
641 ics_api_a1_get_job_ids 200 NOTYPE NOWNER job1 job2 job3 job8
643 ics_api_a1_get_job_status 200 job8 DISABLED
645 if [[ "$ICS_FEATURE_LEVEL" == *"TYPE-SUBSCRIPTIONS"* ]]; then
646 cr_equal 0 received_callbacks 8 30
647 cr_equal 0 received_callbacks?id=type-status1 5
648 cr_equal 0 received_callbacks?id=job8-status 1
649 cr_api_check_all_ics_events 200 0 job8-status DISABLED
651 cr_equal 0 received_callbacks 3 30
652 cr_equal 0 received_callbacks?id=job8-status 1
653 cr_api_check_all_ics_events 200 0 job8-status DISABLED
656 prodstub_equal create/prod-d/job8 1
657 prodstub_equal delete/prod-d/job8 0
660 ics_api_edp_put_type_2 200 type4 testdata/ics/ei-type-4.json
661 ics_api_edp_put_producer_2 200 prod-d $CB_JOB/prod-d $CB_SV/prod-d type4
663 ics_api_a1_get_job_ids 200 type4 NOWNER job8
664 ics_api_a1_get_job_ids 200 NOTYPE NOWNER job1 job2 job3 job8
666 ics_api_a1_get_job_status 200 job8 ENABLED
668 ics_api_edp_get_producer_status 200 prod-a ENABLED
669 ics_api_edp_get_producer_status 200 prod-b ENABLED
670 ics_api_edp_get_producer_status 200 prod-c ENABLED
671 ics_api_edp_get_producer_status 200 prod-d ENABLED
673 if [[ "$ICS_FEATURE_LEVEL" == *"TYPE-SUBSCRIPTIONS"* ]]; then
674 cr_equal 0 received_callbacks 10 30
675 cr_equal 0 received_callbacks?id=type-status1 6
676 cr_api_check_all_ics_subscription_events 200 0 type-status1 type4 testdata/ics/ei-type-4.json REGISTERED
678 cr_equal 0 received_callbacks?id=job8-status 2
679 cr_api_check_all_ics_events 200 0 job8-status ENABLED
681 cr_equal 0 received_callbacks 4 30
682 cr_equal 0 received_callbacks?id=job8-status 2
683 cr_api_check_all_ics_events 200 0 job8-status ENABLED
686 prodstub_equal create/prod-d/job8 2
687 prodstub_equal delete/prod-d/job8 0
690 ics_api_edp_put_type_2 201 type6 testdata/ics/ei-type-6.json
691 ics_api_edp_put_producer_2 201 prod-e $CB_JOB/prod-e $CB_SV/prod-e type6
693 if [[ "$ICS_FEATURE_LEVEL" == *"TYPE-SUBSCRIPTIONS"* ]]; then
694 cr_equal 0 received_callbacks 11 30
695 cr_equal 0 received_callbacks?id=type-status1 7
696 cr_api_check_all_ics_subscription_events 200 0 type-status1 type6 testdata/ics/ei-type-6.json REGISTERED
699 ics_api_a1_get_job_ids 200 type6 NOWNER EMPTY
701 ics_api_a1_put_job 201 job10 type6 $TARGET10 ricsim_g3_4 $STATUS10 testdata/ics/job-template.json
703 prodstub_check_jobdata_3 200 prod-e job10 type6 $TARGET10 ricsim_g3_4 testdata/ics/job-template.json
705 prodstub_equal create/prod-e/job10 1
706 prodstub_equal delete/prod-e/job10 0
708 ics_api_a1_get_job_ids 200 type6 NOWNER job10
710 ics_api_a1_get_job_status 200 job10 ENABLED
713 ics_api_edp_put_type_2 200 type6 testdata/ics/ei-type-6.json
714 ics_api_edp_put_producer_2 201 prod-f $CB_JOB/prod-f $CB_SV/prod-f type6
716 if [[ "$ICS_FEATURE_LEVEL" == *"TYPE-SUBSCRIPTIONS"* ]]; then
717 cr_equal 0 received_callbacks 12 30
718 cr_equal 0 received_callbacks?id=type-status1 8
719 cr_api_check_all_ics_subscription_events 200 0 type-status1 type6 testdata/ics/ei-type-6.json REGISTERED
722 ics_api_a1_get_job_ids 200 type6 NOWNER job10
724 prodstub_check_jobdata_3 200 prod-f job10 type6 $TARGET10 ricsim_g3_4 testdata/ics/job-template.json
726 prodstub_equal create/prod-f/job10 1
727 prodstub_equal delete/prod-f/job10 0
729 ics_api_a1_get_job_ids 200 type6 NOWNER job10
731 ics_api_a1_get_job_status 200 job10 ENABLED
733 ## Status updates prod-a and jobs
735 ics_api_edp_get_producer_ids_2 200 NOTYPE prod-a prod-b prod-c prod-d prod-e prod-f
737 ics_api_edp_get_producer_status 200 prod-a ENABLED
738 ics_api_edp_get_producer_status 200 prod-b ENABLED
739 ics_api_edp_get_producer_status 200 prod-c ENABLED
740 ics_api_edp_get_producer_status 200 prod-d ENABLED
741 ics_api_edp_get_producer_status 200 prod-e ENABLED
742 ics_api_edp_get_producer_status 200 prod-f ENABLED
744 # Arm producer prod-a for supervision failure
745 prodstub_arm_producer 200 prod-a 400
747 # Wait for producer prod-a to go disabled
748 ics_api_edp_get_producer_status 200 prod-a DISABLED 360
750 ics_api_edp_get_producer_ids_2 200 NOTYPE prod-a prod-b prod-c prod-d prod-e prod-f
752 ics_api_edp_get_producer_status 200 prod-a DISABLED
753 ics_api_edp_get_producer_status 200 prod-b ENABLED
754 ics_api_edp_get_producer_status 200 prod-c ENABLED
755 ics_api_edp_get_producer_status 200 prod-d ENABLED
756 ics_api_edp_get_producer_status 200 prod-e ENABLED
757 ics_api_edp_get_producer_status 200 prod-f ENABLED
760 ics_api_a1_get_job_status 200 job1 ENABLED
761 ics_api_a1_get_job_status 200 job2 ENABLED
762 ics_api_a1_get_job_status 200 job3 ENABLED
763 ics_api_a1_get_job_status 200 job8 ENABLED
764 ics_api_a1_get_job_status 200 job10 ENABLED
766 # Arm producer prod-a for supervision
767 prodstub_arm_producer 200 prod-a 200
769 # Wait for producer prod-a to go enabled
770 ics_api_edp_get_producer_status 200 prod-a ENABLED 360
772 ics_api_edp_get_producer_ids_2 200 NOTYPE prod-a prod-b prod-c prod-d prod-e prod-f
774 ics_api_edp_get_producer_status 200 prod-a ENABLED
775 ics_api_edp_get_producer_status 200 prod-b ENABLED
776 ics_api_edp_get_producer_status 200 prod-c ENABLED
777 ics_api_edp_get_producer_status 200 prod-d ENABLED
778 ics_api_edp_get_producer_status 200 prod-e ENABLED
779 ics_api_edp_get_producer_status 200 prod-f ENABLED
781 ics_api_a1_get_job_status 200 job1 ENABLED
782 ics_api_a1_get_job_status 200 job2 ENABLED
783 ics_api_a1_get_job_status 200 job3 ENABLED
784 ics_api_a1_get_job_status 200 job8 ENABLED
785 ics_api_a1_get_job_status 200 job10 ENABLED
787 # Arm producer prod-a for supervision failure
788 prodstub_arm_producer 200 prod-a 400
790 # Wait for producer prod-a to go disabled
791 ics_api_edp_get_producer_status 200 prod-a DISABLED 360
793 ics_api_edp_get_producer_ids_2 200 NOTYPE prod-a prod-b prod-c prod-d prod-e prod-f
795 ics_api_edp_get_producer_status 200 prod-a DISABLED
796 ics_api_edp_get_producer_status 200 prod-b ENABLED
797 ics_api_edp_get_producer_status 200 prod-c ENABLED
798 ics_api_edp_get_producer_status 200 prod-d ENABLED
799 ics_api_edp_get_producer_status 200 prod-e ENABLED
800 ics_api_edp_get_producer_status 200 prod-f ENABLED
802 ics_api_a1_get_job_status 200 job1 ENABLED
803 ics_api_a1_get_job_status 200 job2 ENABLED
804 ics_api_a1_get_job_status 200 job3 ENABLED
805 ics_api_a1_get_job_status 200 job8 ENABLED
806 ics_api_a1_get_job_status 200 job10 ENABLED
808 # Wait for producer prod-a to be removed
809 ics_equal json:data-producer/v1/info-producers 5 1000
811 ics_api_edp_get_producer_ids_2 200 NOTYPE prod-b prod-c prod-d prod-e prod-f
814 ics_api_edp_get_producer_status 404 prod-a
815 ics_api_edp_get_producer_status 200 prod-b ENABLED
816 ics_api_edp_get_producer_status 200 prod-c ENABLED
817 ics_api_edp_get_producer_status 200 prod-d ENABLED
818 ics_api_edp_get_producer_status 200 prod-e ENABLED
819 ics_api_edp_get_producer_status 200 prod-f ENABLED
821 ics_api_a1_get_job_status 200 job1 DISABLED
822 ics_api_a1_get_job_status 200 job2 DISABLED
823 ics_api_a1_get_job_status 200 job3 ENABLED
824 ics_api_a1_get_job_status 200 job8 ENABLED
825 ics_api_a1_get_job_status 200 job10 ENABLED
827 if [[ "$ICS_FEATURE_LEVEL" == *"TYPE-SUBSCRIPTIONS"* ]]; then
828 cr_equal 0 received_callbacks 14 30
830 cr_equal 0 received_callbacks 6 30
833 cr_equal 0 received_callbacks?id=job1-status 1
834 cr_equal 0 received_callbacks?id=job2-status 1
836 cr_api_check_all_ics_events 200 0 job1-status DISABLED
837 cr_api_check_all_ics_events 200 0 job2-status DISABLED
840 # Arm producer prod-e for supervision failure
841 prodstub_arm_producer 200 prod-e 400
843 ics_api_edp_get_producer_status 200 prod-e DISABLED 1000
845 ics_api_edp_get_producer_ids_2 200 NOTYPE prod-b prod-c prod-d prod-e prod-f
847 ics_api_edp_get_producer_status 404 prod-a
848 ics_api_edp_get_producer_status 200 prod-b ENABLED
849 ics_api_edp_get_producer_status 200 prod-c ENABLED
850 ics_api_edp_get_producer_status 200 prod-d ENABLED
851 ics_api_edp_get_producer_status 200 prod-e DISABLED
852 ics_api_edp_get_producer_status 200 prod-f ENABLED
854 ics_api_a1_get_job_status 200 job1 DISABLED
855 ics_api_a1_get_job_status 200 job2 DISABLED
856 ics_api_a1_get_job_status 200 job3 ENABLED
857 ics_api_a1_get_job_status 200 job8 ENABLED
858 ics_api_a1_get_job_status 200 job10 ENABLED
860 #Disable create for job10 in prod-e
861 prodstub_arm_job_create 200 prod-e job10 400
863 #Update tjob 10 - only prod-f will be updated
864 ics_api_a1_put_job 200 job10 type6 $TARGET10 ricsim_g3_4 $STATUS10 testdata/ics/job-template2.json
865 #Reset producer and job responses
866 prodstub_arm_producer 200 prod-e 200
867 prodstub_arm_job_create 200 prod-e job10 200
869 ics_api_edp_get_producer_status 200 prod-e ENABLED 360
871 ics_api_edp_get_producer_ids_2 200 NOTYPE prod-b prod-c prod-d prod-e prod-f
873 #Wait for job to be updated
876 prodstub_check_jobdata_3 200 prod-f job10 type6 $TARGET10 ricsim_g3_4 testdata/ics/job-template2.json
878 prodstub_arm_producer 200 prod-f 400
880 ics_api_edp_get_producer_status 200 prod-f DISABLED 360
882 ics_equal json:data-producer/v1/info-producers 4 1000
884 ics_api_edp_get_producer_ids_2 200 NOTYPE prod-b prod-c prod-d prod-e
886 ics_api_edp_get_producer_status 404 prod-a
887 ics_api_edp_get_producer_status 200 prod-b ENABLED
888 ics_api_edp_get_producer_status 200 prod-c ENABLED
889 ics_api_edp_get_producer_status 200 prod-d ENABLED
890 ics_api_edp_get_producer_status 200 prod-e ENABLED
891 ics_api_edp_get_producer_status 404 prod-f
893 ics_api_a1_get_job_status 200 job1 DISABLED
894 ics_api_a1_get_job_status 200 job2 DISABLED
895 ics_api_a1_get_job_status 200 job3 ENABLED
896 ics_api_a1_get_job_status 200 job8 ENABLED
897 ics_api_a1_get_job_status 200 job10 ENABLED
899 if [[ "$ICS_FEATURE_LEVEL" == *"TYPE-SUBSCRIPTIONS"* ]]; then
900 cr_equal 0 received_callbacks 14 30
902 cr_equal 0 received_callbacks 6 30
906 ############################################
908 ############################################
910 ### Setup prodstub sim to accept calls for producers, info types and jobs
912 ## prod-ib type101 and type102
917 ## prod-ig type150 (configured later)
918 ## prod-ig type160 (configured later)
926 ## job110 -> prod-ie and prod-if
927 ## job150 -> prod-ig (configured later)
929 prodstub_arm_producer 200 prod-ia
930 prodstub_arm_producer 200 prod-ib
931 prodstub_arm_producer 200 prod-ic
932 prodstub_arm_producer 200 prod-id
933 prodstub_arm_producer 200 prod-ie
934 prodstub_arm_producer 200 prod-if
936 prodstub_arm_type 200 prod-ia type101
937 prodstub_arm_type 200 prod-ib type102
938 prodstub_arm_type 200 prod-ib type103
939 prodstub_arm_type 200 prod-id type104
940 prodstub_arm_type 200 prod-ie type106
941 prodstub_arm_type 200 prod-if type106
943 prodstub_disarm_type 200 prod-ib type103
944 prodstub_arm_type 200 prod-ib type101
945 prodstub_disarm_type 200 prod-ib type101
948 prodstub_arm_job_create 200 prod-ia job101
949 prodstub_arm_job_create 200 prod-ia job102
950 prodstub_arm_job_create 200 prod-ib job103
952 prodstub_arm_job_delete 200 prod-ia job101
953 prodstub_arm_job_delete 200 prod-ia job102
954 prodstub_arm_job_delete 200 prod-ib job103
956 prodstub_arm_job_create 200 prod-ib job104
957 prodstub_arm_job_create 200 prod-ia job104
959 prodstub_arm_job_create 200 prod-ib job106
961 prodstub_arm_job_create 200 prod-id job108
963 prodstub_arm_job_create 200 prod-ie job110
964 prodstub_arm_job_create 200 prod-if job110
967 # NOTE: types, jobs and producers are still present related to eitypes
970 ### Initial tests - no config made
971 ### GET: type ids, types, producer ids, producers, job ids, jobs
973 ics_api_idc_get_type_ids 200 type1 type2 type4 type6
974 ics_api_idc_get_type 404 test-type
976 ics_api_edp_get_type_ids 200 type1 type2 type4 type6
977 ics_api_edp_get_type_2 404 test-type
979 ics_api_edp_get_producer_ids_2 200 NOTYPE prod-b prod-c prod-d prod-e
980 ics_api_edp_get_producer_2 404 test-prod
981 ics_api_edp_get_producer_status 404 test-prod
983 ics_api_edp_delete_producer 404 test-prod
985 ics_api_idc_get_job_ids 200 test-type NOWNER EMPTY
986 ics_api_idc_get_job_ids 200 test-type test-owner EMPTY
988 ics_api_idc_get_job 404 test-job
990 ics_api_idc_get_job_status2 404 test-job
992 ics_api_idc_delete_job 404 test-job
994 ics_api_edp_get_producer_jobs_2 404 test-prod
996 ics_api_edp_get_type_2 404 test-type
997 ics_api_edp_delete_type_2 404 test-type
999 ### Setup of producer/job and testing apis ###
1002 ics_api_edp_get_type_ids 200 type1 type2 type4 type6
1003 ics_api_edp_get_type_2 404 type101
1004 ics_api_edp_put_producer_2 404 prod-ia $CB_JOB/prod-ia $CB_SV/prod-ia type101
1006 # Create type, delete and create again
1007 ics_api_edp_put_type_2 201 type101 testdata/ics/info-type-1.json
1008 ics_api_edp_get_type_2 200 type101
1009 ics_api_edp_get_type_ids 200 type101 type1 type2 type4 type6
1010 ics_api_edp_delete_type_2 204 type101
1011 ics_api_edp_get_type_2 404 type101
1012 ics_api_edp_get_type_ids 200 type1 type2 type4 type6
1013 ics_api_edp_put_type_2 201 type101 testdata/ics/info-type-1.json
1014 ics_api_edp_get_type_ids 200 type101 type1 type2 type4 type6
1015 ics_api_edp_get_type_2 200 type101 testdata/ics/info-type-1.json
1017 ics_api_edp_put_producer_2 201 prod-ia $CB_JOB/prod-ia $CB_SV/prod-ia type101
1018 ics_api_edp_put_producer_2 200 prod-ia $CB_JOB/prod-ia $CB_SV/prod-ia type101
1020 if [[ "$ICS_FEATURE_LEVEL" == *"RESP_CODE_CHANGE_1"* ]]; then
1021 ics_api_edp_delete_type_2 409 type101
1023 ics_api_edp_delete_type_2 406 type101
1026 if [[ "$ICS_FEATURE_LEVEL" == *"TYPE-SUBSCRIPTIONS"* ]]; then
1027 cr_equal 0 received_callbacks 17 30
1028 cr_equal 0 received_callbacks?id=type-status1 11
1029 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
1031 cr_equal 0 received_callbacks 6
1034 ics_api_edp_get_type_ids 200 type101 type1 type2 type4 type6
1035 ics_api_edp_get_type_2 200 type101 testdata/ics/info-type-1.json
1037 ics_api_edp_get_producer_ids_2 200 NOTYPE prod-ia prod-b prod-c prod-d prod-e
1038 ics_api_edp_get_producer_ids_2 200 type101 prod-ia
1039 ics_api_edp_get_producer_ids_2 200 type102 EMPTY
1041 ics_api_edp_get_producer_2 200 prod-ia $CB_JOB/prod-ia $CB_SV/prod-ia type101
1043 ics_api_edp_get_producer_status 200 prod-ia ENABLED
1045 ics_api_idc_get_job_ids 200 type101 NOWNER EMPTY
1046 ics_api_idc_get_job_ids 200 type101 test-owner EMPTY
1048 ics_api_idc_get_job 404 test-job
1050 ics_api_idc_get_job_status2 404 test-job
1051 ics_api_edp_get_producer_jobs_2 200 prod-ia EMPTY
1053 ## Create a job for prod-ia
1055 ics_api_idc_put_job 201 job101 type101 $TARGET101 info-owner-1 $INFOSTATUS101 testdata/ics/job-template.json VALIDATE
1057 # Check the job data in the producer
1058 prodstub_check_jobdata_3 200 prod-ia job101 type101 $TARGET101 info-owner-1 testdata/ics/job-template.json
1060 ics_api_idc_get_job_ids 200 type101 NOWNER job101
1061 ics_api_idc_get_job_ids 200 type101 info-owner-1 job101
1063 ics_api_idc_get_job_ids 200 NOTYPE NOWNER job101 job1 job2 job3 job8 job10
1065 ics_api_idc_get_job 200 job101 type101 $TARGET101 info-owner-1 $INFOSTATUS101 testdata/ics/job-template.json
1067 ics_api_idc_get_job_status2 200 job101 ENABLED 1 prod-ia
1069 prodstub_equal create/prod-ia/job101 1
1071 ics_api_edp_get_producer_jobs_2 200 prod-ia job101 type101 $TARGET101 info-owner-1 testdata/ics/job-template.json
1073 ## Create a second job for prod-ia
1075 ics_api_idc_put_job 201 job102 type101 $TARGET102 info-owner-2 $INFOSTATUS102 testdata/ics/job-template.json VALIDATE
1077 # Check the job data in the producer
1078 prodstub_check_jobdata_3 200 prod-ia job102 type101 $TARGET102 info-owner-2 testdata/ics/job-template.json
1079 ics_api_idc_get_job_ids 200 type101 NOWNER job101 job102
1080 ics_api_idc_get_job_ids 200 type101 info-owner-1 job101
1081 ics_api_idc_get_job_ids 200 type101 info-owner-2 job102
1082 ics_api_idc_get_job_ids 200 NOTYPE NOWNER job101 job102 job1 job2 job3 job8 job10
1084 ics_api_idc_get_job 200 job102 type101 $TARGET102 info-owner-2 $INFOSTATUS102 testdata/ics/job-template.json
1086 ics_api_idc_get_job_status2 200 job102 ENABLED 1 prod-ia
1088 prodstub_equal create/prod-ia/job102 1
1090 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
1094 ics_api_edp_put_type_2 201 type102 testdata/ics/info-type-2.json
1095 ics_api_edp_put_producer_2 201 prod-ib $CB_JOB/prod-ib $CB_SV/prod-ib type102
1097 if [[ "$ICS_FEATURE_LEVEL" == *"TYPE-SUBSCRIPTIONS"* ]]; then
1098 cr_equal 0 received_callbacks 18 30
1099 cr_equal 0 received_callbacks?id=type-status1 12
1100 cr_api_check_all_ics_subscription_events 200 0 type-status1 type102 testdata/ics/info-type-2.json REGISTERED
1102 cr_equal 0 received_callbacks 6
1105 ics_api_idc_get_type_ids 200 type101 type102 type1 type2 type4 type6
1107 if [[ "$ICS_FEATURE_LEVEL" == *"TYPE-SUBSCRIPTIONS"* ]]; then
1108 ics_api_idc_get_type 200 type101 testdata/ics/info-type-1.json ENABLED 1
1110 ics_api_idc_get_type 200 type102 testdata/ics/info-type-2.json ENABLED 1
1112 ics_api_idc_get_type 200 type101 testdata/ics/info-type-1.json
1114 ics_api_idc_get_type 200 type102 testdata/ics/info-type-2.json
1117 ics_api_edp_get_type_ids 200 type101 type102 type1 type2 type4 type6
1118 ics_api_edp_get_type_2 200 type101 testdata/ics/info-type-1.json
1119 ics_api_edp_get_type_2 200 type102 testdata/ics/info-type-2.json
1121 ics_api_edp_get_producer_ids_2 200 NOTYPE prod-ia prod-ib prod-b prod-c prod-d prod-e
1123 ics_api_edp_get_producer_2 200 prod-ia $CB_JOB/prod-ia $CB_SV/prod-ia type101
1124 ics_api_edp_get_producer_2 200 prod-ib $CB_JOB/prod-ib $CB_SV/prod-ib type102
1126 ics_api_edp_get_producer_status 200 prod-ib ENABLED
1128 ## Create job for prod-ib
1130 ics_api_idc_put_job 201 job103 type102 $TARGET103 info-owner-3 $INFOSTATUS103 testdata/ics/job-template.json VALIDATE
1132 prodstub_equal create/prod-ib/job103 1
1134 # Check the job data in the producer
1135 prodstub_check_jobdata_3 200 prod-ib job103 type102 $TARGET103 info-owner-3 testdata/ics/job-template.json
1137 ics_api_idc_get_job_ids 200 type101 NOWNER job101 job102
1138 ics_api_idc_get_job_ids 200 type102 NOWNER job103
1139 ics_api_idc_get_job_ids 200 type101 info-owner-1 job101
1140 ics_api_idc_get_job_ids 200 type101 info-owner-2 job102
1141 ics_api_idc_get_job_ids 200 type102 info-owner-3 job103
1143 ics_api_idc_get_job 200 job103 type102 $TARGET103 info-owner-3 $INFOSTATUS103 testdata/ics/job-template.json
1145 ics_api_idc_get_job_status2 200 job103 ENABLED 1 prod-ib
1147 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
1148 ics_api_edp_get_producer_jobs_2 200 prod-ib job103 type102 $TARGET103 info-owner-3 testdata/ics/job-template.json
1150 ## Setup prod-ic (no types)
1151 ics_api_edp_put_producer_2 201 prod-ic $CB_JOB/prod-ic $CB_SV/prod-ic NOTYPE
1153 ics_api_edp_get_producer_ids_2 200 NOTYPE prod-ia prod-ib prod-ic prod-b prod-c prod-d prod-e
1155 ics_api_edp_get_producer_2 200 prod-ia $CB_JOB/prod-ia $CB_SV/prod-ia type101
1156 ics_api_edp_get_producer_2 200 prod-ib $CB_JOB/prod-ib $CB_SV/prod-ib type102
1157 ics_api_edp_get_producer_2 200 prod-ic $CB_JOB/prod-ic $CB_SV/prod-ic EMPTY
1159 ics_api_edp_get_producer_status 200 prod-ic ENABLED
1162 ## Delete job103 and prod-ib and re-create if different order
1164 # Delete job then producer
1165 ics_api_idc_get_job_ids 200 NOTYPE NOWNER job101 job102 job103 job1 job2 job3 job8 job10
1166 ics_api_edp_get_producer_ids_2 200 NOTYPE prod-ia prod-ib prod-ic prod-b prod-c prod-d prod-e
1168 ics_api_idc_delete_job 204 job103
1170 ics_api_idc_get_job_ids 200 NOTYPE NOWNER job101 job102 job1 job2 job3 job8 job10
1171 ics_api_edp_get_producer_ids_2 200 NOTYPE prod-ia prod-ib prod-ic prod-b prod-c prod-d prod-e
1173 ics_api_edp_delete_producer 204 prod-ib
1175 ics_api_edp_get_producer_status 404 prod-ib
1177 ics_api_idc_get_job_ids 200 NOTYPE NOWNER job101 job102 job1 job2 job3 job8 job10
1178 ics_api_edp_get_producer_ids_2 200 NOTYPE prod-ia prod-ic prod-b prod-c prod-d prod-e
1180 prodstub_equal delete/prod-ib/job103 1
1182 ics_api_idc_put_job 201 job103 type102 $TARGET103 info-owner-3 $INFOSTATUS103 testdata/ics/job-template.json VALIDATE
1183 ics_api_idc_get_job_status2 200 job103 DISABLED EMPTYPROD
1185 # Put producer then job
1186 ics_api_edp_put_producer_2 201 prod-ib $CB_JOB/prod-ib $CB_SV/prod-ib type102
1188 ics_api_edp_get_producer_status 200 prod-ib ENABLED
1190 ics_api_idc_put_job 200 job103 type102 $TARGET103 info-owner-3 $INFOSTATUS103 testdata/ics/job-template2.json VALIDATE
1191 ics_api_idc_get_job_status2 200 job103 ENABLED 1 prod-ib
1193 prodstub_check_jobdata_3 200 prod-ib job103 type102 $TARGET103 info-owner-3 testdata/ics/job-template2.json
1195 ics_api_idc_get_job_ids 200 NOTYPE NOWNER job101 job102 job103 job1 job2 job3 job8 job10
1196 ics_api_edp_get_producer_ids_2 200 NOTYPE prod-ia prod-ib prod-ic prod-b prod-c prod-d prod-e
1198 prodstub_equal create/prod-ib/job103 3
1199 prodstub_equal delete/prod-ib/job103 1
1201 # Delete only the producer
1202 ics_api_edp_delete_producer 204 prod-ib
1204 ics_api_edp_get_producer_status 404 prod-ib
1206 ics_api_idc_get_job_ids 200 NOTYPE NOWNER job101 job102 job103 job1 job2 job3 job8 job10
1207 ics_api_edp_get_producer_ids_2 200 NOTYPE prod-ia prod-ic prod-b prod-c prod-d prod-e
1209 ics_api_idc_get_job_status2 200 job103 DISABLED EMPTYPROD
1211 if [[ "$ICS_FEATURE_LEVEL" == *"TYPE-SUBSCRIPTIONS"* ]]; then
1212 cr_equal 0 received_callbacks 19 30
1214 cr_equal 0 received_callbacks?id=info-job103-status 1
1215 cr_api_check_all_ics_events 200 0 info-job103-status DISABLED
1217 cr_equal 0 received_callbacks 7 30
1218 cr_equal 0 received_callbacks?id=info-job103-status 1
1219 cr_api_check_all_ics_events 200 0 info-job103-status DISABLED
1222 # Re-create the producer
1223 ics_api_edp_put_producer_2 201 prod-ib $CB_JOB/prod-ib $CB_SV/prod-ib type102
1225 ics_api_edp_get_producer_status 200 prod-ib ENABLED
1227 ics_api_idc_get_job_status2 200 job103 ENABLED 1 prod-ib
1229 if [[ "$ICS_FEATURE_LEVEL" == *"TYPE-SUBSCRIPTIONS"* ]]; then
1230 cr_equal 0 received_callbacks 20 30
1231 cr_equal 0 received_callbacks?id=info-job103-status 2
1232 cr_api_check_all_ics_events 200 0 info-job103-status ENABLED
1234 cr_equal 0 received_callbacks 8 30
1235 cr_equal 0 received_callbacks?id=info-job103-status 2
1236 cr_api_check_all_ics_events 200 0 info-job103-status ENABLED
1239 prodstub_check_jobdata_3 200 prod-ib job103 type102 $TARGET103 info-owner-3 testdata/ics/job-template2.json
1242 ics_api_edp_put_type_2 201 type104 testdata/ics/info-type-4.json
1243 ics_api_edp_put_producer_2 201 prod-id $CB_JOB/prod-id $CB_SV/prod-id type104
1245 ics_api_idc_get_job_ids 200 type104 NOWNER EMPTY
1247 ics_api_idc_put_job 201 job108 type104 $TARGET108 info-owner-4 $INFOSTATUS108 testdata/ics/job-template.json VALIDATE
1249 prodstub_check_jobdata_3 200 prod-id job108 type104 $TARGET108 info-owner-4 testdata/ics/job-template.json
1251 prodstub_equal create/prod-id/job108 1
1252 prodstub_equal delete/prod-id/job108 0
1254 ics_api_idc_get_job_ids 200 type104 NOWNER job108
1256 ics_api_idc_get_job_status2 200 job108 ENABLED 1 prod-id
1258 # Re-PUT the producer with zero types
1259 ics_api_edp_put_producer_2 200 prod-id $CB_JOB/prod-id $CB_SV/prod-id NOTYPE
1261 ics_api_idc_get_job_ids 200 type104 NOWNER job108
1262 ics_api_idc_get_job_ids 200 NOTYPE NOWNER job101 job102 job103 job108 job1 job2 job3 job8 job10
1264 ics_api_idc_get_job_status2 200 job108 DISABLED EMPTYPROD
1266 if [[ "$ICS_FEATURE_LEVEL" == *"TYPE-SUBSCRIPTIONS"* ]]; then
1267 cr_equal 0 received_callbacks 22 30
1268 cr_equal 0 received_callbacks?id=type-status1 13
1269 cr_api_check_all_ics_subscription_events 200 0 type-status1 type104 testdata/ics/info-type-4.json REGISTERED
1271 cr_equal 0 received_callbacks?id=info-job108-status 1
1272 cr_api_check_all_ics_events 200 0 info-job108-status DISABLED
1274 cr_equal 0 received_callbacks 9 30
1275 cr_equal 0 received_callbacks?id=info-job108-status 1
1276 cr_api_check_all_ics_events 200 0 info-job108-status DISABLED
1279 prodstub_equal create/prod-id/job108 1
1280 prodstub_equal delete/prod-id/job108 0
1283 ics_api_edp_put_type_2 200 type104 testdata/ics/info-type-4.json
1284 ics_api_edp_put_producer_2 200 prod-id $CB_JOB/prod-id $CB_SV/prod-id type104
1287 ics_api_idc_get_job_ids 200 type104 NOWNER job108
1288 ics_api_idc_get_job_ids 200 NOTYPE NOWNER job101 job102 job103 job108 job1 job2 job3 job8 job10
1290 ics_api_idc_get_job_status2 200 job108 ENABLED 1 prod-id
1292 ics_api_edp_get_producer_status 200 prod-ia ENABLED
1293 ics_api_edp_get_producer_status 200 prod-ib ENABLED
1294 ics_api_edp_get_producer_status 200 prod-ic ENABLED
1295 ics_api_edp_get_producer_status 200 prod-id ENABLED
1297 if [[ "$ICS_FEATURE_LEVEL" == *"TYPE-SUBSCRIPTIONS"* ]]; then
1298 cr_equal 0 received_callbacks 24 30
1300 cr_equal 0 received_callbacks?id=type-status1 14
1301 cr_api_check_all_ics_subscription_events 200 0 type-status1 type104 testdata/ics/info-type-4.json REGISTERED
1303 cr_equal 0 received_callbacks?id=info-job108-status 2
1304 cr_api_check_all_ics_events 200 0 info-job108-status ENABLED
1306 cr_equal 0 received_callbacks 10 30
1307 cr_equal 0 received_callbacks?id=info-job108-status 2
1308 cr_api_check_all_ics_events 200 0 info-job108-status ENABLED
1311 prodstub_equal create/prod-id/job108 2
1312 prodstub_equal delete/prod-id/job108 0
1316 ics_api_edp_put_type_2 201 type106 testdata/ics/info-type-6.json
1317 ics_api_edp_put_producer_2 201 prod-ie $CB_JOB/prod-ie $CB_SV/prod-ie type106
1319 ics_api_idc_get_job_ids 200 type106 NOWNER EMPTY
1321 ics_api_idc_put_job 201 job110 type106 $TARGET110 info-owner-4 $INFOSTATUS110 testdata/ics/job-template.json VALIDATE
1323 prodstub_check_jobdata_3 200 prod-ie job110 type106 $TARGET110 info-owner-4 testdata/ics/job-template.json
1325 prodstub_equal create/prod-ie/job110 1
1326 prodstub_equal delete/prod-ie/job110 0
1328 ics_api_idc_get_job_ids 200 type106 NOWNER job110
1330 ics_api_idc_get_job_status2 200 job110 ENABLED 1 prod-ie
1333 ics_api_edp_put_type_2 200 type106 testdata/ics/info-type-6.json
1334 ics_api_edp_put_producer_2 201 prod-if $CB_JOB/prod-if $CB_SV/prod-if type106
1336 if [[ "$ICS_FEATURE_LEVEL" == *"TYPE-SUBSCRIPTIONS"* ]]; then
1337 cr_equal 0 received_callbacks 26 30
1339 cr_equal 0 received_callbacks?id=type-status1 16
1340 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
1344 ics_api_idc_get_job_ids 200 type106 NOWNER job110
1346 prodstub_check_jobdata_3 200 prod-if job110 type106 $TARGET110 info-owner-4 testdata/ics/job-template.json
1348 prodstub_equal create/prod-if/job110 1
1349 prodstub_equal delete/prod-if/job110 0
1351 ics_api_idc_get_job_ids 200 type106 NOWNER job110
1353 ics_api_idc_get_job_status2 200 job110 ENABLED 2 prod-ie prod-if
1355 ## Status updates prod-ia and jobs
1357 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
1359 ics_api_edp_get_producer_status 200 prod-ia ENABLED
1360 ics_api_edp_get_producer_status 200 prod-ib ENABLED
1361 ics_api_edp_get_producer_status 200 prod-ic ENABLED
1362 ics_api_edp_get_producer_status 200 prod-id ENABLED
1363 ics_api_edp_get_producer_status 200 prod-ie ENABLED
1364 ics_api_edp_get_producer_status 200 prod-if ENABLED
1366 # Arm producer prod-ia for supervision failure
1367 prodstub_arm_producer 200 prod-ia 400
1369 # Wait for producer prod-ia to go disabled
1370 ics_api_edp_get_producer_status 200 prod-ia DISABLED 360
1372 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
1374 ics_api_edp_get_producer_status 200 prod-ia DISABLED
1375 ics_api_edp_get_producer_status 200 prod-ib ENABLED
1376 ics_api_edp_get_producer_status 200 prod-ic ENABLED
1377 ics_api_edp_get_producer_status 200 prod-id ENABLED
1378 ics_api_edp_get_producer_status 200 prod-ie ENABLED
1379 ics_api_edp_get_producer_status 200 prod-if ENABLED
1382 ics_api_idc_get_job_status2 200 job101 ENABLED 1 prod-ia
1383 ics_api_idc_get_job_status2 200 job102 ENABLED 1 prod-ia
1384 ics_api_idc_get_job_status2 200 job103 ENABLED 1 prod-ib
1385 ics_api_idc_get_job_status2 200 job108 ENABLED 1 prod-id
1386 ics_api_idc_get_job_status2 200 job110 ENABLED 2 prod-ie prod-if
1388 # Arm producer prod-ia for supervision
1389 prodstub_arm_producer 200 prod-ia 200
1391 # Wait for producer prod-ia to go enabled
1392 ics_api_edp_get_producer_status 200 prod-ia ENABLED 360
1394 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
1396 ics_api_edp_get_producer_status 200 prod-ia ENABLED
1397 ics_api_edp_get_producer_status 200 prod-ib ENABLED
1398 ics_api_edp_get_producer_status 200 prod-ic ENABLED
1399 ics_api_edp_get_producer_status 200 prod-id ENABLED
1400 ics_api_edp_get_producer_status 200 prod-ie ENABLED
1401 ics_api_edp_get_producer_status 200 prod-if ENABLED
1403 ics_api_idc_get_job_status2 200 job101 ENABLED 1 prod-ia
1404 ics_api_idc_get_job_status2 200 job102 ENABLED 1 prod-ia
1405 ics_api_idc_get_job_status2 200 job103 ENABLED 1 prod-ib
1406 ics_api_idc_get_job_status2 200 job108 ENABLED 1 prod-id
1407 ics_api_idc_get_job_status2 200 job110 ENABLED 2 prod-ie prod-if
1409 # Arm producer prod-ia for supervision failure
1410 prodstub_arm_producer 200 prod-ia 400
1412 # Wait for producer prod-ia to go disabled
1413 ics_api_edp_get_producer_status 200 prod-ia DISABLED 360
1415 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
1417 ics_api_edp_get_producer_status 200 prod-ia DISABLED
1418 ics_api_edp_get_producer_status 200 prod-ib ENABLED
1419 ics_api_edp_get_producer_status 200 prod-ic ENABLED
1420 ics_api_edp_get_producer_status 200 prod-id ENABLED
1421 ics_api_edp_get_producer_status 200 prod-ie ENABLED
1422 ics_api_edp_get_producer_status 200 prod-if ENABLED
1424 ics_api_idc_get_job_status2 200 job101 ENABLED 1 prod-ia
1425 ics_api_idc_get_job_status2 200 job102 ENABLED 1 prod-ia
1426 ics_api_idc_get_job_status2 200 job103 ENABLED 1 prod-ib
1427 ics_api_idc_get_job_status2 200 job108 ENABLED 1 prod-id
1428 ics_api_idc_get_job_status2 200 job110 ENABLED 2 prod-ie prod-if
1430 # Wait for producer prod-ia to be removed
1431 ics_equal json:data-producer/v1/info-producers 9 1000
1433 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
1436 ics_api_edp_get_producer_status 404 prod-ia
1437 ics_api_edp_get_producer_status 200 prod-ib ENABLED
1438 ics_api_edp_get_producer_status 200 prod-ic ENABLED
1439 ics_api_edp_get_producer_status 200 prod-id ENABLED
1440 ics_api_edp_get_producer_status 200 prod-ie ENABLED
1441 ics_api_edp_get_producer_status 200 prod-if ENABLED
1443 ics_api_idc_get_job_status2 200 job101 DISABLED EMPTYPROD
1444 ics_api_idc_get_job_status2 200 job102 DISABLED EMPTYPROD
1445 ics_api_idc_get_job_status2 200 job103 ENABLED 1 prod-ib
1446 ics_api_idc_get_job_status2 200 job108 ENABLED 1 prod-id
1447 ics_api_idc_get_job_status2 200 job110 ENABLED 2 prod-ie prod-if
1450 if [[ "$ICS_FEATURE_LEVEL" == *"TYPE-SUBSCRIPTIONS"* ]]; then
1451 cr_equal 0 received_callbacks 28 30
1453 cr_equal 0 received_callbacks?id=info-job101-status 1
1454 cr_equal 0 received_callbacks?id=info-job102-status 1
1455 cr_api_check_all_ics_events 200 0 info-job101-status DISABLED
1456 cr_api_check_all_ics_events 200 0 info-job102-status DISABLED
1458 cr_equal 0 received_callbacks 12 30
1460 cr_equal 0 received_callbacks?id=info-job101-status 1
1461 cr_equal 0 received_callbacks?id=info-job102-status 1
1462 cr_api_check_all_ics_events 200 0 info-job101-status DISABLED
1463 cr_api_check_all_ics_events 200 0 info-job102-status DISABLED
1467 # Arm producer prod-ie for supervision failure
1468 prodstub_arm_producer 200 prod-ie 400
1470 ics_api_edp_get_producer_status 200 prod-ie DISABLED 1000
1472 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
1474 ics_api_edp_get_producer_status 404 prod-ia
1475 ics_api_edp_get_producer_status 200 prod-ib ENABLED
1476 ics_api_edp_get_producer_status 200 prod-ic ENABLED
1477 ics_api_edp_get_producer_status 200 prod-id ENABLED
1478 ics_api_edp_get_producer_status 200 prod-ie DISABLED
1479 ics_api_edp_get_producer_status 200 prod-if ENABLED
1481 ics_api_idc_get_job_status2 200 job101 DISABLED EMPTYPROD
1482 ics_api_idc_get_job_status2 200 job102 DISABLED EMPTYPROD
1483 ics_api_idc_get_job_status2 200 job103 ENABLED 1 prod-ib
1484 ics_api_idc_get_job_status2 200 job108 ENABLED 1 prod-id
1485 ics_api_idc_get_job_status2 200 job110 ENABLED 2 prod-ie prod-if
1487 #Disable create for job110 in prod-ie
1488 prodstub_arm_job_create 200 prod-ie job110 400
1490 #Update tjob 10 - only prod-if will be updated
1491 ics_api_idc_put_job 200 job110 type106 $TARGET110 info-owner-4 $INFOSTATUS110 testdata/ics/job-template2.json VALIDATE
1492 #Reset producer and job responses
1493 prodstub_arm_producer 200 prod-ie 200
1494 prodstub_arm_job_create 200 prod-ie job110 200
1496 ics_api_edp_get_producer_status 200 prod-ie ENABLED 360
1498 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
1500 #Wait for job to be updated
1503 prodstub_check_jobdata_3 200 prod-if job110 type106 $TARGET110 info-owner-4 testdata/ics/job-template2.json
1505 prodstub_arm_producer 200 prod-if 400
1507 ics_api_edp_get_producer_status 200 prod-if DISABLED 360
1509 ics_equal json:data-producer/v1/info-producers 8 1000
1511 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
1513 ics_api_edp_get_producer_status 404 prod-ia
1514 ics_api_edp_get_producer_status 200 prod-ib ENABLED
1515 ics_api_edp_get_producer_status 200 prod-ic ENABLED
1516 ics_api_edp_get_producer_status 200 prod-id ENABLED
1517 ics_api_edp_get_producer_status 200 prod-ie ENABLED
1518 ics_api_edp_get_producer_status 404 prod-if
1520 ics_api_idc_get_job_status2 200 job101 DISABLED EMPTYPROD
1521 ics_api_idc_get_job_status2 200 job102 DISABLED EMPTYPROD
1522 ics_api_idc_get_job_status2 200 job103 ENABLED 1 prod-ib
1523 ics_api_idc_get_job_status2 200 job108 ENABLED 1 prod-id
1524 ics_api_idc_get_job_status2 200 job110 ENABLED 1 prod-ie
1526 if [[ "$ICS_FEATURE_LEVEL" == *"TYPE-SUBSCRIPTIONS"* ]]; then
1527 cr_equal 0 received_callbacks 28
1529 cr_equal 0 received_callbacks 12
1531 ### Test of pre and post validation
1532 if [[ "$ICS_FEATURE_LEVEL" != *"DEFAULT_TYPE_VALIDATION"* ]]; then
1533 ics_api_idc_get_type_ids 200 type1 type2 type4 type6 type101 type102 type104 type106
1534 ics_api_idc_put_job 404 job150 type150 $TARGET150 info-owner-1 $INFOSTATUS150 testdata/ics/job-template.json VALIDATE
1535 ics_api_idc_put_job 201 job160 type160 $TARGET160 info-owner-1 $INFOSTATUS160 testdata/ics/job-template.json
1538 ics_api_idc_get_job_status2 404 job150
1539 ics_api_idc_get_job_status2 200 job160 DISABLED EMPTYPROD 60
1541 prodstub_arm_producer 200 prod-ig
1542 prodstub_arm_job_create 200 prod-ig job150
1543 prodstub_arm_job_create 200 prod-ig job160
1545 ics_api_edp_put_producer_2 201 prod-ig $CB_JOB/prod-ig $CB_SV/prod-ig NOTYPE
1546 ics_api_edp_get_producer_status 200 prod-ig ENABLED 360
1548 ics_api_edp_get_producer_2 200 prod-ig $CB_JOB/prod-ig $CB_SV/prod-ig EMPTY
1550 ics_api_idc_get_job_status2 404 job150
1551 ics_api_idc_get_job_status2 200 job160 DISABLED EMPTYPROD 60
1553 ics_api_idc_get_type_ids 200 type1 type2 type4 type6 type101 type102 type104 type106
1554 ics_api_idc_put_job 404 job150 type150 $TARGET150 info-owner-1 $INFOSTATUS150 testdata/ics/job-template.json VALIDATE
1556 ics_api_idc_get_job_status2 404 job150
1558 prodstub_arm_producer 200 prod-ig
1559 prodstub_arm_job_create 200 prod-ig job150
1560 prodstub_arm_job_create 200 prod-ig job160
1562 ics_api_edp_put_producer_2 201 prod-ig $CB_JOB/prod-ig $CB_SV/prod-ig NOTYPE
1563 ics_api_edp_get_producer_status 200 prod-ig ENABLED 360
1565 ics_api_edp_get_producer_2 200 prod-ig $CB_JOB/prod-ig $CB_SV/prod-ig EMPTY
1567 ics_api_idc_get_job_status2 404 job150
1568 #ics_api_idc_get_job_status2 200 job160 DISABLED EMPTYPROD 60
1571 prodstub_arm_type 200 prod-ig type160
1573 ics_api_edp_put_type_2 201 type160 testdata/ics/info-type-60.json
1574 ics_api_idc_get_type_ids 200 type1 type2 type4 type6 type101 type102 type104 type106 type160
1576 ics_api_edp_put_producer_2 200 prod-ig $CB_JOB/prod-ig $CB_SV/prod-ig type160
1577 ics_api_edp_get_producer_status 200 prod-ig ENABLED 360
1578 ics_api_edp_get_producer_2 200 prod-ig $CB_JOB/prod-ig $CB_SV/prod-ig type160
1580 ics_api_idc_put_job 404 job150 type150 $TARGET150 info-owner-1 $INFOSTATUS150 testdata/ics/job-template.json VALIDATE
1582 ics_api_idc_get_job_status2 404 job150
1583 if [[ "$ICS_FEATURE_LEVEL" != *"DEFAULT_TYPE_VALIDATION"* ]]; then
1584 ics_api_idc_get_job_status2 200 job160 ENABLED 1 prod-ig 60
1586 prodstub_check_jobdata_3 200 prod-ig job160 type160 $TARGET160 info-owner-1 testdata/ics/job-template.json
1588 prodstub_equal create/prod-ig/job160 1
1589 prodstub_equal delete/prod-ig/job160 0
1592 prodstub_arm_type 200 prod-ig type150
1594 ics_api_edp_put_type_2 201 type150 testdata/ics/info-type-50.json
1595 ics_api_idc_get_type_ids 200 type1 type2 type4 type6 type101 type102 type104 type106 type160 type150
1597 if [[ "$ICS_FEATURE_LEVEL" == *"TYPE-SUBSCRIPTIONS"* ]]; then
1598 cr_equal 0 received_callbacks 30 30
1599 cr_equal 0 received_callbacks?id=type-status1 18
1600 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
1602 cr_equal 0 received_callbacks 12
1605 ics_api_edp_put_producer_2 200 prod-ig $CB_JOB/prod-ig $CB_SV/prod-ig type160 type150
1606 ics_api_edp_get_producer_status 200 prod-ig ENABLED 360
1608 ics_api_edp_get_producer_2 200 prod-ig $CB_JOB/prod-ig $CB_SV/prod-ig type160 type150
1610 if [[ "$ICS_FEATURE_LEVEL" == *"DEFAULT_TYPE_VALIDATION"* ]]; then
1611 ics_api_idc_put_job 201 job160 type160 $TARGET160 info-owner-1 $INFOSTATUS160 testdata/ics/job-template.json
1614 ics_api_idc_get_job_status2 404 job150
1615 ics_api_idc_get_job_status2 200 job160 ENABLED 1 prod-ig
1617 ics_api_idc_put_job 201 job150 type150 $TARGET150 info-owner-1 $INFOSTATUS150 testdata/ics/job-template.json VALIDATE
1619 ics_api_idc_get_job_status2 200 job150 ENABLED 1 prod-ig 60
1620 ics_api_idc_get_job_status2 200 job160 ENABLED 1 prod-ig
1622 if [[ "$ICS_FEATURE_LEVEL" == *"TYPE-SUBSCRIPTIONS"* ]]; then
1623 cr_equal 0 received_callbacks 30 30
1624 cr_equal 0 received_callbacks?id=type-status1 18
1626 cr_equal 0 received_callbacks 12
1629 # Test job deletion at type delete
1631 if [[ "$ICS_FEATURE_LEVEL" == *"TYPE-SUBSCRIPTIONS"* ]]; then
1633 if [[ "$ICS_FEATURE_LEVEL" == *"RESP_CODE_CHANGE_1"* ]]; then
1634 ics_api_edp_delete_type_2 409 type104
1636 ics_api_edp_delete_type_2 406 type104
1639 ics_api_edp_delete_producer 204 prod-id
1641 ics_api_edp_delete_type_2 204 type104
1643 cr_equal 0 received_callbacks 32 30
1644 cr_equal 0 received_callbacks?id=info-job108-status 3
1645 cr_equal 0 received_callbacks?id=type-status1 19
1646 cr_api_check_all_ics_subscription_events 200 0 type-status1 type104 testdata/ics/info-type-4.json DEREGISTERED
1647 cr_api_check_all_ics_events 200 0 info-job108-status DISABLED
1649 ics_api_edp_get_producer 404 prod-id
1651 ics_api_idc_get_job 404 job-108
1654 cr_equal 0 received_callbacks 12
1661 #### TEST COMPLETE ####
1665 auto_clean_environment