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