3 # ============LICENSE_START===============================================
4 # Copyright (C) 2020-2023 Nordix Foundation. All rights reserved.
5 # ========================================================================
6 # Licensed under the Apache License, Version 2.0 (the "License");
7 # you may not use this file except in compliance with the License.
8 # You may obtain a copy of the License at
10 # http://www.apache.org/licenses/LICENSE-2.0
12 # Unless required by applicable law or agreed to in writing, software
13 # distributed under the License is distributed on an "AS IS" BASIS,
14 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15 # See the License for the specific language governing permissions and
16 # limitations under the License.
17 # ============LICENSE_END=================================================
21 TC_ONELINE_DESCR="ICS full interfaces walkthrough - with or without istio enabled"
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"
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"
32 KUBE_INCLUDED_IMAGES="PRODSTUB CR ICS RICSIM CP HTTPPROXY KUBEPROXY NGW KEYCLOAK ISTIO AUTHSIDECAR"
34 #Prestarted app (not started by script) to include in the test when running kubernetes, space separated list
35 KUBE_PRESTARTED_IMAGES=""
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"
42 #Supported test environment profiles
43 SUPPORTED_PROFILES="ONAP-JAKARTA ONAP-KOHN ONAP-LONDON ORAN-F-RELEASE ORAN-G-RELEASE ORAN-H-RELEASE"
45 SUPPORTED_RUNMODES="DOCKER KUBE"
47 . ../common/testcase_common.sh $@
55 if [ $RUNMODE != "KUBE" ]; then
57 echo "ISTIO not supported by docker - setting USE-ISTIO=0"
60 if [ $USE_ISTIO -eq 1 ]; then
61 echo -e $RED"#########################################"$ERED
62 echo -e $RED"# Work around istio jwks cache"$ERED
63 echo -e $RED"# Cycle istiod down and up to clear cache"$ERED
65 __kube_scale deployment istiod istio-system 0
66 __kube_scale deployment istiod istio-system 1
67 echo -e $RED"# Cycle istiod done"
68 echo -e $RED"#########################################"$ERED
71 istio_enable_istio_namespace $KUBE_SIM_NAMESPACE
72 istio_enable_istio_namespace $KUBE_NONRTRIC_NAMESPACE
73 istio_enable_istio_namespace $KUBE_A1SIM_NAMESPACE
79 if [ $USE_ISTIO -eq 1 ]; then
99 if [ $USE_ISTIO -eq 1 ]; then
102 keycloak_api_obtain_admin_token
104 keycloak_api_create_realm nrtrealm true 60
105 keycloak_api_create_confidential_client nrtrealm icsc
106 keycloak_api_generate_client_secret nrtrealm icsc
107 keycloak_api_get_client_secret nrtrealm icsc
108 keycloak_api_create_client_roles nrtrealm icsc nrtrole
109 keycloak_api_map_client_roles nrtrealm icsc nrtrole
111 keycloak_api_get_client_token nrtrealm icsc
113 CLIENT_TOKEN=$(keycloak_api_read_client_token nrtrealm icsc)
114 echo "CLIENT_TOKEN: "$CLIENT_TOKEN
116 ICS_SEC=$(keycloak_api_read_client_secret nrtrealm icsc)
117 echo "ICS_SEC: "$ICS_SEC
119 istio_req_auth_by_jwks $PROD_STUB_APP_NAME $KUBE_SIM_NAMESPACE KUBEPROXY "$KUBE_PROXY_ISTIO_JWKS_KEYS"
120 istio_auth_policy_by_issuer $PROD_STUB_APP_NAME $KUBE_SIM_NAMESPACE KUBEPROXY
122 istio_req_auth_by_jwksuri $PROD_STUB_APP_NAME $KUBE_SIM_NAMESPACE nrtrealm
123 istio_auth_policy_by_realm $PROD_STUB_APP_NAME $KUBE_SIM_NAMESPACE nrtrealm icsc nrtrole
125 istio_req_auth_by_jwks $CR_APP_NAME $KUBE_SIM_NAMESPACE KUBEPROXY "$KUBE_PROXY_ISTIO_JWKS_KEYS"
126 istio_auth_policy_by_issuer $CR_APP_NAME $KUBE_SIM_NAMESPACE KUBEPROXY
128 istio_req_auth_by_jwksuri $CR_APP_NAME $KUBE_SIM_NAMESPACE nrtrealm
129 istio_auth_policy_by_realm $CR_APP_NAME $KUBE_SIM_NAMESPACE nrtrealm icsc nrtrole
131 ics_configure_sec nrtrealm icsc $ICS_SEC
135 start_ics NOPROXY $SIM_GROUP/$ICS_COMPOSE_DIR/$ICS_CONFIG_FILE #Change NOPROXY to PROXY to run with http proxy
137 if [ $RUNMODE == "KUBE" ]; then
145 start_control_panel $SIM_GROUP/$CONTROL_PANEL_COMPOSE_DIR/$CONTROL_PANEL_CONFIG_FILE
147 if [ ! -z "$NRT_GATEWAY_APP_NAME" ]; then
148 start_gateway $SIM_GROUP/$NRT_GATEWAY_COMPOSE_DIR/$NRT_GATEWAY_CONFIG_FILE
151 start_ric_simulators ricsim_g3 4 STD_2.0.0
155 if [ $USE_ISTIO -eq 1 ]; then
156 echo "Sleep 120 to let istio settle - enabling istio on workloads may cause initial dns disturbances - temporary unavailable dns names"
160 CB_JOB="$PROD_STUB_SERVICE_PATH$PROD_STUB_JOB_CALLBACK"
161 CB_SV="$PROD_STUB_SERVICE_PATH$PROD_STUB_SUPERVISION_CALLBACK"
163 if [ $RUNMODE == "KUBE" ]; then
164 TARGET1="$RIC_SIM_HTTPX://ricsim-g3-1.ricsim-g3.$KUBE_A1SIM_NAMESPACE:$RIC_SIM_PORT/datadelivery"
165 TARGET2="$RIC_SIM_HTTPX://ricsim-g3-2.ricsim-g3.$KUBE_A1SIM_NAMESPACE:$RIC_SIM_PORT/datadelivery"
166 TARGET3="$RIC_SIM_HTTPX://ricsim-g3-3.ricsim-g3.$KUBE_A1SIM_NAMESPACE:$RIC_SIM_PORT/datadelivery"
167 TARGET8="$RIC_SIM_HTTPX://ricsim-g3-4.ricsim-g3.$KUBE_A1SIM_NAMESPACE:$RIC_SIM_PORT/datadelivery"
168 TARGET10="$RIC_SIM_HTTPX://ricsim-g3-4.ricsim-g3.$KUBE_A1SIM_NAMESPACE:$RIC_SIM_PORT/datadelivery"
170 TARGET1="$RIC_SIM_HTTPX://ricsim_g3_1:$RIC_SIM_PORT/datadelivery"
171 TARGET2="$RIC_SIM_HTTPX://ricsim_g3_2:$RIC_SIM_PORT/datadelivery"
172 TARGET3="$RIC_SIM_HTTPX://ricsim_g3_3:$RIC_SIM_PORT/datadelivery"
173 TARGET8="$RIC_SIM_HTTPX://ricsim_g3_4:$RIC_SIM_PORT/datadelivery"
174 TARGET10="$RIC_SIM_HTTPX://ricsim_g3_4:$RIC_SIM_PORT/datadelivery"
177 #Targets for info jobs
178 TARGET101="http://localhost:80/target" # Dummy target, no target for info data in this env...
179 TARGET102="http://localhost:80/target" # Dummy target, no target for info data in this env...
180 TARGET103="http://localhost:80/target" # Dummy target, no target for info data in this env...
181 TARGET108="http://localhost:80/target" # Dummy target, no target for info data in this env...
182 TARGET110="http://localhost:80/target" # Dummy target, no target for info data in this env...
183 TARGET150="http://localhost:80/target" # Dummy target, no target for info data in this env...
184 TARGET160="http://localhost:80/target" # Dummy target, no target for info data in this env...
186 #Status callbacks for eijobs
187 STATUS1="$CR_SERVICE_APP_PATH_0/job1-status"
188 STATUS2="$CR_SERVICE_APP_PATH_0/job2-status"
189 STATUS3="$CR_SERVICE_APP_PATH_0/job3-status"
190 STATUS8="$CR_SERVICE_APP_PATH_0/job8-status"
191 STATUS10="$CR_SERVICE_APP_PATH_0/job10-status"
193 #Status callbacks for infojobs
194 INFOSTATUS101="$CR_SERVICE_APP_PATH_0/info-job101-status"
195 INFOSTATUS102="$CR_SERVICE_APP_PATH_0/info-job102-status"
196 INFOSTATUS103="$CR_SERVICE_APP_PATH_0/info-job103-status"
197 INFOSTATUS108="$CR_SERVICE_APP_PATH_0/info-job108-status"
198 INFOSTATUS110="$CR_SERVICE_APP_PATH_0/info-job110-status"
199 INFOSTATUS150="$CR_SERVICE_APP_PATH_0/info-job150-status"
200 INFOSTATUS160="$CR_SERVICE_APP_PATH_0/info-job160-status"
202 if [[ "$ICS_FEATURE_LEVEL" == *"TYPE-SUBSCRIPTIONS"* ]]; then
203 #Type registration status callbacks
204 TYPESTATUS1="$CR_SERVICE_APP_PATH_0/type-status1"
205 TYPESTATUS2="$CR_SERVICE_APP_PATH_0/type-status2"
207 ics_api_idc_put_subscription 201 subscription-id-1 owner1 $TYPESTATUS1
209 ics_api_idc_get_subscription_ids 200 NOOWNER subscription-id-1
211 ics_api_idc_get_subscription_ids 200 owner1 subscription-id-1
213 ics_api_idc_get_subscription_ids 200 test EMPTY
215 ics_api_idc_get_subscription 200 subscription-id-1 owner1 $TYPESTATUS1
217 ics_api_idc_get_subscription 404 test
219 ics_api_idc_put_subscription 200 subscription-id-1 owner1 $TYPESTATUS1
221 ics_api_idc_put_subscription 200 subscription-id-1 owner1 $TYPESTATUS1
223 ics_api_idc_put_subscription 201 subscription-id-2 owner2 $TYPESTATUS2
225 ics_api_idc_get_subscription_ids 200 NOOWNER subscription-id-1 subscription-id-2
227 ics_api_idc_get_subscription_ids 200 owner1 subscription-id-1
229 ics_api_idc_get_subscription_ids 200 owner2 subscription-id-2
231 ics_api_idc_get_subscription 200 subscription-id-1 owner1 $TYPESTATUS1
232 ics_api_idc_get_subscription 200 subscription-id-2 owner2 $TYPESTATUS2
234 ics_api_idc_delete_subscription 204 subscription-id-2
236 ics_api_idc_get_subscription_ids 200 NOOWNER subscription-id-1
238 ics_api_edp_put_type_2 201 type1 testdata/ics/ei-type-1.json
240 cr_equal 0 received_callbacks 1 30
241 cr_equal 0 received_callbacks?id=type-status1 1
242 cr_api_check_all_ics_subscription_events 200 0 type-status1 type1 testdata/ics/ei-type-1.json REGISTERED
244 ics_api_edp_delete_type_2 204 type1
246 cr_equal 0 received_callbacks 2 30
247 cr_equal 0 received_callbacks?id=type-status1 2
248 cr_api_check_all_ics_subscription_events 200 0 type-status1 type1 testdata/ics/ei-type-1.json DEREGISTERED
250 ics_api_idc_put_subscription 201 subscription-id-2 owner2 $TYPESTATUS2
251 ics_api_idc_get_subscription_ids 200 NOOWNER subscription-id-1 subscription-id-2
253 ics_api_edp_put_type_2 201 type1 testdata/ics/ei-type-1.json
255 cr_equal 0 received_callbacks 4 30
256 cr_equal 0 received_callbacks?id=type-status1 3
257 cr_equal 0 received_callbacks?id=type-status2 1
258 cr_api_check_all_ics_subscription_events 200 0 type-status1 type1 testdata/ics/ei-type-1.json REGISTERED
260 ics_api_idc_delete_subscription 204 subscription-id-2
262 ics_api_edp_delete_type_2 204 type1
264 cr_equal 0 received_callbacks 5 30
265 cr_equal 0 received_callbacks?id=type-status1 4
266 cr_equal 0 received_callbacks?id=type-status2 1
267 cr_api_check_all_ics_subscription_events 200 0 type-status1 type1 testdata/ics/ei-type-1.json DEREGISTERED
272 ### Setup prodstub sim to accept calls for producers, types and jobs
274 ## prod-b type1 and type2
286 ## job10 -> prod-e and prod-f
288 prodstub_arm_producer 200 prod-a
289 prodstub_arm_producer 200 prod-b
290 prodstub_arm_producer 200 prod-c
291 prodstub_arm_producer 200 prod-d
292 prodstub_arm_producer 200 prod-e
293 prodstub_arm_producer 200 prod-f
295 prodstub_arm_type 200 prod-a type1
296 prodstub_arm_type 200 prod-b type2
297 prodstub_arm_type 200 prod-b type3
298 prodstub_arm_type 200 prod-d type4
299 prodstub_arm_type 200 prod-e type6
300 prodstub_arm_type 200 prod-f type6
302 prodstub_disarm_type 200 prod-b type3
303 prodstub_arm_type 200 prod-b type1
304 prodstub_disarm_type 200 prod-b type1
307 prodstub_arm_job_create 200 prod-a job1
308 prodstub_arm_job_create 200 prod-a job2
309 prodstub_arm_job_create 200 prod-b job3
311 prodstub_arm_job_delete 200 prod-a job1
312 prodstub_arm_job_delete 200 prod-a job2
313 prodstub_arm_job_delete 200 prod-b job3
315 prodstub_arm_job_create 200 prod-b job4
316 prodstub_arm_job_create 200 prod-a job4
318 prodstub_arm_job_create 200 prod-b job6
320 prodstub_arm_job_create 200 prod-d job8
322 prodstub_arm_job_create 200 prod-e job10
323 prodstub_arm_job_create 200 prod-f job10
326 ics_api_service_status 200
328 cr_equal 0 received_callbacks 0
330 ### Initial tests - no config made
331 ### GET: type ids, types, producer ids, producers, job ids, jobs
333 ics_api_a1_get_type_ids 200 EMPTY
334 ics_api_a1_get_type 404 test-type
336 ics_api_edp_get_type_ids 200 EMPTY
337 ics_api_edp_get_type_2 404 test-type
339 ics_api_edp_get_producer_ids_2 200 NOTYPE EMPTY
340 ics_api_edp_get_producer_2 404 test-prod
342 ics_api_edp_get_producer_status 404 test-prod
344 ics_api_edp_delete_producer 404 test-prod
346 ics_api_a1_get_job_ids 200 test-type NOWNER EMPTY
347 ics_api_a1_get_job_ids 200 test-type test-owner EMPTY
349 ics_api_a1_get_job 404 test-job
351 ics_api_a1_get_job_status 404 test-job
353 ics_api_a1_delete_job 404 test-job
355 ics_api_edp_get_producer_ids_2 200 NOTYPE EMPTY
356 ics_api_edp_get_producer_2 404 test-prod
358 ics_api_edp_get_type_2 404 test-type
359 ics_api_edp_delete_type_2 404 test-type
361 ### Setup of producer/job and testing apis ###
364 ics_api_edp_get_type_ids 200 EMPTY
365 ics_api_edp_get_type_2 404 type1
366 ics_api_edp_put_producer_2 404 prod-a $CB_JOB/prod-a $CB_SV/prod-a type1
368 # Create type, delete and create again
369 ics_api_edp_put_type_2 201 type1 testdata/ics/ei-type-1.json
370 ics_api_edp_get_type_2 200 type1
371 ics_api_edp_get_type_ids 200 type1
372 ics_api_edp_delete_type_2 204 type1
373 ics_api_edp_get_type_2 404 type1
374 ics_api_edp_get_type_ids 200 EMPTY
375 if [[ "$ICS_FEATURE_LEVEL" == *"INFO-TYPE-INFO"* ]]; then
376 ics_api_edp_put_type_2 201 type1 testdata/ics/ei-type-1.json testdata/ics/info-type-info.json
378 ics_api_edp_put_type_2 201 type1 testdata/ics/ei-type-1.json
380 ics_api_edp_get_type_ids 200 type1
381 if [[ "$ICS_FEATURE_LEVEL" == *"INFO-TYPE-INFO"* ]]; then
382 ics_api_edp_get_type_2 200 type1 testdata/ics/ei-type-1.json testdata/ics/info-type-info.json
384 ics_api_edp_get_type_2 200 type1 testdata/ics/ei-type-1.json
387 ics_api_edp_put_producer_2 201 prod-a $CB_JOB/prod-a $CB_SV/prod-a type1
388 ics_api_edp_put_producer_2 200 prod-a $CB_JOB/prod-a $CB_SV/prod-a type1
390 if [[ "$ICS_FEATURE_LEVEL" == *"TYPE-SUBSCRIPTIONS"* ]]; then
391 cr_equal 0 received_callbacks 3 30
392 cr_equal 0 received_callbacks?id=type-status1 3
393 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
395 cr_equal 0 received_callbacks 0
398 ics_api_a1_get_type_ids 200 type1
399 ics_api_a1_get_type 200 type1 testdata/ics/empty-type.json
401 ics_api_edp_get_type_ids 200 type1
402 if [[ "$ICS_FEATURE_LEVEL" == *"INFO-TYPE-INFO"* ]]; then
403 ics_api_edp_get_type_2 200 type1 testdata/ics/ei-type-1.json testdata/ics/info-type-info.json
405 ics_api_edp_get_type_2 200 type1 testdata/ics/ei-type-1.json
408 ics_api_edp_get_producer_ids_2 200 NOTYPE prod-a
409 ics_api_edp_get_producer_ids_2 200 type1 prod-a
410 ics_api_edp_get_producer_ids_2 200 type2 EMPTY
412 ics_api_edp_get_producer_2 200 prod-a $CB_JOB/prod-a $CB_SV/prod-a type1
414 ics_api_edp_get_producer_status 200 prod-a ENABLED
416 ics_api_a1_get_job_ids 200 type1 NOWNER EMPTY
417 ics_api_a1_get_job_ids 200 type1 test-owner EMPTY
419 ics_api_a1_get_job 404 test-job
421 ics_api_a1_get_job_status 404 test-job
423 ics_api_edp_get_producer_jobs_2 200 prod-a EMPTY
425 ## Create a job for prod-a
427 ics_api_a1_put_job 201 job1 type1 $TARGET1 ricsim_g3_1 $STATUS1 testdata/ics/job-template.json
429 # Check the job data in the producer
430 prodstub_check_jobdata_3 200 prod-a job1 type1 $TARGET1 ricsim_g3_1 testdata/ics/job-template.json
432 ics_api_a1_get_job_ids 200 type1 NOWNER job1
433 ics_api_a1_get_job_ids 200 type1 ricsim_g3_1 job1
435 ics_api_a1_get_job_ids 200 NOTYPE NOWNER job1
437 ics_api_a1_get_job 200 job1 type1 $TARGET1 ricsim_g3_1 $STATUS1 testdata/ics/job-template.json
439 ics_api_a1_get_job_status 200 job1 ENABLED
441 prodstub_equal create/prod-a/job1 1
443 ics_api_edp_get_producer_jobs_2 200 prod-a job1 type1 $TARGET1 ricsim_g3_1 testdata/ics/job-template.json
446 ## Create a second job for prod-a
448 ics_api_a1_put_job 201 job2 type1 $TARGET2 ricsim_g3_2 $STATUS2 testdata/ics/job-template.json
450 # Check the job data in the producer
451 prodstub_check_jobdata_3 200 prod-a job2 type1 $TARGET2 ricsim_g3_2 testdata/ics/job-template.json
452 ics_api_a1_get_job_ids 200 type1 NOWNER job1 job2
453 ics_api_a1_get_job_ids 200 type1 ricsim_g3_1 job1
454 ics_api_a1_get_job_ids 200 type1 ricsim_g3_2 job2
455 ics_api_a1_get_job_ids 200 NOTYPE NOWNER job1 job2
457 ics_api_a1_get_job 200 job2 type1 $TARGET2 ricsim_g3_2 $STATUS2 testdata/ics/job-template.json
459 ics_api_a1_get_job_status 200 job2 ENABLED
461 prodstub_equal create/prod-a/job2 1
463 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
466 ics_api_edp_put_type_2 201 type2 testdata/ics/ei-type-2.json
467 ics_api_edp_put_producer_2 201 prod-b $CB_JOB/prod-b $CB_SV/prod-b type2
468 if [[ "$ICS_FEATURE_LEVEL" == *"TYPE-SUBSCRIPTIONS"* ]]; then
469 cr_equal 0 received_callbacks 4 30
470 cr_equal 0 received_callbacks?id=type-status1 4
471 cr_api_check_all_ics_subscription_events 200 0 type-status1 type2 testdata/ics/ei-type-2.json REGISTERED
473 cr_equal 0 received_callbacks 0
477 ics_api_a1_get_type_ids 200 type1 type2
479 ics_api_a1_get_type 200 type1 testdata/ics/empty-type.json
480 ics_api_a1_get_type 200 type2 testdata/ics/empty-type.json
482 ics_api_edp_get_type_ids 200 type1 type2
483 if [[ "$ICS_FEATURE_LEVEL" == *"INFO-TYPE-INFO"* ]]; then
484 ics_api_edp_get_type_2 200 type1 testdata/ics/ei-type-1.json testdata/ics/info-type-info.json
486 ics_api_edp_get_type_2 200 type1 testdata/ics/ei-type-1.json
488 ics_api_edp_get_type_2 200 type2 testdata/ics/ei-type-2.json
490 ics_api_edp_get_producer_ids_2 200 NOTYPE prod-a prod-b
492 ics_api_edp_get_producer_2 200 prod-a $CB_JOB/prod-a $CB_SV/prod-a type1
493 ics_api_edp_get_producer_2 200 prod-b $CB_JOB/prod-b $CB_SV/prod-b type2
495 ics_api_edp_get_producer_status 200 prod-b ENABLED
497 ## Create job for prod-b
499 ics_api_a1_put_job 201 job3 type2 $TARGET3 ricsim_g3_3 $STATUS3 testdata/ics/job-template.json
501 prodstub_equal create/prod-b/job3 1
503 # Check the job data in the producer
504 prodstub_check_jobdata_3 200 prod-b job3 type2 $TARGET3 ricsim_g3_3 testdata/ics/job-template.json
506 ics_api_a1_get_job_ids 200 type1 NOWNER job1 job2
507 ics_api_a1_get_job_ids 200 type2 NOWNER job3
508 ics_api_a1_get_job_ids 200 type1 ricsim_g3_1 job1
509 ics_api_a1_get_job_ids 200 type1 ricsim_g3_2 job2
510 ics_api_a1_get_job_ids 200 type2 ricsim_g3_3 job3
512 ics_api_a1_get_job 200 job3 type2 $TARGET3 ricsim_g3_3 $STATUS3 testdata/ics/job-template.json
514 ics_api_a1_get_job_status 200 job3 ENABLED
516 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
517 ics_api_edp_get_producer_jobs_2 200 prod-b job3 type2 $TARGET3 ricsim_g3_3 testdata/ics/job-template.json
520 ## Setup prod-c (no types)
521 ics_api_edp_put_producer_2 201 prod-c $CB_JOB/prod-c $CB_SV/prod-c NOTYPE
523 ics_api_edp_get_producer_ids_2 200 NOTYPE prod-a prod-b prod-c
525 ics_api_edp_get_producer_2 200 prod-a $CB_JOB/prod-a $CB_SV/prod-a type1
526 ics_api_edp_get_producer_2 200 prod-b $CB_JOB/prod-b $CB_SV/prod-b type2
527 ics_api_edp_get_producer_2 200 prod-c $CB_JOB/prod-c $CB_SV/prod-c EMPTY
529 ics_api_edp_get_producer_status 200 prod-c ENABLED
532 ## Delete job3 and prod-b and re-create if different order
534 # Delete job then producer
535 ics_api_a1_get_job_ids 200 NOTYPE NOWNER job1 job2 job3
536 ics_api_edp_get_producer_ids_2 200 NOTYPE prod-a prod-b prod-c
538 ics_api_a1_delete_job 204 job3
540 ics_api_a1_get_job_ids 200 NOTYPE NOWNER job1 job2
541 ics_api_edp_get_producer_ids_2 200 NOTYPE prod-a prod-b prod-c
543 ics_api_edp_delete_producer 204 prod-b
545 ics_api_edp_get_producer_status 404 prod-b
547 ics_api_a1_get_job_ids 200 NOTYPE NOWNER job1 job2
548 ics_api_edp_get_producer_ids_2 200 NOTYPE prod-a prod-c
550 prodstub_equal delete/prod-b/job3 1
552 ics_api_a1_put_job 201 job3 type2 $TARGET3 ricsim_g3_3 $STATUS3 testdata/ics/job-template.json
553 ics_api_a1_get_job_status 200 job3 DISABLED
555 # Put producer then job
556 ics_api_edp_put_producer_2 201 prod-b $CB_JOB/prod-b $CB_SV/prod-b type2
558 ics_api_edp_get_producer_status 200 prod-b ENABLED
560 ics_api_a1_put_job 200 job3 type2 $TARGET3 ricsim_g3_3 $STATUS3 testdata/ics/job-template2.json
562 ics_api_a1_get_job_status 200 job3 ENABLED
564 prodstub_check_jobdata_3 200 prod-b job3 type2 $TARGET3 ricsim_g3_3 testdata/ics/job-template2.json
566 ics_api_a1_get_job_ids 200 NOTYPE NOWNER job1 job2 job3
567 ics_api_edp_get_producer_ids_2 200 NOTYPE prod-a prod-b prod-c
569 prodstub_equal create/prod-b/job3 3
570 prodstub_equal delete/prod-b/job3 1
572 # Delete only the producer
573 ics_api_edp_delete_producer 204 prod-b
575 ics_api_edp_get_producer_status 404 prod-b
577 ics_api_a1_get_job_ids 200 NOTYPE NOWNER job1 job2 job3
578 ics_api_edp_get_producer_ids_2 200 NOTYPE prod-a prod-c
580 ics_api_a1_get_job_status 200 job3 DISABLED
582 if [[ "$ICS_FEATURE_LEVEL" == *"TYPE-SUBSCRIPTIONS"* ]]; then
583 cr_equal 0 received_callbacks 5 30
584 cr_equal 0 received_callbacks?id=type-status1 4
585 cr_equal 0 received_callbacks?id=job3-status 1
586 cr_api_check_all_ics_events 200 0 job3-status DISABLED
588 cr_equal 0 received_callbacks 1 30
589 cr_equal 0 received_callbacks?id=job3-status 1
590 cr_api_check_all_ics_events 200 0 job3-status DISABLED
593 # Re-create the producer
594 ics_api_edp_put_producer_2 201 prod-b $CB_JOB/prod-b $CB_SV/prod-b type2
596 ics_api_edp_get_producer_status 200 prod-b ENABLED
598 ics_api_a1_get_job_status 200 job3 ENABLED
600 if [[ "$ICS_FEATURE_LEVEL" == *"TYPE-SUBSCRIPTIONS"* ]]; then
601 cr_equal 0 received_callbacks 6 30
602 cr_equal 0 received_callbacks?id=type-status1 4
603 cr_equal 0 received_callbacks?id=job3-status 2
604 cr_api_check_all_ics_events 200 0 job3-status ENABLED
606 cr_equal 0 received_callbacks 2 30
607 cr_equal 0 received_callbacks?id=job3-status 2
608 cr_api_check_all_ics_events 200 0 job3-status ENABLED
611 prodstub_check_jobdata_3 200 prod-b job3 type2 $TARGET3 ricsim_g3_3 testdata/ics/job-template2.json
614 ics_api_edp_put_type_2 201 type4 testdata/ics/ei-type-4.json
615 ics_api_edp_put_producer_2 201 prod-d $CB_JOB/prod-d $CB_SV/prod-d type4
617 if [[ "$ICS_FEATURE_LEVEL" == *"TYPE-SUBSCRIPTIONS"* ]]; then
618 cr_equal 0 received_callbacks 7 30
619 cr_equal 0 received_callbacks?id=type-status1 5
620 cr_api_check_all_ics_subscription_events 200 0 type-status1 type4 testdata/ics/ei-type-4.json REGISTERED
623 ics_api_a1_get_job_ids 200 type4 NOWNER EMPTY
625 ics_api_a1_put_job 201 job8 type4 $TARGET8 ricsim_g3_4 $STATUS8 testdata/ics/job-template.json
627 prodstub_check_jobdata_3 200 prod-d job8 type4 $TARGET8 ricsim_g3_4 testdata/ics/job-template.json
629 prodstub_equal create/prod-d/job8 1
630 prodstub_equal delete/prod-d/job8 0
632 ics_api_a1_get_job_ids 200 type4 NOWNER job8
634 ics_api_a1_get_job_status 200 job8 ENABLED
636 # Re-PUT the producer with zero types
637 ics_api_edp_put_producer_2 200 prod-d $CB_JOB/prod-d $CB_SV/prod-d NOTYPE
639 ics_api_a1_get_job_ids 200 type4 NOWNER job8
640 ics_api_a1_get_job_ids 200 NOTYPE NOWNER job1 job2 job3 job8
642 ics_api_a1_get_job_status 200 job8 DISABLED
644 if [[ "$ICS_FEATURE_LEVEL" == *"TYPE-SUBSCRIPTIONS"* ]]; then
645 cr_equal 0 received_callbacks 8 30
646 cr_equal 0 received_callbacks?id=type-status1 5
647 cr_equal 0 received_callbacks?id=job8-status 1
648 cr_api_check_all_ics_events 200 0 job8-status DISABLED
650 cr_equal 0 received_callbacks 3 30
651 cr_equal 0 received_callbacks?id=job8-status 1
652 cr_api_check_all_ics_events 200 0 job8-status DISABLED
655 prodstub_equal create/prod-d/job8 1
656 prodstub_equal delete/prod-d/job8 0
659 ics_api_edp_put_type_2 200 type4 testdata/ics/ei-type-4.json
660 ics_api_edp_put_producer_2 200 prod-d $CB_JOB/prod-d $CB_SV/prod-d type4
662 ics_api_a1_get_job_ids 200 type4 NOWNER job8
663 ics_api_a1_get_job_ids 200 NOTYPE NOWNER job1 job2 job3 job8
665 ics_api_a1_get_job_status 200 job8 ENABLED
667 ics_api_edp_get_producer_status 200 prod-a ENABLED
668 ics_api_edp_get_producer_status 200 prod-b ENABLED
669 ics_api_edp_get_producer_status 200 prod-c ENABLED
670 ics_api_edp_get_producer_status 200 prod-d ENABLED
672 if [[ "$ICS_FEATURE_LEVEL" == *"TYPE-SUBSCRIPTIONS"* ]]; then
673 cr_equal 0 received_callbacks 10 30
674 cr_equal 0 received_callbacks?id=type-status1 6
675 cr_api_check_all_ics_subscription_events 200 0 type-status1 type4 testdata/ics/ei-type-4.json REGISTERED
677 cr_equal 0 received_callbacks?id=job8-status 2
678 cr_api_check_all_ics_events 200 0 job8-status ENABLED
680 cr_equal 0 received_callbacks 4 30
681 cr_equal 0 received_callbacks?id=job8-status 2
682 cr_api_check_all_ics_events 200 0 job8-status ENABLED
685 prodstub_equal create/prod-d/job8 2
686 prodstub_equal delete/prod-d/job8 0
689 ics_api_edp_put_type_2 201 type6 testdata/ics/ei-type-6.json
690 ics_api_edp_put_producer_2 201 prod-e $CB_JOB/prod-e $CB_SV/prod-e type6
692 if [[ "$ICS_FEATURE_LEVEL" == *"TYPE-SUBSCRIPTIONS"* ]]; then
693 cr_equal 0 received_callbacks 11 30
694 cr_equal 0 received_callbacks?id=type-status1 7
695 cr_api_check_all_ics_subscription_events 200 0 type-status1 type6 testdata/ics/ei-type-6.json REGISTERED
698 ics_api_a1_get_job_ids 200 type6 NOWNER EMPTY
700 ics_api_a1_put_job 201 job10 type6 $TARGET10 ricsim_g3_4 $STATUS10 testdata/ics/job-template.json
702 prodstub_check_jobdata_3 200 prod-e job10 type6 $TARGET10 ricsim_g3_4 testdata/ics/job-template.json
704 prodstub_equal create/prod-e/job10 1
705 prodstub_equal delete/prod-e/job10 0
707 ics_api_a1_get_job_ids 200 type6 NOWNER job10
709 ics_api_a1_get_job_status 200 job10 ENABLED
712 ics_api_edp_put_type_2 200 type6 testdata/ics/ei-type-6.json
713 ics_api_edp_put_producer_2 201 prod-f $CB_JOB/prod-f $CB_SV/prod-f type6
715 if [[ "$ICS_FEATURE_LEVEL" == *"TYPE-SUBSCRIPTIONS"* ]]; then
716 cr_equal 0 received_callbacks 12 30
717 cr_equal 0 received_callbacks?id=type-status1 8
718 cr_api_check_all_ics_subscription_events 200 0 type-status1 type6 testdata/ics/ei-type-6.json REGISTERED
721 ics_api_a1_get_job_ids 200 type6 NOWNER job10
723 prodstub_check_jobdata_3 200 prod-f job10 type6 $TARGET10 ricsim_g3_4 testdata/ics/job-template.json
725 prodstub_equal create/prod-f/job10 1
726 prodstub_equal delete/prod-f/job10 0
728 ics_api_a1_get_job_ids 200 type6 NOWNER job10
730 ics_api_a1_get_job_status 200 job10 ENABLED
732 ## Status updates prod-a and jobs
734 ics_api_edp_get_producer_ids_2 200 NOTYPE prod-a prod-b prod-c prod-d prod-e prod-f
736 ics_api_edp_get_producer_status 200 prod-a ENABLED
737 ics_api_edp_get_producer_status 200 prod-b ENABLED
738 ics_api_edp_get_producer_status 200 prod-c ENABLED
739 ics_api_edp_get_producer_status 200 prod-d ENABLED
740 ics_api_edp_get_producer_status 200 prod-e ENABLED
741 ics_api_edp_get_producer_status 200 prod-f ENABLED
743 # Arm producer prod-a for supervision failure
744 prodstub_arm_producer 200 prod-a 400
746 # Wait for producer prod-a to go disabled
747 ics_api_edp_get_producer_status 200 prod-a DISABLED 360
749 ics_api_edp_get_producer_ids_2 200 NOTYPE prod-a prod-b prod-c prod-d prod-e prod-f
751 ics_api_edp_get_producer_status 200 prod-a DISABLED
752 ics_api_edp_get_producer_status 200 prod-b ENABLED
753 ics_api_edp_get_producer_status 200 prod-c ENABLED
754 ics_api_edp_get_producer_status 200 prod-d ENABLED
755 ics_api_edp_get_producer_status 200 prod-e ENABLED
756 ics_api_edp_get_producer_status 200 prod-f ENABLED
759 ics_api_a1_get_job_status 200 job1 ENABLED
760 ics_api_a1_get_job_status 200 job2 ENABLED
761 ics_api_a1_get_job_status 200 job3 ENABLED
762 ics_api_a1_get_job_status 200 job8 ENABLED
763 ics_api_a1_get_job_status 200 job10 ENABLED
765 # Arm producer prod-a for supervision
766 prodstub_arm_producer 200 prod-a 200
768 # Wait for producer prod-a to go enabled
769 ics_api_edp_get_producer_status 200 prod-a ENABLED 360
771 ics_api_edp_get_producer_ids_2 200 NOTYPE prod-a prod-b prod-c prod-d prod-e prod-f
773 ics_api_edp_get_producer_status 200 prod-a ENABLED
774 ics_api_edp_get_producer_status 200 prod-b ENABLED
775 ics_api_edp_get_producer_status 200 prod-c ENABLED
776 ics_api_edp_get_producer_status 200 prod-d ENABLED
777 ics_api_edp_get_producer_status 200 prod-e ENABLED
778 ics_api_edp_get_producer_status 200 prod-f ENABLED
780 ics_api_a1_get_job_status 200 job1 ENABLED
781 ics_api_a1_get_job_status 200 job2 ENABLED
782 ics_api_a1_get_job_status 200 job3 ENABLED
783 ics_api_a1_get_job_status 200 job8 ENABLED
784 ics_api_a1_get_job_status 200 job10 ENABLED
786 # Arm producer prod-a for supervision failure
787 prodstub_arm_producer 200 prod-a 400
789 # Wait for producer prod-a to go disabled
790 ics_api_edp_get_producer_status 200 prod-a DISABLED 360
792 ics_api_edp_get_producer_ids_2 200 NOTYPE prod-a prod-b prod-c prod-d prod-e prod-f
794 ics_api_edp_get_producer_status 200 prod-a DISABLED
795 ics_api_edp_get_producer_status 200 prod-b ENABLED
796 ics_api_edp_get_producer_status 200 prod-c ENABLED
797 ics_api_edp_get_producer_status 200 prod-d ENABLED
798 ics_api_edp_get_producer_status 200 prod-e ENABLED
799 ics_api_edp_get_producer_status 200 prod-f ENABLED
801 ics_api_a1_get_job_status 200 job1 ENABLED
802 ics_api_a1_get_job_status 200 job2 ENABLED
803 ics_api_a1_get_job_status 200 job3 ENABLED
804 ics_api_a1_get_job_status 200 job8 ENABLED
805 ics_api_a1_get_job_status 200 job10 ENABLED
807 # Wait for producer prod-a to be removed
808 ics_equal json:data-producer/v1/info-producers 5 1000
810 ics_api_edp_get_producer_ids_2 200 NOTYPE prod-b prod-c prod-d prod-e prod-f
813 ics_api_edp_get_producer_status 404 prod-a
814 ics_api_edp_get_producer_status 200 prod-b ENABLED
815 ics_api_edp_get_producer_status 200 prod-c ENABLED
816 ics_api_edp_get_producer_status 200 prod-d ENABLED
817 ics_api_edp_get_producer_status 200 prod-e ENABLED
818 ics_api_edp_get_producer_status 200 prod-f ENABLED
820 ics_api_a1_get_job_status 200 job1 DISABLED
821 ics_api_a1_get_job_status 200 job2 DISABLED
822 ics_api_a1_get_job_status 200 job3 ENABLED
823 ics_api_a1_get_job_status 200 job8 ENABLED
824 ics_api_a1_get_job_status 200 job10 ENABLED
826 if [[ "$ICS_FEATURE_LEVEL" == *"TYPE-SUBSCRIPTIONS"* ]]; then
827 cr_equal 0 received_callbacks 14 30
829 cr_equal 0 received_callbacks 6 30
832 cr_equal 0 received_callbacks?id=job1-status 1
833 cr_equal 0 received_callbacks?id=job2-status 1
835 cr_api_check_all_ics_events 200 0 job1-status DISABLED
836 cr_api_check_all_ics_events 200 0 job2-status DISABLED
839 # Arm producer prod-e for supervision failure
840 prodstub_arm_producer 200 prod-e 400
842 ics_api_edp_get_producer_status 200 prod-e DISABLED 1000
844 ics_api_edp_get_producer_ids_2 200 NOTYPE prod-b prod-c prod-d prod-e prod-f
846 ics_api_edp_get_producer_status 404 prod-a
847 ics_api_edp_get_producer_status 200 prod-b ENABLED
848 ics_api_edp_get_producer_status 200 prod-c ENABLED
849 ics_api_edp_get_producer_status 200 prod-d ENABLED
850 ics_api_edp_get_producer_status 200 prod-e DISABLED
851 ics_api_edp_get_producer_status 200 prod-f ENABLED
853 ics_api_a1_get_job_status 200 job1 DISABLED
854 ics_api_a1_get_job_status 200 job2 DISABLED
855 ics_api_a1_get_job_status 200 job3 ENABLED
856 ics_api_a1_get_job_status 200 job8 ENABLED
857 ics_api_a1_get_job_status 200 job10 ENABLED
859 #Disable create for job10 in prod-e
860 prodstub_arm_job_create 200 prod-e job10 400
862 #Update tjob 10 - only prod-f will be updated
863 ics_api_a1_put_job 200 job10 type6 $TARGET10 ricsim_g3_4 $STATUS10 testdata/ics/job-template2.json
864 #Reset producer and job responses
865 prodstub_arm_producer 200 prod-e 200
866 prodstub_arm_job_create 200 prod-e job10 200
868 ics_api_edp_get_producer_status 200 prod-e ENABLED 360
870 ics_api_edp_get_producer_ids_2 200 NOTYPE prod-b prod-c prod-d prod-e prod-f
872 #Wait for job to be updated
875 prodstub_check_jobdata_3 200 prod-f job10 type6 $TARGET10 ricsim_g3_4 testdata/ics/job-template2.json
877 prodstub_arm_producer 200 prod-f 400
879 ics_api_edp_get_producer_status 200 prod-f DISABLED 360
881 ics_equal json:data-producer/v1/info-producers 4 1000
883 ics_api_edp_get_producer_ids_2 200 NOTYPE prod-b prod-c prod-d prod-e
885 ics_api_edp_get_producer_status 404 prod-a
886 ics_api_edp_get_producer_status 200 prod-b ENABLED
887 ics_api_edp_get_producer_status 200 prod-c ENABLED
888 ics_api_edp_get_producer_status 200 prod-d ENABLED
889 ics_api_edp_get_producer_status 200 prod-e ENABLED
890 ics_api_edp_get_producer_status 404 prod-f
892 ics_api_a1_get_job_status 200 job1 DISABLED
893 ics_api_a1_get_job_status 200 job2 DISABLED
894 ics_api_a1_get_job_status 200 job3 ENABLED
895 ics_api_a1_get_job_status 200 job8 ENABLED
896 ics_api_a1_get_job_status 200 job10 ENABLED
898 if [[ "$ICS_FEATURE_LEVEL" == *"TYPE-SUBSCRIPTIONS"* ]]; then
899 cr_equal 0 received_callbacks 14 30
901 cr_equal 0 received_callbacks 6 30
905 ############################################
907 ############################################
909 ### Setup prodstub sim to accept calls for producers, info types and jobs
911 ## prod-ib type101 and type102
916 ## prod-ig type150 (configured later)
917 ## prod-ig type160 (configured later)
925 ## job110 -> prod-ie and prod-if
926 ## job150 -> prod-ig (configured later)
928 prodstub_arm_producer 200 prod-ia
929 prodstub_arm_producer 200 prod-ib
930 prodstub_arm_producer 200 prod-ic
931 prodstub_arm_producer 200 prod-id
932 prodstub_arm_producer 200 prod-ie
933 prodstub_arm_producer 200 prod-if
935 prodstub_arm_type 200 prod-ia type101
936 prodstub_arm_type 200 prod-ib type102
937 prodstub_arm_type 200 prod-ib type103
938 prodstub_arm_type 200 prod-id type104
939 prodstub_arm_type 200 prod-ie type106
940 prodstub_arm_type 200 prod-if type106
942 prodstub_disarm_type 200 prod-ib type103
943 prodstub_arm_type 200 prod-ib type101
944 prodstub_disarm_type 200 prod-ib type101
947 prodstub_arm_job_create 200 prod-ia job101
948 prodstub_arm_job_create 200 prod-ia job102
949 prodstub_arm_job_create 200 prod-ib job103
951 prodstub_arm_job_delete 200 prod-ia job101
952 prodstub_arm_job_delete 200 prod-ia job102
953 prodstub_arm_job_delete 200 prod-ib job103
955 prodstub_arm_job_create 200 prod-ib job104
956 prodstub_arm_job_create 200 prod-ia job104
958 prodstub_arm_job_create 200 prod-ib job106
960 prodstub_arm_job_create 200 prod-id job108
962 prodstub_arm_job_create 200 prod-ie job110
963 prodstub_arm_job_create 200 prod-if job110
966 # NOTE: types, jobs and producers are still present related to eitypes
969 ### Initial tests - no config made
970 ### GET: type ids, types, producer ids, producers, job ids, jobs
972 ics_api_idc_get_type_ids 200 type1 type2 type4 type6
973 ics_api_idc_get_type 404 test-type
975 ics_api_edp_get_type_ids 200 type1 type2 type4 type6
976 ics_api_edp_get_type_2 404 test-type
978 ics_api_edp_get_producer_ids_2 200 NOTYPE prod-b prod-c prod-d prod-e
979 ics_api_edp_get_producer_2 404 test-prod
980 ics_api_edp_get_producer_status 404 test-prod
982 ics_api_edp_delete_producer 404 test-prod
984 ics_api_idc_get_job_ids 200 test-type NOWNER EMPTY
985 ics_api_idc_get_job_ids 200 test-type test-owner EMPTY
987 ics_api_idc_get_job 404 test-job
989 ics_api_idc_get_job_status2 404 test-job
991 ics_api_idc_delete_job 404 test-job
993 ics_api_edp_get_producer_jobs_2 404 test-prod
995 ics_api_edp_get_type_2 404 test-type
996 ics_api_edp_delete_type_2 404 test-type
998 ### Setup of producer/job and testing apis ###
1001 ics_api_edp_get_type_ids 200 type1 type2 type4 type6
1002 ics_api_edp_get_type_2 404 type101
1003 ics_api_edp_put_producer_2 404 prod-ia $CB_JOB/prod-ia $CB_SV/prod-ia type101
1005 # Create type, delete and create again
1006 ics_api_edp_put_type_2 201 type101 testdata/ics/info-type-1.json
1007 ics_api_edp_get_type_2 200 type101
1008 ics_api_edp_get_type_ids 200 type101 type1 type2 type4 type6
1009 ics_api_edp_delete_type_2 204 type101
1010 ics_api_edp_get_type_2 404 type101
1011 ics_api_edp_get_type_ids 200 type1 type2 type4 type6
1012 ics_api_edp_put_type_2 201 type101 testdata/ics/info-type-1.json
1013 ics_api_edp_get_type_ids 200 type101 type1 type2 type4 type6
1014 ics_api_edp_get_type_2 200 type101 testdata/ics/info-type-1.json
1016 ics_api_edp_put_producer_2 201 prod-ia $CB_JOB/prod-ia $CB_SV/prod-ia type101
1017 ics_api_edp_put_producer_2 200 prod-ia $CB_JOB/prod-ia $CB_SV/prod-ia type101
1019 if [[ "$ICS_FEATURE_LEVEL" == *"RESP_CODE_CHANGE_1"* ]]; then
1020 ics_api_edp_delete_type_2 409 type101
1022 ics_api_edp_delete_type_2 406 type101
1025 if [[ "$ICS_FEATURE_LEVEL" == *"TYPE-SUBSCRIPTIONS"* ]]; then
1026 cr_equal 0 received_callbacks 17 30
1027 cr_equal 0 received_callbacks?id=type-status1 11
1028 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
1030 cr_equal 0 received_callbacks 6
1033 ics_api_edp_get_type_ids 200 type101 type1 type2 type4 type6
1034 ics_api_edp_get_type_2 200 type101 testdata/ics/info-type-1.json
1036 ics_api_edp_get_producer_ids_2 200 NOTYPE prod-ia prod-b prod-c prod-d prod-e
1037 ics_api_edp_get_producer_ids_2 200 type101 prod-ia
1038 ics_api_edp_get_producer_ids_2 200 type102 EMPTY
1040 ics_api_edp_get_producer_2 200 prod-ia $CB_JOB/prod-ia $CB_SV/prod-ia type101
1042 ics_api_edp_get_producer_status 200 prod-ia ENABLED
1044 ics_api_idc_get_job_ids 200 type101 NOWNER EMPTY
1045 ics_api_idc_get_job_ids 200 type101 test-owner EMPTY
1047 ics_api_idc_get_job 404 test-job
1049 ics_api_idc_get_job_status2 404 test-job
1050 ics_api_edp_get_producer_jobs_2 200 prod-ia EMPTY
1052 ## Create a job for prod-ia
1054 ics_api_idc_put_job 201 job101 type101 $TARGET101 info-owner-1 $INFOSTATUS101 testdata/ics/job-template.json VALIDATE
1056 # Check the job data in the producer
1057 prodstub_check_jobdata_3 200 prod-ia job101 type101 $TARGET101 info-owner-1 testdata/ics/job-template.json
1059 ics_api_idc_get_job_ids 200 type101 NOWNER job101
1060 ics_api_idc_get_job_ids 200 type101 info-owner-1 job101
1062 ics_api_idc_get_job_ids 200 NOTYPE NOWNER job101 job1 job2 job3 job8 job10
1064 ics_api_idc_get_job 200 job101 type101 $TARGET101 info-owner-1 $INFOSTATUS101 testdata/ics/job-template.json
1066 ics_api_idc_get_job_status2 200 job101 ENABLED 1 prod-ia
1068 prodstub_equal create/prod-ia/job101 1
1070 ics_api_edp_get_producer_jobs_2 200 prod-ia job101 type101 $TARGET101 info-owner-1 testdata/ics/job-template.json
1072 ## Create a second job for prod-ia
1074 ics_api_idc_put_job 201 job102 type101 $TARGET102 info-owner-2 $INFOSTATUS102 testdata/ics/job-template.json VALIDATE
1076 # Check the job data in the producer
1077 prodstub_check_jobdata_3 200 prod-ia job102 type101 $TARGET102 info-owner-2 testdata/ics/job-template.json
1078 ics_api_idc_get_job_ids 200 type101 NOWNER job101 job102
1079 ics_api_idc_get_job_ids 200 type101 info-owner-1 job101
1080 ics_api_idc_get_job_ids 200 type101 info-owner-2 job102
1081 ics_api_idc_get_job_ids 200 NOTYPE NOWNER job101 job102 job1 job2 job3 job8 job10
1083 ics_api_idc_get_job 200 job102 type101 $TARGET102 info-owner-2 $INFOSTATUS102 testdata/ics/job-template.json
1085 ics_api_idc_get_job_status2 200 job102 ENABLED 1 prod-ia
1087 prodstub_equal create/prod-ia/job102 1
1089 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
1093 ics_api_edp_put_type_2 201 type102 testdata/ics/info-type-2.json
1094 ics_api_edp_put_producer_2 201 prod-ib $CB_JOB/prod-ib $CB_SV/prod-ib type102
1096 if [[ "$ICS_FEATURE_LEVEL" == *"TYPE-SUBSCRIPTIONS"* ]]; then
1097 cr_equal 0 received_callbacks 18 30
1098 cr_equal 0 received_callbacks?id=type-status1 12
1099 cr_api_check_all_ics_subscription_events 200 0 type-status1 type102 testdata/ics/info-type-2.json REGISTERED
1101 cr_equal 0 received_callbacks 6
1104 ics_api_idc_get_type_ids 200 type101 type102 type1 type2 type4 type6
1106 if [[ "$ICS_FEATURE_LEVEL" == *"TYPE-SUBSCRIPTIONS"* ]]; then
1107 ics_api_idc_get_type 200 type101 testdata/ics/info-type-1.json ENABLED 1
1109 ics_api_idc_get_type 200 type102 testdata/ics/info-type-2.json ENABLED 1
1111 ics_api_idc_get_type 200 type101 testdata/ics/info-type-1.json
1113 ics_api_idc_get_type 200 type102 testdata/ics/info-type-2.json
1116 ics_api_edp_get_type_ids 200 type101 type102 type1 type2 type4 type6
1117 ics_api_edp_get_type_2 200 type101 testdata/ics/info-type-1.json
1118 ics_api_edp_get_type_2 200 type102 testdata/ics/info-type-2.json
1120 ics_api_edp_get_producer_ids_2 200 NOTYPE prod-ia prod-ib prod-b prod-c prod-d prod-e
1122 ics_api_edp_get_producer_2 200 prod-ia $CB_JOB/prod-ia $CB_SV/prod-ia type101
1123 ics_api_edp_get_producer_2 200 prod-ib $CB_JOB/prod-ib $CB_SV/prod-ib type102
1125 ics_api_edp_get_producer_status 200 prod-ib ENABLED
1127 ## Create job for prod-ib
1129 ics_api_idc_put_job 201 job103 type102 $TARGET103 info-owner-3 $INFOSTATUS103 testdata/ics/job-template.json VALIDATE
1131 prodstub_equal create/prod-ib/job103 1
1133 # Check the job data in the producer
1134 prodstub_check_jobdata_3 200 prod-ib job103 type102 $TARGET103 info-owner-3 testdata/ics/job-template.json
1136 ics_api_idc_get_job_ids 200 type101 NOWNER job101 job102
1137 ics_api_idc_get_job_ids 200 type102 NOWNER job103
1138 ics_api_idc_get_job_ids 200 type101 info-owner-1 job101
1139 ics_api_idc_get_job_ids 200 type101 info-owner-2 job102
1140 ics_api_idc_get_job_ids 200 type102 info-owner-3 job103
1142 ics_api_idc_get_job 200 job103 type102 $TARGET103 info-owner-3 $INFOSTATUS103 testdata/ics/job-template.json
1144 ics_api_idc_get_job_status2 200 job103 ENABLED 1 prod-ib
1146 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
1147 ics_api_edp_get_producer_jobs_2 200 prod-ib job103 type102 $TARGET103 info-owner-3 testdata/ics/job-template.json
1149 ## Setup prod-ic (no types)
1150 ics_api_edp_put_producer_2 201 prod-ic $CB_JOB/prod-ic $CB_SV/prod-ic NOTYPE
1152 ics_api_edp_get_producer_ids_2 200 NOTYPE prod-ia prod-ib prod-ic prod-b prod-c prod-d prod-e
1154 ics_api_edp_get_producer_2 200 prod-ia $CB_JOB/prod-ia $CB_SV/prod-ia type101
1155 ics_api_edp_get_producer_2 200 prod-ib $CB_JOB/prod-ib $CB_SV/prod-ib type102
1156 ics_api_edp_get_producer_2 200 prod-ic $CB_JOB/prod-ic $CB_SV/prod-ic EMPTY
1158 ics_api_edp_get_producer_status 200 prod-ic ENABLED
1161 ## Delete job103 and prod-ib and re-create if different order
1163 # Delete job then producer
1164 ics_api_idc_get_job_ids 200 NOTYPE NOWNER job101 job102 job103 job1 job2 job3 job8 job10
1165 ics_api_edp_get_producer_ids_2 200 NOTYPE prod-ia prod-ib prod-ic prod-b prod-c prod-d prod-e
1167 ics_api_idc_delete_job 204 job103
1169 ics_api_idc_get_job_ids 200 NOTYPE NOWNER job101 job102 job1 job2 job3 job8 job10
1170 ics_api_edp_get_producer_ids_2 200 NOTYPE prod-ia prod-ib prod-ic prod-b prod-c prod-d prod-e
1172 ics_api_edp_delete_producer 204 prod-ib
1174 ics_api_edp_get_producer_status 404 prod-ib
1176 ics_api_idc_get_job_ids 200 NOTYPE NOWNER job101 job102 job1 job2 job3 job8 job10
1177 ics_api_edp_get_producer_ids_2 200 NOTYPE prod-ia prod-ic prod-b prod-c prod-d prod-e
1179 prodstub_equal delete/prod-ib/job103 1
1181 ics_api_idc_put_job 201 job103 type102 $TARGET103 info-owner-3 $INFOSTATUS103 testdata/ics/job-template.json VALIDATE
1182 ics_api_idc_get_job_status2 200 job103 DISABLED EMPTYPROD
1184 # Put producer then job
1185 ics_api_edp_put_producer_2 201 prod-ib $CB_JOB/prod-ib $CB_SV/prod-ib type102
1187 ics_api_edp_get_producer_status 200 prod-ib ENABLED
1189 ics_api_idc_put_job 200 job103 type102 $TARGET103 info-owner-3 $INFOSTATUS103 testdata/ics/job-template2.json VALIDATE
1190 ics_api_idc_get_job_status2 200 job103 ENABLED 1 prod-ib
1192 prodstub_check_jobdata_3 200 prod-ib job103 type102 $TARGET103 info-owner-3 testdata/ics/job-template2.json
1194 ics_api_idc_get_job_ids 200 NOTYPE NOWNER job101 job102 job103 job1 job2 job3 job8 job10
1195 ics_api_edp_get_producer_ids_2 200 NOTYPE prod-ia prod-ib prod-ic prod-b prod-c prod-d prod-e
1197 prodstub_equal create/prod-ib/job103 3
1198 prodstub_equal delete/prod-ib/job103 1
1200 # Delete only the producer
1201 ics_api_edp_delete_producer 204 prod-ib
1203 ics_api_edp_get_producer_status 404 prod-ib
1205 ics_api_idc_get_job_ids 200 NOTYPE NOWNER job101 job102 job103 job1 job2 job3 job8 job10
1206 ics_api_edp_get_producer_ids_2 200 NOTYPE prod-ia prod-ic prod-b prod-c prod-d prod-e
1208 ics_api_idc_get_job_status2 200 job103 DISABLED EMPTYPROD
1210 if [[ "$ICS_FEATURE_LEVEL" == *"TYPE-SUBSCRIPTIONS"* ]]; then
1211 cr_equal 0 received_callbacks 19 30
1213 cr_equal 0 received_callbacks?id=info-job103-status 1
1214 cr_api_check_all_ics_events 200 0 info-job103-status DISABLED
1216 cr_equal 0 received_callbacks 7 30
1217 cr_equal 0 received_callbacks?id=info-job103-status 1
1218 cr_api_check_all_ics_events 200 0 info-job103-status DISABLED
1221 # Re-create the producer
1222 ics_api_edp_put_producer_2 201 prod-ib $CB_JOB/prod-ib $CB_SV/prod-ib type102
1224 ics_api_edp_get_producer_status 200 prod-ib ENABLED
1226 ics_api_idc_get_job_status2 200 job103 ENABLED 1 prod-ib
1228 if [[ "$ICS_FEATURE_LEVEL" == *"TYPE-SUBSCRIPTIONS"* ]]; then
1229 cr_equal 0 received_callbacks 20 30
1230 cr_equal 0 received_callbacks?id=info-job103-status 2
1231 cr_api_check_all_ics_events 200 0 info-job103-status ENABLED
1233 cr_equal 0 received_callbacks 8 30
1234 cr_equal 0 received_callbacks?id=info-job103-status 2
1235 cr_api_check_all_ics_events 200 0 info-job103-status ENABLED
1238 prodstub_check_jobdata_3 200 prod-ib job103 type102 $TARGET103 info-owner-3 testdata/ics/job-template2.json
1241 ics_api_edp_put_type_2 201 type104 testdata/ics/info-type-4.json
1242 ics_api_edp_put_producer_2 201 prod-id $CB_JOB/prod-id $CB_SV/prod-id type104
1244 ics_api_idc_get_job_ids 200 type104 NOWNER EMPTY
1246 ics_api_idc_put_job 201 job108 type104 $TARGET108 info-owner-4 $INFOSTATUS108 testdata/ics/job-template.json VALIDATE
1248 prodstub_check_jobdata_3 200 prod-id job108 type104 $TARGET108 info-owner-4 testdata/ics/job-template.json
1250 prodstub_equal create/prod-id/job108 1
1251 prodstub_equal delete/prod-id/job108 0
1253 ics_api_idc_get_job_ids 200 type104 NOWNER job108
1255 ics_api_idc_get_job_status2 200 job108 ENABLED 1 prod-id
1257 # Re-PUT the producer with zero types
1258 ics_api_edp_put_producer_2 200 prod-id $CB_JOB/prod-id $CB_SV/prod-id NOTYPE
1260 ics_api_idc_get_job_ids 200 type104 NOWNER job108
1261 ics_api_idc_get_job_ids 200 NOTYPE NOWNER job101 job102 job103 job108 job1 job2 job3 job8 job10
1263 ics_api_idc_get_job_status2 200 job108 DISABLED EMPTYPROD
1265 if [[ "$ICS_FEATURE_LEVEL" == *"TYPE-SUBSCRIPTIONS"* ]]; then
1266 cr_equal 0 received_callbacks 22 30
1267 cr_equal 0 received_callbacks?id=type-status1 13
1268 cr_api_check_all_ics_subscription_events 200 0 type-status1 type104 testdata/ics/info-type-4.json REGISTERED
1270 cr_equal 0 received_callbacks?id=info-job108-status 1
1271 cr_api_check_all_ics_events 200 0 info-job108-status DISABLED
1273 cr_equal 0 received_callbacks 9 30
1274 cr_equal 0 received_callbacks?id=info-job108-status 1
1275 cr_api_check_all_ics_events 200 0 info-job108-status DISABLED
1278 prodstub_equal create/prod-id/job108 1
1279 prodstub_equal delete/prod-id/job108 0
1282 ics_api_edp_put_type_2 200 type104 testdata/ics/info-type-4.json
1283 ics_api_edp_put_producer_2 200 prod-id $CB_JOB/prod-id $CB_SV/prod-id type104
1286 ics_api_idc_get_job_ids 200 type104 NOWNER job108
1287 ics_api_idc_get_job_ids 200 NOTYPE NOWNER job101 job102 job103 job108 job1 job2 job3 job8 job10
1289 ics_api_idc_get_job_status2 200 job108 ENABLED 1 prod-id
1291 ics_api_edp_get_producer_status 200 prod-ia ENABLED
1292 ics_api_edp_get_producer_status 200 prod-ib ENABLED
1293 ics_api_edp_get_producer_status 200 prod-ic ENABLED
1294 ics_api_edp_get_producer_status 200 prod-id ENABLED
1296 if [[ "$ICS_FEATURE_LEVEL" == *"TYPE-SUBSCRIPTIONS"* ]]; then
1297 cr_equal 0 received_callbacks 24 30
1299 cr_equal 0 received_callbacks?id=type-status1 14
1300 cr_api_check_all_ics_subscription_events 200 0 type-status1 type104 testdata/ics/info-type-4.json REGISTERED
1302 cr_equal 0 received_callbacks?id=info-job108-status 2
1303 cr_api_check_all_ics_events 200 0 info-job108-status ENABLED
1305 cr_equal 0 received_callbacks 10 30
1306 cr_equal 0 received_callbacks?id=info-job108-status 2
1307 cr_api_check_all_ics_events 200 0 info-job108-status ENABLED
1310 prodstub_equal create/prod-id/job108 2
1311 prodstub_equal delete/prod-id/job108 0
1315 ics_api_edp_put_type_2 201 type106 testdata/ics/info-type-6.json
1316 ics_api_edp_put_producer_2 201 prod-ie $CB_JOB/prod-ie $CB_SV/prod-ie type106
1318 ics_api_idc_get_job_ids 200 type106 NOWNER EMPTY
1320 ics_api_idc_put_job 201 job110 type106 $TARGET110 info-owner-4 $INFOSTATUS110 testdata/ics/job-template.json VALIDATE
1322 prodstub_check_jobdata_3 200 prod-ie job110 type106 $TARGET110 info-owner-4 testdata/ics/job-template.json
1324 prodstub_equal create/prod-ie/job110 1
1325 prodstub_equal delete/prod-ie/job110 0
1327 ics_api_idc_get_job_ids 200 type106 NOWNER job110
1329 ics_api_idc_get_job_status2 200 job110 ENABLED 1 prod-ie
1332 ics_api_edp_put_type_2 200 type106 testdata/ics/info-type-6.json
1333 ics_api_edp_put_producer_2 201 prod-if $CB_JOB/prod-if $CB_SV/prod-if type106
1335 if [[ "$ICS_FEATURE_LEVEL" == *"TYPE-SUBSCRIPTIONS"* ]]; then
1336 cr_equal 0 received_callbacks 26 30
1338 cr_equal 0 received_callbacks?id=type-status1 16
1339 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
1343 ics_api_idc_get_job_ids 200 type106 NOWNER job110
1345 prodstub_check_jobdata_3 200 prod-if job110 type106 $TARGET110 info-owner-4 testdata/ics/job-template.json
1347 prodstub_equal create/prod-if/job110 1
1348 prodstub_equal delete/prod-if/job110 0
1350 ics_api_idc_get_job_ids 200 type106 NOWNER job110
1352 ics_api_idc_get_job_status2 200 job110 ENABLED 2 prod-ie prod-if
1354 ## Status updates prod-ia and jobs
1356 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
1358 ics_api_edp_get_producer_status 200 prod-ia ENABLED
1359 ics_api_edp_get_producer_status 200 prod-ib ENABLED
1360 ics_api_edp_get_producer_status 200 prod-ic ENABLED
1361 ics_api_edp_get_producer_status 200 prod-id ENABLED
1362 ics_api_edp_get_producer_status 200 prod-ie ENABLED
1363 ics_api_edp_get_producer_status 200 prod-if ENABLED
1365 # Arm producer prod-ia for supervision failure
1366 prodstub_arm_producer 200 prod-ia 400
1368 # Wait for producer prod-ia to go disabled
1369 ics_api_edp_get_producer_status 200 prod-ia DISABLED 360
1371 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
1373 ics_api_edp_get_producer_status 200 prod-ia DISABLED
1374 ics_api_edp_get_producer_status 200 prod-ib ENABLED
1375 ics_api_edp_get_producer_status 200 prod-ic ENABLED
1376 ics_api_edp_get_producer_status 200 prod-id ENABLED
1377 ics_api_edp_get_producer_status 200 prod-ie ENABLED
1378 ics_api_edp_get_producer_status 200 prod-if ENABLED
1381 ics_api_idc_get_job_status2 200 job101 ENABLED 1 prod-ia
1382 ics_api_idc_get_job_status2 200 job102 ENABLED 1 prod-ia
1383 ics_api_idc_get_job_status2 200 job103 ENABLED 1 prod-ib
1384 ics_api_idc_get_job_status2 200 job108 ENABLED 1 prod-id
1385 ics_api_idc_get_job_status2 200 job110 ENABLED 2 prod-ie prod-if
1387 # Arm producer prod-ia for supervision
1388 prodstub_arm_producer 200 prod-ia 200
1390 # Wait for producer prod-ia to go enabled
1391 ics_api_edp_get_producer_status 200 prod-ia ENABLED 360
1393 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
1395 ics_api_edp_get_producer_status 200 prod-ia ENABLED
1396 ics_api_edp_get_producer_status 200 prod-ib ENABLED
1397 ics_api_edp_get_producer_status 200 prod-ic ENABLED
1398 ics_api_edp_get_producer_status 200 prod-id ENABLED
1399 ics_api_edp_get_producer_status 200 prod-ie ENABLED
1400 ics_api_edp_get_producer_status 200 prod-if ENABLED
1402 ics_api_idc_get_job_status2 200 job101 ENABLED 1 prod-ia
1403 ics_api_idc_get_job_status2 200 job102 ENABLED 1 prod-ia
1404 ics_api_idc_get_job_status2 200 job103 ENABLED 1 prod-ib
1405 ics_api_idc_get_job_status2 200 job108 ENABLED 1 prod-id
1406 ics_api_idc_get_job_status2 200 job110 ENABLED 2 prod-ie prod-if
1408 # Arm producer prod-ia for supervision failure
1409 prodstub_arm_producer 200 prod-ia 400
1411 # Wait for producer prod-ia to go disabled
1412 ics_api_edp_get_producer_status 200 prod-ia DISABLED 360
1414 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
1416 ics_api_edp_get_producer_status 200 prod-ia DISABLED
1417 ics_api_edp_get_producer_status 200 prod-ib ENABLED
1418 ics_api_edp_get_producer_status 200 prod-ic ENABLED
1419 ics_api_edp_get_producer_status 200 prod-id ENABLED
1420 ics_api_edp_get_producer_status 200 prod-ie ENABLED
1421 ics_api_edp_get_producer_status 200 prod-if ENABLED
1423 ics_api_idc_get_job_status2 200 job101 ENABLED 1 prod-ia
1424 ics_api_idc_get_job_status2 200 job102 ENABLED 1 prod-ia
1425 ics_api_idc_get_job_status2 200 job103 ENABLED 1 prod-ib
1426 ics_api_idc_get_job_status2 200 job108 ENABLED 1 prod-id
1427 ics_api_idc_get_job_status2 200 job110 ENABLED 2 prod-ie prod-if
1429 # Wait for producer prod-ia to be removed
1430 ics_equal json:data-producer/v1/info-producers 9 1000
1432 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
1435 ics_api_edp_get_producer_status 404 prod-ia
1436 ics_api_edp_get_producer_status 200 prod-ib ENABLED
1437 ics_api_edp_get_producer_status 200 prod-ic ENABLED
1438 ics_api_edp_get_producer_status 200 prod-id ENABLED
1439 ics_api_edp_get_producer_status 200 prod-ie ENABLED
1440 ics_api_edp_get_producer_status 200 prod-if ENABLED
1442 ics_api_idc_get_job_status2 200 job101 DISABLED EMPTYPROD
1443 ics_api_idc_get_job_status2 200 job102 DISABLED EMPTYPROD
1444 ics_api_idc_get_job_status2 200 job103 ENABLED 1 prod-ib
1445 ics_api_idc_get_job_status2 200 job108 ENABLED 1 prod-id
1446 ics_api_idc_get_job_status2 200 job110 ENABLED 2 prod-ie prod-if
1449 if [[ "$ICS_FEATURE_LEVEL" == *"TYPE-SUBSCRIPTIONS"* ]]; then
1450 cr_equal 0 received_callbacks 28 30
1452 cr_equal 0 received_callbacks?id=info-job101-status 1
1453 cr_equal 0 received_callbacks?id=info-job102-status 1
1454 cr_api_check_all_ics_events 200 0 info-job101-status DISABLED
1455 cr_api_check_all_ics_events 200 0 info-job102-status DISABLED
1457 cr_equal 0 received_callbacks 12 30
1459 cr_equal 0 received_callbacks?id=info-job101-status 1
1460 cr_equal 0 received_callbacks?id=info-job102-status 1
1461 cr_api_check_all_ics_events 200 0 info-job101-status DISABLED
1462 cr_api_check_all_ics_events 200 0 info-job102-status DISABLED
1466 # Arm producer prod-ie for supervision failure
1467 prodstub_arm_producer 200 prod-ie 400
1469 ics_api_edp_get_producer_status 200 prod-ie DISABLED 1000
1471 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
1473 ics_api_edp_get_producer_status 404 prod-ia
1474 ics_api_edp_get_producer_status 200 prod-ib ENABLED
1475 ics_api_edp_get_producer_status 200 prod-ic ENABLED
1476 ics_api_edp_get_producer_status 200 prod-id ENABLED
1477 ics_api_edp_get_producer_status 200 prod-ie DISABLED
1478 ics_api_edp_get_producer_status 200 prod-if ENABLED
1480 ics_api_idc_get_job_status2 200 job101 DISABLED EMPTYPROD
1481 ics_api_idc_get_job_status2 200 job102 DISABLED EMPTYPROD
1482 ics_api_idc_get_job_status2 200 job103 ENABLED 1 prod-ib
1483 ics_api_idc_get_job_status2 200 job108 ENABLED 1 prod-id
1484 ics_api_idc_get_job_status2 200 job110 ENABLED 2 prod-ie prod-if
1486 #Disable create for job110 in prod-ie
1487 prodstub_arm_job_create 200 prod-ie job110 400
1489 #Update tjob 10 - only prod-if will be updated
1490 ics_api_idc_put_job 200 job110 type106 $TARGET110 info-owner-4 $INFOSTATUS110 testdata/ics/job-template2.json VALIDATE
1491 #Reset producer and job responses
1492 prodstub_arm_producer 200 prod-ie 200
1493 prodstub_arm_job_create 200 prod-ie job110 200
1495 ics_api_edp_get_producer_status 200 prod-ie ENABLED 360
1497 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
1499 #Wait for job to be updated
1502 prodstub_check_jobdata_3 200 prod-if job110 type106 $TARGET110 info-owner-4 testdata/ics/job-template2.json
1504 prodstub_arm_producer 200 prod-if 400
1506 ics_api_edp_get_producer_status 200 prod-if DISABLED 360
1508 ics_equal json:data-producer/v1/info-producers 8 1000
1510 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
1512 ics_api_edp_get_producer_status 404 prod-ia
1513 ics_api_edp_get_producer_status 200 prod-ib ENABLED
1514 ics_api_edp_get_producer_status 200 prod-ic ENABLED
1515 ics_api_edp_get_producer_status 200 prod-id ENABLED
1516 ics_api_edp_get_producer_status 200 prod-ie ENABLED
1517 ics_api_edp_get_producer_status 404 prod-if
1519 ics_api_idc_get_job_status2 200 job101 DISABLED EMPTYPROD
1520 ics_api_idc_get_job_status2 200 job102 DISABLED EMPTYPROD
1521 ics_api_idc_get_job_status2 200 job103 ENABLED 1 prod-ib
1522 ics_api_idc_get_job_status2 200 job108 ENABLED 1 prod-id
1523 ics_api_idc_get_job_status2 200 job110 ENABLED 1 prod-ie
1525 if [[ "$ICS_FEATURE_LEVEL" == *"TYPE-SUBSCRIPTIONS"* ]]; then
1526 cr_equal 0 received_callbacks 28
1528 cr_equal 0 received_callbacks 12
1530 ### Test of pre and post validation
1531 if [[ "$ICS_FEATURE_LEVEL" != *"DEFAULT_TYPE_VALIDATION"* ]]; then
1532 ics_api_idc_get_type_ids 200 type1 type2 type4 type6 type101 type102 type104 type106
1533 ics_api_idc_put_job 404 job150 type150 $TARGET150 info-owner-1 $INFOSTATUS150 testdata/ics/job-template.json VALIDATE
1534 ics_api_idc_put_job 201 job160 type160 $TARGET160 info-owner-1 $INFOSTATUS160 testdata/ics/job-template.json
1537 ics_api_idc_get_job_status2 404 job150
1538 ics_api_idc_get_job_status2 200 job160 DISABLED EMPTYPROD 60
1540 prodstub_arm_producer 200 prod-ig
1541 prodstub_arm_job_create 200 prod-ig job150
1542 prodstub_arm_job_create 200 prod-ig job160
1544 ics_api_edp_put_producer_2 201 prod-ig $CB_JOB/prod-ig $CB_SV/prod-ig NOTYPE
1545 ics_api_edp_get_producer_status 200 prod-ig ENABLED 360
1547 ics_api_edp_get_producer_2 200 prod-ig $CB_JOB/prod-ig $CB_SV/prod-ig EMPTY
1549 ics_api_idc_get_job_status2 404 job150
1550 ics_api_idc_get_job_status2 200 job160 DISABLED EMPTYPROD 60
1552 ics_api_idc_get_type_ids 200 type1 type2 type4 type6 type101 type102 type104 type106
1553 ics_api_idc_put_job 404 job150 type150 $TARGET150 info-owner-1 $INFOSTATUS150 testdata/ics/job-template.json VALIDATE
1555 ics_api_idc_get_job_status2 404 job150
1557 prodstub_arm_producer 200 prod-ig
1558 prodstub_arm_job_create 200 prod-ig job150
1559 prodstub_arm_job_create 200 prod-ig job160
1561 ics_api_edp_put_producer_2 201 prod-ig $CB_JOB/prod-ig $CB_SV/prod-ig NOTYPE
1562 ics_api_edp_get_producer_status 200 prod-ig ENABLED 360
1564 ics_api_edp_get_producer_2 200 prod-ig $CB_JOB/prod-ig $CB_SV/prod-ig EMPTY
1566 ics_api_idc_get_job_status2 404 job150
1567 #ics_api_idc_get_job_status2 200 job160 DISABLED EMPTYPROD 60
1570 prodstub_arm_type 200 prod-ig type160
1572 ics_api_edp_put_type_2 201 type160 testdata/ics/info-type-60.json
1573 ics_api_idc_get_type_ids 200 type1 type2 type4 type6 type101 type102 type104 type106 type160
1575 ics_api_edp_put_producer_2 200 prod-ig $CB_JOB/prod-ig $CB_SV/prod-ig type160
1576 ics_api_edp_get_producer_status 200 prod-ig ENABLED 360
1577 ics_api_edp_get_producer_2 200 prod-ig $CB_JOB/prod-ig $CB_SV/prod-ig type160
1579 ics_api_idc_put_job 404 job150 type150 $TARGET150 info-owner-1 $INFOSTATUS150 testdata/ics/job-template.json VALIDATE
1581 ics_api_idc_get_job_status2 404 job150
1582 if [[ "$ICS_FEATURE_LEVEL" != *"DEFAULT_TYPE_VALIDATION"* ]]; then
1583 ics_api_idc_get_job_status2 200 job160 ENABLED 1 prod-ig 60
1585 prodstub_check_jobdata_3 200 prod-ig job160 type160 $TARGET160 info-owner-1 testdata/ics/job-template.json
1587 prodstub_equal create/prod-ig/job160 1
1588 prodstub_equal delete/prod-ig/job160 0
1591 prodstub_arm_type 200 prod-ig type150
1593 ics_api_edp_put_type_2 201 type150 testdata/ics/info-type-50.json
1594 ics_api_idc_get_type_ids 200 type1 type2 type4 type6 type101 type102 type104 type106 type160 type150
1596 if [[ "$ICS_FEATURE_LEVEL" == *"TYPE-SUBSCRIPTIONS"* ]]; then
1597 cr_equal 0 received_callbacks 30 30
1598 cr_equal 0 received_callbacks?id=type-status1 18
1599 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
1601 cr_equal 0 received_callbacks 12
1604 ics_api_edp_put_producer_2 200 prod-ig $CB_JOB/prod-ig $CB_SV/prod-ig type160 type150
1605 ics_api_edp_get_producer_status 200 prod-ig ENABLED 360
1607 ics_api_edp_get_producer_2 200 prod-ig $CB_JOB/prod-ig $CB_SV/prod-ig type160 type150
1609 if [[ "$ICS_FEATURE_LEVEL" == *"DEFAULT_TYPE_VALIDATION"* ]]; then
1610 ics_api_idc_put_job 201 job160 type160 $TARGET160 info-owner-1 $INFOSTATUS160 testdata/ics/job-template.json
1613 ics_api_idc_get_job_status2 404 job150
1614 ics_api_idc_get_job_status2 200 job160 ENABLED 1 prod-ig
1616 ics_api_idc_put_job 201 job150 type150 $TARGET150 info-owner-1 $INFOSTATUS150 testdata/ics/job-template.json VALIDATE
1618 ics_api_idc_get_job_status2 200 job150 ENABLED 1 prod-ig 60
1619 ics_api_idc_get_job_status2 200 job160 ENABLED 1 prod-ig
1621 if [[ "$ICS_FEATURE_LEVEL" == *"TYPE-SUBSCRIPTIONS"* ]]; then
1622 cr_equal 0 received_callbacks 30 30
1623 cr_equal 0 received_callbacks?id=type-status1 18
1625 cr_equal 0 received_callbacks 12
1628 # Test job deletion at type delete
1630 if [[ "$ICS_FEATURE_LEVEL" == *"TYPE-SUBSCRIPTIONS"* ]]; then
1632 if [[ "$ICS_FEATURE_LEVEL" == *"RESP_CODE_CHANGE_1"* ]]; then
1633 ics_api_edp_delete_type_2 409 type104
1635 ics_api_edp_delete_type_2 406 type104
1638 ics_api_edp_delete_producer 204 prod-id
1640 ics_api_edp_delete_type_2 204 type104
1642 cr_equal 0 received_callbacks 32 30
1643 cr_equal 0 received_callbacks?id=info-job108-status 3
1644 cr_equal 0 received_callbacks?id=type-status1 19
1645 cr_api_check_all_ics_subscription_events 200 0 type-status1 type104 testdata/ics/info-type-4.json DEREGISTERED
1646 cr_api_check_all_ics_events 200 0 info-job108-status DISABLED
1648 ics_api_edp_get_producer 404 prod-id
1650 ics_api_idc_get_job 404 job-108
1653 cr_equal 0 received_callbacks 12
1660 #### TEST COMPLETE ####
1664 auto_clean_environment