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