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