Updated test env documentation
[nonrtric.git] / test / auto-test / FTC1100.sh
1 #!/bin/bash
2
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
9 #
10 #       http://www.apache.org/licenses/LICENSE-2.0
11 #
12 #  Unless required by applicable law or agreed to in writing, software
13 #  distributed under the License is distributed on an "AS IS" BASIS,
14 #  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15 #  See the License for the specific language governing permissions and
16 #  limitations under the License.
17 #  ============LICENSE_END=================================================
18 #
19
20
21 TC_ONELINE_DESCR="ICS full interfaces walkthrough - with or without istio enabled"
22
23 USE_ISTIO=0
24
25 #App names to include in the test when running docker, space separated list
26 DOCKER_INCLUDED_IMAGES="ICS PRODSTUB CR RICSIM CP HTTPPROXY NGW KUBEPROXY"
27
28 #App names to include in the test when running kubernetes, space separated list
29 if [ $USE_ISTIO -eq 0 ]; then
30     KUBE_INCLUDED_IMAGES="PRODSTUB CR ICS RICSIM CP HTTPPROXY KUBEPROXY NGW"
31 else
32     KUBE_INCLUDED_IMAGES="PRODSTUB CR ICS RICSIM CP HTTPPROXY KUBEPROXY NGW KEYCLOAK ISTIO AUTHSIDECAR"
33 fi
34 #Pre-started app (not started by script) to include in the test when running kubernetes, space separated list
35 KUBE_PRESTARTED_IMAGES=""
36
37 #Ignore image in DOCKER_INCLUDED_IMAGES, KUBE_INCLUDED_IMAGES if
38 #the image is not configured in the supplied env_file
39 #Used for images not applicable to all supported profile
40 CONDITIONALLY_IGNORED_IMAGES="NGW"
41
42 #Supported test environment profiles
43 SUPPORTED_PROFILES="ONAP-JAKARTA ONAP-KOHN ONAP-LONDON  ORAN-F-RELEASE ORAN-G-RELEASE ORAN-H-RELEASE"
44 #Supported run modes
45 SUPPORTED_RUNMODES="DOCKER KUBE"
46
47 . ../common/testcase_common.sh $@
48
49 setup_testenvironment
50
51 #### TEST BEGIN ####
52
53 clean_environment
54
55 if [ $RUNMODE != "KUBE" ]; then
56     USE_ISTIO=0
57     echo "ISTIO not supported by docker - setting USE-ISTIO=0"
58 fi
59
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
64     echo ""
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
69     echo ""
70
71     istio_enable_istio_namespace $KUBE_SIM_NAMESPACE
72     istio_enable_istio_namespace $KUBE_NONRTRIC_NAMESPACE
73     istio_enable_istio_namespace $KUBE_A1SIM_NAMESPACE
74 fi
75
76 start_kube_proxy
77 set_kubeproxy_debug
78
79 if [ $USE_ISTIO -eq 1 ]; then
80     use_ics_rest_http
81
82     use_prod_stub_http
83
84     use_simulator_http
85
86     use_cr_http
87 else
88     use_ics_rest_https
89
90     use_prod_stub_https
91
92     use_simulator_https
93
94     use_cr_https
95 fi
96
97 start_http_proxy
98
99 if [ $USE_ISTIO -eq 1 ]; then
100     start_keycloak
101
102     keycloak_api_obtain_admin_token
103
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
110
111     keycloak_api_get_client_token               nrtrealm   icsc
112
113     CLIENT_TOKEN=$(keycloak_api_read_client_token nrtrealm   icsc)
114     echo "CLIENT_TOKEN: "$CLIENT_TOKEN
115
116     ICS_SEC=$(keycloak_api_read_client_secret nrtrealm   icsc)
117     echo "ICS_SEC: "$ICS_SEC
118
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
121
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
124
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
127
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
130
131     ics_configure_sec nrtrealm icsc $ICS_SEC
132
133 fi
134
135 start_ics NOPROXY $SIM_GROUP/$ICS_COMPOSE_DIR/$ICS_CONFIG_FILE  #Change NOPROXY to PROXY to run with http proxy
136
137 if [ $RUNMODE == "KUBE" ]; then
138     ics_api_admin_reset
139 fi
140
141 start_prod_stub
142
143 set_ics_debug
144
145 start_control_panel $SIM_GROUP/$CONTROL_PANEL_COMPOSE_DIR/$CONTROL_PANEL_CONFIG_FILE
146
147 if [ ! -z "$NRT_GATEWAY_APP_NAME" ]; then
148     start_gateway $SIM_GROUP/$NRT_GATEWAY_COMPOSE_DIR/$NRT_GATEWAY_CONFIG_FILE
149 fi
150
151 start_ric_simulators ricsim_g3 4  STD_2.0.0
152
153 start_cr 1
154
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"
157     sleep 120
158 fi
159
160 CB_JOB="$PROD_STUB_SERVICE_PATH$PROD_STUB_JOB_CALLBACK"
161 CB_SV="$PROD_STUB_SERVICE_PATH$PROD_STUB_SUPERVISION_CALLBACK"
162 #Targets for ei jobs
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"
169 else
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"
175 fi
176
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...
185
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"
192
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"
201
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"
206
207     ics_api_idc_put_subscription 201 subscription-id-1 owner1 $TYPESTATUS1
208
209     ics_api_idc_get_subscription_ids 200 NOOWNER subscription-id-1
210
211     ics_api_idc_get_subscription_ids 200 owner1 subscription-id-1
212
213     ics_api_idc_get_subscription_ids 200 test EMPTY
214
215     ics_api_idc_get_subscription 200 subscription-id-1 owner1 $TYPESTATUS1
216
217     ics_api_idc_get_subscription 404 test
218
219     ics_api_idc_put_subscription 200 subscription-id-1 owner1 $TYPESTATUS1
220
221     ics_api_idc_put_subscription 200 subscription-id-1 owner1 $TYPESTATUS1
222
223     ics_api_idc_put_subscription 201 subscription-id-2 owner2 $TYPESTATUS2
224
225     ics_api_idc_get_subscription_ids 200 NOOWNER subscription-id-1 subscription-id-2
226
227     ics_api_idc_get_subscription_ids 200 owner1 subscription-id-1
228
229     ics_api_idc_get_subscription_ids 200 owner2 subscription-id-2
230
231     ics_api_idc_get_subscription 200 subscription-id-1 owner1 $TYPESTATUS1
232     ics_api_idc_get_subscription 200 subscription-id-2 owner2 $TYPESTATUS2
233
234     ics_api_idc_delete_subscription 204 subscription-id-2
235
236     ics_api_idc_get_subscription_ids 200 NOOWNER subscription-id-1
237
238     ics_api_edp_put_type_2 201 type1 testdata/ics/ei-type-1.json
239
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
243
244     ics_api_edp_delete_type_2 204 type1
245
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
249
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
252
253     ics_api_edp_put_type_2 201 type1 testdata/ics/ei-type-1.json
254
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
259
260     ics_api_idc_delete_subscription 204 subscription-id-2
261
262     ics_api_edp_delete_type_2 204 type1
263
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
268
269     cr_api_reset 0
270 fi
271
272 ### Setup prodstub sim to accept calls for producers, types and jobs
273 ## prod-a type1
274 ## prod-b type1 and type2
275 ## prod-c no-type
276 ## prod-d type4
277 ## prod-e type6
278 ## prod-f type6
279
280 ## job1 -> prod-a
281 ## job2 -> prod-a
282 ## job3 -> prod-b
283 ## job4 -> prod-a
284 ## job6 -> prod-b
285 ## job8 -> prod-d
286 ## job10 -> prod-e and prod-f
287
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
294
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
301
302 prodstub_disarm_type 200 prod-b type3
303 prodstub_arm_type 200 prod-b type1
304 prodstub_disarm_type 200 prod-b type1
305
306
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
310
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
314
315 prodstub_arm_job_create 200 prod-b job4
316 prodstub_arm_job_create 200 prod-a job4
317
318 prodstub_arm_job_create 200 prod-b job6
319
320 prodstub_arm_job_create 200 prod-d job8
321
322 prodstub_arm_job_create 200 prod-e job10
323 prodstub_arm_job_create 200 prod-f job10
324
325 ### ics status
326 ics_api_service_status 200
327
328 cr_equal 0 received_callbacks 0
329
330 ### Initial tests - no config made
331 ### GET: type ids, types, producer ids, producers, job ids, jobs
332 ### DELETE: jobs
333 ics_api_a1_get_type_ids 200 EMPTY
334 ics_api_a1_get_type 404 test-type
335
336 ics_api_edp_get_type_ids 200 EMPTY
337 ics_api_edp_get_type_2 404 test-type
338
339 ics_api_edp_get_producer_ids_2 200 NOTYPE EMPTY
340 ics_api_edp_get_producer_2 404 test-prod
341
342 ics_api_edp_get_producer_status 404 test-prod
343
344 ics_api_edp_delete_producer 404 test-prod
345
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
348
349 ics_api_a1_get_job 404 test-job
350
351 ics_api_a1_get_job_status 404 test-job
352
353 ics_api_a1_delete_job 404 test-job
354
355 ics_api_edp_get_producer_ids_2 200 NOTYPE EMPTY
356 ics_api_edp_get_producer_2 404 test-prod
357
358 ics_api_edp_get_type_2 404 test-type
359 ics_api_edp_delete_type_2 404 test-type
360
361 ### Setup of producer/job and testing apis ###
362
363 ## Setup prod-a
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
367
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
377 else
378     ics_api_edp_put_type_2 201 type1 testdata/ics/ei-type-1.json
379 fi
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
383 else
384     ics_api_edp_get_type_2 200 type1 testdata/ics/ei-type-1.json
385 fi
386
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
389
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
394 else
395     cr_equal 0 received_callbacks 0
396 fi
397
398 ics_api_a1_get_type_ids 200 type1
399 ics_api_a1_get_type 200 type1 testdata/ics/empty-type.json
400
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
404 else
405     ics_api_edp_get_type_2 200 type1 testdata/ics/ei-type-1.json
406 fi
407
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
411
412 ics_api_edp_get_producer_2 200 prod-a $CB_JOB/prod-a $CB_SV/prod-a type1
413
414 ics_api_edp_get_producer_status 200 prod-a ENABLED
415
416 ics_api_a1_get_job_ids 200 type1 NOWNER EMPTY
417 ics_api_a1_get_job_ids 200 type1 test-owner EMPTY
418
419 ics_api_a1_get_job 404 test-job
420
421 ics_api_a1_get_job_status 404 test-job
422
423 ics_api_edp_get_producer_jobs_2 200 prod-a EMPTY
424
425 ## Create a job for prod-a
426 ## job1 - prod-a
427 ics_api_a1_put_job 201 job1 type1 $TARGET1 ricsim_g3_1 $STATUS1 testdata/ics/job-template.json
428
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
431
432 ics_api_a1_get_job_ids 200 type1 NOWNER job1
433 ics_api_a1_get_job_ids 200 type1 ricsim_g3_1 job1
434
435 ics_api_a1_get_job_ids 200 NOTYPE NOWNER job1
436
437 ics_api_a1_get_job 200 job1 type1 $TARGET1 ricsim_g3_1 $STATUS1 testdata/ics/job-template.json
438
439 ics_api_a1_get_job_status 200 job1 ENABLED
440
441 prodstub_equal create/prod-a/job1 1
442
443 ics_api_edp_get_producer_jobs_2 200 prod-a job1 type1 $TARGET1 ricsim_g3_1 testdata/ics/job-template.json
444
445
446 ## Create a second job for prod-a
447 ## job2 - prod-a
448 ics_api_a1_put_job 201 job2 type1 $TARGET2 ricsim_g3_2 $STATUS2 testdata/ics/job-template.json
449
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
456
457 ics_api_a1_get_job 200 job2 type1 $TARGET2 ricsim_g3_2 $STATUS2 testdata/ics/job-template.json
458
459 ics_api_a1_get_job_status 200 job2 ENABLED
460
461 prodstub_equal create/prod-a/job2 1
462
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
464
465 ## Setup prod-b
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
472 else
473     cr_equal 0 received_callbacks 0
474 fi
475
476
477 ics_api_a1_get_type_ids 200 type1 type2
478
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
481
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
485 else
486     ics_api_edp_get_type_2 200 type1 testdata/ics/ei-type-1.json
487 fi
488 ics_api_edp_get_type_2 200 type2 testdata/ics/ei-type-2.json
489
490 ics_api_edp_get_producer_ids_2 200 NOTYPE prod-a prod-b
491
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
494
495 ics_api_edp_get_producer_status 200 prod-b ENABLED
496
497 ## Create job for prod-b
498 ##  job3 - prod-b
499 ics_api_a1_put_job 201 job3 type2 $TARGET3 ricsim_g3_3 $STATUS3 testdata/ics/job-template.json
500
501 prodstub_equal create/prod-b/job3 1
502
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
505
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
511
512 ics_api_a1_get_job 200 job3 type2 $TARGET3 ricsim_g3_3 $STATUS3 testdata/ics/job-template.json
513
514 ics_api_a1_get_job_status 200 job3 ENABLED
515
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
518
519
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
522
523 ics_api_edp_get_producer_ids_2 200 NOTYPE prod-a prod-b prod-c
524
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
528
529 ics_api_edp_get_producer_status 200 prod-c ENABLED
530
531
532 ## Delete job3 and prod-b and re-create if different order
533
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
537
538 ics_api_a1_delete_job 204 job3
539
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
542
543 ics_api_edp_delete_producer 204 prod-b
544
545 ics_api_edp_get_producer_status 404 prod-b
546
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
549
550 prodstub_equal delete/prod-b/job3 1
551
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
554
555 # Put producer then job
556 ics_api_edp_put_producer_2 201 prod-b $CB_JOB/prod-b $CB_SV/prod-b type2
557
558 ics_api_edp_get_producer_status 200 prod-b ENABLED
559
560     ics_api_a1_put_job 200 job3 type2 $TARGET3 ricsim_g3_3 $STATUS3 testdata/ics/job-template2.json
561
562 ics_api_a1_get_job_status 200 job3 ENABLED
563
564 prodstub_check_jobdata_3 200 prod-b job3 type2 $TARGET3 ricsim_g3_3 testdata/ics/job-template2.json
565
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
568
569 prodstub_equal create/prod-b/job3 3
570 prodstub_equal delete/prod-b/job3 1
571
572 # Delete only the producer
573 ics_api_edp_delete_producer 204 prod-b
574
575 ics_api_edp_get_producer_status 404 prod-b
576
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
579
580 ics_api_a1_get_job_status 200 job3 DISABLED
581
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
587 else
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
591 fi
592
593 # Re-create the producer
594 ics_api_edp_put_producer_2 201 prod-b $CB_JOB/prod-b $CB_SV/prod-b type2
595
596 ics_api_edp_get_producer_status 200 prod-b ENABLED
597
598 ics_api_a1_get_job_status 200 job3 ENABLED
599
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
605 else
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
609 fi
610
611 prodstub_check_jobdata_3 200 prod-b job3 type2 $TARGET3 ricsim_g3_3 testdata/ics/job-template2.json
612
613 ## Setup prod-d
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
616
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
621 fi
622
623 ics_api_a1_get_job_ids 200 type4 NOWNER EMPTY
624
625 ics_api_a1_put_job 201 job8 type4 $TARGET8 ricsim_g3_4 $STATUS8 testdata/ics/job-template.json
626
627 prodstub_check_jobdata_3 200 prod-d job8 type4 $TARGET8 ricsim_g3_4 testdata/ics/job-template.json
628
629 prodstub_equal create/prod-d/job8 1
630 prodstub_equal delete/prod-d/job8 0
631
632 ics_api_a1_get_job_ids 200 type4 NOWNER job8
633
634 ics_api_a1_get_job_status 200 job8 ENABLED
635
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
638
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
641
642 ics_api_a1_get_job_status 200 job8 DISABLED
643
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
649 else
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
653 fi
654
655 prodstub_equal create/prod-d/job8 1
656 prodstub_equal delete/prod-d/job8 0
657
658 ## Re-setup prod-d
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
661
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
664
665 ics_api_a1_get_job_status 200 job8 ENABLED
666
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
671
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
676
677     cr_equal 0 received_callbacks?id=job8-status 2
678     cr_api_check_all_ics_events 200 0 job8-status ENABLED
679 else
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
683 fi
684
685 prodstub_equal create/prod-d/job8 2
686 prodstub_equal delete/prod-d/job8 0
687
688 ## Setup prod-e
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
691
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
696 fi
697
698 ics_api_a1_get_job_ids 200 type6 NOWNER EMPTY
699
700 ics_api_a1_put_job 201 job10 type6 $TARGET10 ricsim_g3_4 $STATUS10 testdata/ics/job-template.json
701
702 prodstub_check_jobdata_3 200 prod-e job10 type6 $TARGET10 ricsim_g3_4 testdata/ics/job-template.json
703
704 prodstub_equal create/prod-e/job10 1
705 prodstub_equal delete/prod-e/job10 0
706
707 ics_api_a1_get_job_ids 200 type6 NOWNER job10
708
709 ics_api_a1_get_job_status 200 job10 ENABLED
710
711 ## Setup prod-f
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
714
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
719 fi
720
721 ics_api_a1_get_job_ids 200 type6 NOWNER job10
722
723 prodstub_check_jobdata_3 200 prod-f job10 type6 $TARGET10 ricsim_g3_4 testdata/ics/job-template.json
724
725 prodstub_equal create/prod-f/job10 1
726 prodstub_equal delete/prod-f/job10 0
727
728 ics_api_a1_get_job_ids 200 type6 NOWNER job10
729
730 ics_api_a1_get_job_status 200 job10 ENABLED
731
732 ## Status updates prod-a and jobs
733
734 ics_api_edp_get_producer_ids_2 200 NOTYPE prod-a prod-b prod-c prod-d prod-e prod-f
735
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
742
743 # Arm producer prod-a for supervision failure
744 prodstub_arm_producer 200 prod-a 400
745
746 # Wait for producer prod-a to go disabled
747 ics_api_edp_get_producer_status 200 prod-a DISABLED 360
748
749 ics_api_edp_get_producer_ids_2 200 NOTYPE prod-a prod-b prod-c prod-d  prod-e prod-f
750
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
757
758
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
764
765 # Arm producer prod-a for supervision
766 prodstub_arm_producer 200 prod-a 200
767
768 # Wait for producer prod-a to go enabled
769 ics_api_edp_get_producer_status 200 prod-a ENABLED 360
770
771 ics_api_edp_get_producer_ids_2 200 NOTYPE prod-a prod-b prod-c prod-d prod-e prod-f
772
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
779
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
785
786 # Arm producer prod-a for supervision failure
787 prodstub_arm_producer 200 prod-a 400
788
789 # Wait for producer prod-a to go disabled
790 ics_api_edp_get_producer_status 200 prod-a DISABLED 360
791
792 ics_api_edp_get_producer_ids_2 200 NOTYPE prod-a prod-b prod-c prod-d prod-e prod-f
793
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
800
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
806
807 # Wait for producer prod-a to be removed
808 ics_equal json:data-producer/v1/info-producers 5 1000
809
810 ics_api_edp_get_producer_ids_2 200 NOTYPE prod-b prod-c prod-d prod-e prod-f
811
812
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
819
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
825
826 if [[ "$ICS_FEATURE_LEVEL" == *"TYPE-SUBSCRIPTIONS"* ]]; then
827     cr_equal 0 received_callbacks 14 30
828 else
829     cr_equal 0 received_callbacks 6 30
830 fi
831
832 cr_equal 0 received_callbacks?id=job1-status 1
833 cr_equal 0 received_callbacks?id=job2-status 1
834
835 cr_api_check_all_ics_events 200 0 job1-status DISABLED
836 cr_api_check_all_ics_events 200 0 job2-status DISABLED
837
838
839 # Arm producer prod-e for supervision failure
840 prodstub_arm_producer 200 prod-e 400
841
842 ics_api_edp_get_producer_status 200 prod-e DISABLED 1000
843
844 ics_api_edp_get_producer_ids_2 200 NOTYPE prod-b prod-c prod-d prod-e prod-f
845
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
852
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
858
859 #Disable create for job10 in prod-e
860 prodstub_arm_job_create 200 prod-e job10 400
861
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
867
868 ics_api_edp_get_producer_status 200 prod-e ENABLED 360
869
870 ics_api_edp_get_producer_ids_2 200 NOTYPE prod-b prod-c prod-d prod-e prod-f
871
872 #Wait for job to be updated
873 sleep_wait 120
874
875 prodstub_check_jobdata_3 200 prod-f job10 type6 $TARGET10 ricsim_g3_4 testdata/ics/job-template2.json
876
877 prodstub_arm_producer 200 prod-f 400
878
879 ics_api_edp_get_producer_status 200 prod-f DISABLED 360
880
881 ics_equal json:data-producer/v1/info-producers 4 1000
882
883 ics_api_edp_get_producer_ids_2 200 NOTYPE prod-b prod-c prod-d prod-e
884
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
891
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
897
898 if [[ "$ICS_FEATURE_LEVEL" == *"TYPE-SUBSCRIPTIONS"* ]]; then
899     cr_equal 0 received_callbacks 14 30
900 else
901     cr_equal 0 received_callbacks 6 30
902 fi
903
904
905 ############################################
906 # Test of info types
907 ############################################
908
909 ### Setup prodstub sim to accept calls for producers, info types and jobs
910 ## prod-ia type101
911 ## prod-ib type101 and type102
912 ## prod-ic no-type
913 ## prod-id type104
914 ## prod-ie type106
915 ## prod-if type106
916 ## prod-ig type150  (configured later)
917 ## prod-ig type160  (configured later)
918
919 ## job101 -> prod-ia
920 ## job102 -> prod-ia
921 ## job103 -> prod-ib
922 ## job104 -> prod-ia
923 ## job106 -> prod-ib
924 ## job108 -> prod-id
925 ## job110 -> prod-ie and prod-if
926 ## job150 -> prod-ig  (configured later)
927
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
934
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
941
942 prodstub_disarm_type 200 prod-ib type103
943 prodstub_arm_type 200 prod-ib type101
944 prodstub_disarm_type 200 prod-ib type101
945
946
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
950
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
954
955 prodstub_arm_job_create 200 prod-ib job104
956 prodstub_arm_job_create 200 prod-ia job104
957
958 prodstub_arm_job_create 200 prod-ib job106
959
960 prodstub_arm_job_create 200 prod-id job108
961
962 prodstub_arm_job_create 200 prod-ie job110
963 prodstub_arm_job_create 200 prod-if job110
964
965
966 # NOTE: types, jobs and producers are still present related to eitypes
967
968
969 ### Initial tests - no config made
970 ### GET: type ids, types, producer ids, producers, job ids, jobs
971 ### DELETE: jobs
972 ics_api_idc_get_type_ids 200 type1 type2 type4 type6
973 ics_api_idc_get_type 404 test-type
974
975 ics_api_edp_get_type_ids 200 type1 type2 type4 type6
976 ics_api_edp_get_type_2 404 test-type
977
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
981
982 ics_api_edp_delete_producer 404 test-prod
983
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
986
987 ics_api_idc_get_job 404 test-job
988
989 ics_api_idc_get_job_status2 404 test-job
990
991 ics_api_idc_delete_job 404 test-job
992
993 ics_api_edp_get_producer_jobs_2 404 test-prod
994
995 ics_api_edp_get_type_2 404 test-type
996 ics_api_edp_delete_type_2 404 test-type
997
998 ### Setup of producer/job and testing apis ###
999
1000 ## Setup prod-ia
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
1004
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
1015
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
1018
1019 if [[ "$ICS_FEATURE_LEVEL" == *"RESP_CODE_CHANGE_1"* ]]; then
1020     ics_api_edp_delete_type_2 409 type101
1021 else
1022     ics_api_edp_delete_type_2 406 type101
1023 fi
1024
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
1029 else
1030     cr_equal 0 received_callbacks 6
1031 fi
1032
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
1035
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
1039
1040 ics_api_edp_get_producer_2 200 prod-ia $CB_JOB/prod-ia $CB_SV/prod-ia type101
1041
1042 ics_api_edp_get_producer_status 200 prod-ia ENABLED
1043
1044 ics_api_idc_get_job_ids 200 type101 NOWNER EMPTY
1045 ics_api_idc_get_job_ids 200 type101 test-owner EMPTY
1046
1047 ics_api_idc_get_job 404 test-job
1048
1049 ics_api_idc_get_job_status2 404 test-job
1050 ics_api_edp_get_producer_jobs_2 200 prod-ia EMPTY
1051
1052 ## Create a job for prod-ia
1053 ## job101 - prod-ia
1054 ics_api_idc_put_job 201 job101 type101 $TARGET101 info-owner-1 $INFOSTATUS101 testdata/ics/job-template.json VALIDATE
1055
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
1058
1059 ics_api_idc_get_job_ids 200 type101 NOWNER job101
1060 ics_api_idc_get_job_ids 200 type101 info-owner-1 job101
1061
1062 ics_api_idc_get_job_ids 200 NOTYPE NOWNER job101 job1 job2 job3 job8 job10
1063
1064 ics_api_idc_get_job 200 job101 type101 $TARGET101 info-owner-1 $INFOSTATUS101 testdata/ics/job-template.json
1065
1066 ics_api_idc_get_job_status2 200 job101 ENABLED  1 prod-ia
1067
1068 prodstub_equal create/prod-ia/job101 1
1069
1070 ics_api_edp_get_producer_jobs_2 200 prod-ia job101 type101 $TARGET101 info-owner-1 testdata/ics/job-template.json
1071
1072 ## Create a second job for prod-ia
1073 ## job102 - prod-ia
1074 ics_api_idc_put_job 201 job102 type101 $TARGET102 info-owner-2 $INFOSTATUS102 testdata/ics/job-template.json  VALIDATE
1075
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
1082
1083 ics_api_idc_get_job 200 job102 type101 $TARGET102 info-owner-2 $INFOSTATUS102 testdata/ics/job-template.json
1084
1085 ics_api_idc_get_job_status2 200 job102 ENABLED 1 prod-ia
1086
1087 prodstub_equal create/prod-ia/job102 1
1088
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
1090
1091
1092 ## Setup prod-ib
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
1095
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
1100 else
1101     cr_equal 0 received_callbacks 6
1102 fi
1103
1104 ics_api_idc_get_type_ids 200 type101 type102 type1 type2 type4 type6
1105
1106 if [[ "$ICS_FEATURE_LEVEL" == *"TYPE-SUBSCRIPTIONS"* ]]; then
1107     ics_api_idc_get_type 200 type101 testdata/ics/info-type-1.json ENABLED 1
1108
1109     ics_api_idc_get_type 200 type102 testdata/ics/info-type-2.json ENABLED 1
1110 else
1111     ics_api_idc_get_type 200 type101 testdata/ics/info-type-1.json
1112
1113     ics_api_idc_get_type 200 type102 testdata/ics/info-type-2.json
1114 fi
1115
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
1119
1120 ics_api_edp_get_producer_ids_2 200 NOTYPE prod-ia prod-ib prod-b prod-c prod-d prod-e
1121
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
1124
1125 ics_api_edp_get_producer_status 200 prod-ib ENABLED
1126
1127 ## Create job for prod-ib
1128 ##  job103 - prod-ib
1129 ics_api_idc_put_job 201 job103 type102 $TARGET103 info-owner-3 $INFOSTATUS103 testdata/ics/job-template.json  VALIDATE
1130
1131 prodstub_equal create/prod-ib/job103 1
1132
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
1135
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
1141
1142 ics_api_idc_get_job 200 job103 type102 $TARGET103 info-owner-3 $INFOSTATUS103 testdata/ics/job-template.json
1143
1144 ics_api_idc_get_job_status2 200 job103 ENABLED 1 prod-ib
1145
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
1148
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
1151
1152 ics_api_edp_get_producer_ids_2 200 NOTYPE prod-ia prod-ib prod-ic prod-b prod-c prod-d prod-e
1153
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
1157
1158 ics_api_edp_get_producer_status 200 prod-ic ENABLED
1159
1160
1161 ## Delete job103 and prod-ib and re-create if different order
1162
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
1166
1167 ics_api_idc_delete_job 204 job103
1168
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
1171
1172 ics_api_edp_delete_producer 204 prod-ib
1173
1174 ics_api_edp_get_producer_status 404 prod-ib
1175
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
1178
1179 prodstub_equal delete/prod-ib/job103 1
1180
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
1183
1184 # Put producer then job
1185 ics_api_edp_put_producer_2 201 prod-ib $CB_JOB/prod-ib $CB_SV/prod-ib type102
1186
1187 ics_api_edp_get_producer_status 200 prod-ib ENABLED
1188
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
1191
1192 prodstub_check_jobdata_3 200 prod-ib job103 type102 $TARGET103 info-owner-3 testdata/ics/job-template2.json
1193
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
1196
1197 prodstub_equal create/prod-ib/job103 3
1198 prodstub_equal delete/prod-ib/job103 1
1199
1200 # Delete only the producer
1201 ics_api_edp_delete_producer 204 prod-ib
1202
1203 ics_api_edp_get_producer_status 404 prod-ib
1204
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
1207
1208 ics_api_idc_get_job_status2 200 job103 DISABLED EMPTYPROD
1209
1210 if [[ "$ICS_FEATURE_LEVEL" == *"TYPE-SUBSCRIPTIONS"* ]]; then
1211     cr_equal 0 received_callbacks 19 30
1212
1213     cr_equal 0 received_callbacks?id=info-job103-status 1
1214     cr_api_check_all_ics_events 200 0 info-job103-status DISABLED
1215 else
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
1219 fi
1220
1221 # Re-create the producer
1222 ics_api_edp_put_producer_2 201 prod-ib $CB_JOB/prod-ib $CB_SV/prod-ib type102
1223
1224 ics_api_edp_get_producer_status 200 prod-ib ENABLED
1225
1226 ics_api_idc_get_job_status2 200 job103 ENABLED 1 prod-ib
1227
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
1232 else
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
1236 fi
1237
1238 prodstub_check_jobdata_3 200 prod-ib job103 type102 $TARGET103 info-owner-3 testdata/ics/job-template2.json
1239
1240 ## Setup prod-id
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
1243
1244 ics_api_idc_get_job_ids 200 type104 NOWNER EMPTY
1245
1246 ics_api_idc_put_job 201 job108 type104 $TARGET108 info-owner-4 $INFOSTATUS108 testdata/ics/job-template.json  VALIDATE
1247
1248 prodstub_check_jobdata_3 200 prod-id job108 type104 $TARGET108 info-owner-4 testdata/ics/job-template.json
1249
1250 prodstub_equal create/prod-id/job108 1
1251 prodstub_equal delete/prod-id/job108 0
1252
1253 ics_api_idc_get_job_ids 200 type104 NOWNER job108
1254
1255 ics_api_idc_get_job_status2 200 job108 ENABLED 1 prod-id
1256
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
1259
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
1262
1263 ics_api_idc_get_job_status2 200 job108 DISABLED EMPTYPROD
1264
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
1269
1270     cr_equal 0 received_callbacks?id=info-job108-status 1
1271     cr_api_check_all_ics_events 200 0 info-job108-status DISABLED
1272 else
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
1276 fi
1277
1278 prodstub_equal create/prod-id/job108 1
1279 prodstub_equal delete/prod-id/job108 0
1280
1281 ## Re-setup prod-id
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
1284
1285
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
1288
1289 ics_api_idc_get_job_status2 200 job108 ENABLED  1 prod-id
1290
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
1295
1296 if [[ "$ICS_FEATURE_LEVEL" == *"TYPE-SUBSCRIPTIONS"* ]]; then
1297     cr_equal 0 received_callbacks 24 30
1298
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
1301
1302     cr_equal 0 received_callbacks?id=info-job108-status 2
1303     cr_api_check_all_ics_events 200 0 info-job108-status ENABLED
1304 else
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
1308 fi
1309
1310 prodstub_equal create/prod-id/job108 2
1311 prodstub_equal delete/prod-id/job108 0
1312
1313
1314 ## Setup prod-ie
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
1317
1318 ics_api_idc_get_job_ids 200 type106 NOWNER EMPTY
1319
1320 ics_api_idc_put_job 201 job110 type106 $TARGET110 info-owner-4 $INFOSTATUS110 testdata/ics/job-template.json  VALIDATE
1321
1322 prodstub_check_jobdata_3 200 prod-ie job110 type106 $TARGET110 info-owner-4 testdata/ics/job-template.json
1323
1324 prodstub_equal create/prod-ie/job110 1
1325 prodstub_equal delete/prod-ie/job110 0
1326
1327 ics_api_idc_get_job_ids 200 type106 NOWNER job110
1328
1329 ics_api_idc_get_job_status2 200 job110 ENABLED 1 prod-ie
1330
1331 ## Setup prod-if
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
1334
1335 if [[ "$ICS_FEATURE_LEVEL" == *"TYPE-SUBSCRIPTIONS"* ]]; then
1336     cr_equal 0 received_callbacks 26 30
1337
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
1340 fi
1341
1342
1343 ics_api_idc_get_job_ids 200 type106 NOWNER job110
1344
1345 prodstub_check_jobdata_3 200 prod-if job110 type106 $TARGET110 info-owner-4 testdata/ics/job-template.json
1346
1347 prodstub_equal create/prod-if/job110 1
1348 prodstub_equal delete/prod-if/job110 0
1349
1350 ics_api_idc_get_job_ids 200 type106 NOWNER job110
1351
1352 ics_api_idc_get_job_status2 200 job110 ENABLED  2 prod-ie prod-if
1353
1354 ## Status updates prod-ia and jobs
1355
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
1357
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
1364
1365 # Arm producer prod-ia for supervision failure
1366 prodstub_arm_producer 200 prod-ia 400
1367
1368 # Wait for producer prod-ia to go disabled
1369 ics_api_edp_get_producer_status 200 prod-ia DISABLED 360
1370
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
1372
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
1379
1380
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
1386
1387 # Arm producer prod-ia for supervision
1388 prodstub_arm_producer 200 prod-ia 200
1389
1390 # Wait for producer prod-ia to go enabled
1391 ics_api_edp_get_producer_status 200 prod-ia ENABLED 360
1392
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
1394
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
1401
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
1407
1408 # Arm producer prod-ia for supervision failure
1409 prodstub_arm_producer 200 prod-ia 400
1410
1411 # Wait for producer prod-ia to go disabled
1412 ics_api_edp_get_producer_status 200 prod-ia DISABLED 360
1413
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
1415
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
1422
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
1428
1429 # Wait for producer prod-ia to be removed
1430 ics_equal json:data-producer/v1/info-producers 9 1000
1431
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
1433
1434
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
1441
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
1447
1448
1449 if [[ "$ICS_FEATURE_LEVEL" == *"TYPE-SUBSCRIPTIONS"* ]]; then
1450     cr_equal 0 received_callbacks 28 30
1451
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
1456 else
1457     cr_equal 0 received_callbacks 12 30
1458
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
1463 fi
1464
1465
1466 # Arm producer prod-ie for supervision failure
1467 prodstub_arm_producer 200 prod-ie 400
1468
1469 ics_api_edp_get_producer_status 200 prod-ie DISABLED 1000
1470
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
1472
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
1479
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
1485
1486 #Disable create for job110 in prod-ie
1487 prodstub_arm_job_create 200 prod-ie job110 400
1488
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
1494
1495 ics_api_edp_get_producer_status 200 prod-ie ENABLED 360
1496
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
1498
1499 #Wait for job to be updated
1500 sleep_wait 120
1501
1502 prodstub_check_jobdata_3 200 prod-if job110 type106 $TARGET110 info-owner-4 testdata/ics/job-template2.json
1503
1504 prodstub_arm_producer 200 prod-if 400
1505
1506 ics_api_edp_get_producer_status 200 prod-if DISABLED 360
1507
1508 ics_equal json:data-producer/v1/info-producers 8 1000
1509
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
1511
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
1518
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
1524
1525 if [[ "$ICS_FEATURE_LEVEL" == *"TYPE-SUBSCRIPTIONS"* ]]; then
1526     cr_equal 0 received_callbacks 28
1527 else
1528     cr_equal 0 received_callbacks 12
1529 fi
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
1535
1536
1537     ics_api_idc_get_job_status2 404 job150
1538     ics_api_idc_get_job_status2 200 job160 DISABLED EMPTYPROD 60
1539
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
1543
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
1546
1547     ics_api_edp_get_producer_2 200 prod-ig $CB_JOB/prod-ig $CB_SV/prod-ig EMPTY
1548
1549     ics_api_idc_get_job_status2 404 job150
1550     ics_api_idc_get_job_status2 200 job160 DISABLED EMPTYPROD 60
1551 else
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
1554
1555     ics_api_idc_get_job_status2 404 job150
1556
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
1560
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
1563
1564     ics_api_edp_get_producer_2 200 prod-ig $CB_JOB/prod-ig $CB_SV/prod-ig EMPTY
1565
1566     ics_api_idc_get_job_status2 404 job150
1567     #ics_api_idc_get_job_status2 200 job160 DISABLED EMPTYPROD 60
1568 fi
1569
1570 prodstub_arm_type 200 prod-ig type160
1571
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
1574
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
1578
1579 ics_api_idc_put_job 404 job150 type150 $TARGET150 info-owner-1 $INFOSTATUS150 testdata/ics/job-template.json VALIDATE
1580
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
1584
1585     prodstub_check_jobdata_3 200 prod-ig job160 type160 $TARGET160 info-owner-1 testdata/ics/job-template.json
1586
1587     prodstub_equal create/prod-ig/job160 1
1588     prodstub_equal delete/prod-ig/job160 0
1589 fi
1590
1591 prodstub_arm_type 200 prod-ig type150
1592
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
1595
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
1600 else
1601     cr_equal 0 received_callbacks 12
1602 fi
1603
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
1606
1607 ics_api_edp_get_producer_2 200 prod-ig $CB_JOB/prod-ig $CB_SV/prod-ig type160 type150
1608
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
1611 fi
1612
1613 ics_api_idc_get_job_status2 404 job150
1614 ics_api_idc_get_job_status2 200 job160 ENABLED  1 prod-ig
1615
1616 ics_api_idc_put_job 201 job150 type150 $TARGET150 info-owner-1 $INFOSTATUS150 testdata/ics/job-template.json VALIDATE
1617
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
1620
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
1624 else
1625     cr_equal 0 received_callbacks 12
1626 fi
1627
1628 # Test job deletion at type delete
1629
1630 if [[ "$ICS_FEATURE_LEVEL" == *"TYPE-SUBSCRIPTIONS"* ]]; then
1631
1632     if [[ "$ICS_FEATURE_LEVEL" == *"RESP_CODE_CHANGE_1"* ]]; then
1633         ics_api_edp_delete_type_2 409 type104
1634     else
1635         ics_api_edp_delete_type_2 406 type104
1636     fi
1637
1638     ics_api_edp_delete_producer 204 prod-id
1639
1640     ics_api_edp_delete_type_2 204 type104
1641
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
1647
1648     ics_api_edp_get_producer 404 prod-id
1649
1650     ics_api_idc_get_job 404 job-108
1651
1652 else
1653     cr_equal 0 received_callbacks 12
1654 fi
1655
1656 check_ics_logs
1657
1658 store_logs END
1659
1660 #### TEST COMPLETE ####
1661
1662 print_result
1663
1664 auto_clean_environment