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