3 # ============LICENSE_START===============================================
4 # Copyright (C) 2020-2023 Nordix Foundation. All rights reserved.
5 # Copyright (C) 2023 OpenInfra Foundation Europe. All rights reserved.
6 # ========================================================================
7 # Licensed under the Apache License, Version 2.0 (the "License");
8 # you may not use this file except in compliance with the License.
9 # You may obtain a copy of the License at
11 # http://www.apache.org/licenses/LICENSE-2.0
13 # Unless required by applicable law or agreed to in writing, software
14 # distributed under the License is distributed on an "AS IS" BASIS,
15 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16 # See the License for the specific language governing permissions and
17 # limitations under the License.
18 # ============LICENSE_END=================================================
22 TC_ONELINE_DESCR="ICS Create 10000 jobs (ei and info) restart, test job persistency"
24 #App names to include in the test when running docker, space separated list
25 DOCKER_INCLUDED_IMAGES="ICS PRODSTUB CR CP NGW KUBEPROXY"
27 #App names to include in the test when running kubernetes, space separated list
28 KUBE_INCLUDED_IMAGES="ICS PRODSTUB CP CR KUBEPROXY NGW"
29 #Pre-started app (not started by script) to include in the test when running kubernetes, space separated list
30 KUBE_PRESTARTED_IMAGES=""
32 #Ignore image in DOCKER_INCLUDED_IMAGES, KUBE_INCLUDED_IMAGES if
33 #the image is not configured in the supplied env_file
34 #Used for images not applicable to all supported profile
35 CONDITIONALLY_IGNORED_IMAGES="NGW"
37 #Supported test environment profiles
38 SUPPORTED_PROFILES="ONAP-KOHN ONAP-LONDON ONAP-MONTREAL ORAN-G-RELEASE ORAN-H-RELEASE ORAN-I-RELEASE"
40 SUPPORTED_RUNMODES="DOCKER KUBE"
42 . ../common/testcase_common.sh $@
56 start_ics NOPROXY $SIM_GROUP/$ICS_COMPOSE_DIR/$ICS_CONFIG_FILE
62 start_control_panel $SIM_GROUP/$CONTROL_PANEL_COMPOSE_DIR/$CONTROL_PANEL_CONFIG_FILE
64 if [ ! -z "$NRT_GATEWAY_APP_NAME" ]; then
65 start_gateway $SIM_GROUP/$NRT_GATEWAY_COMPOSE_DIR/$NRT_GATEWAY_CONFIG_FILE
70 CB_JOB="$PROD_STUB_SERVICE_PATH$PROD_STUB_JOB_CALLBACK"
71 CB_SV="$PROD_STUB_SERVICE_PATH$PROD_STUB_SUPERVISION_CALLBACK"
72 TARGET="http://localhost:80/target" # Dummy target
74 NUM_JOBS=5000 # 5K ei jobs and 5K info jobs
76 if [[ "$ICS_FEATURE_LEVEL" == *"TYPE-SUBSCRIPTIONS"* ]]; then
77 #Type registration status callbacks
78 TYPESTATUS1="$CR_SERVICE_APP_PATH_0/type-status1"
79 TYPESTATUS2="$CR_SERVICE_APP_PATH_0/type-status2"
81 ics_api_idc_put_subscription 201 subscription-id-1 owner1 $TYPESTATUS1
83 ics_api_idc_get_subscription_ids 200 owner1 subscription-id-1
85 ics_api_idc_put_subscription 201 subscription-id-2 owner2 $TYPESTATUS2
87 ics_api_idc_get_subscription_ids 200 owner2 subscription-id-2
91 # Setup prodstub sim to accept calls for producers, types and jobs
92 prodstub_arm_producer 200 prod-a
93 prodstub_arm_producer 200 prod-b
94 prodstub_arm_producer 200 prod-c
95 prodstub_arm_producer 200 prod-d
97 prodstub_arm_type 200 prod-a type1
99 prodstub_arm_type 200 prod-b type1
100 prodstub_arm_type 200 prod-b type2
102 prodstub_arm_type 200 prod-c type1
103 prodstub_arm_type 200 prod-c type2
104 prodstub_arm_type 200 prod-c type3
106 prodstub_arm_type 200 prod-d type4
107 prodstub_arm_type 200 prod-d type5
109 for ((i=1; i<=$NUM_JOBS; i++))
111 if [ $(($i%5)) -eq 0 ]; then
112 prodstub_arm_job_create 200 prod-a job$i
113 prodstub_arm_job_create 200 prod-b job$i
114 prodstub_arm_job_create 200 prod-c job$i
116 if [ $(($i%5)) -eq 1 ]; then
117 prodstub_arm_job_create 200 prod-b job$i
118 prodstub_arm_job_create 200 prod-c job$i
120 if [ $(($i%5)) -eq 2 ]; then
121 prodstub_arm_job_create 200 prod-c job$i
123 if [ $(($i%5)) -eq 3 ]; then
124 prodstub_arm_job_create 200 prod-d job$i
126 if [ $(($i%5)) -eq 4 ]; then
127 prodstub_arm_job_create 200 prod-d job$i
131 prodstub_arm_producer 200 prod-a
132 prodstub_arm_producer 200 prod-b
133 prodstub_arm_producer 200 prod-c
134 prodstub_arm_producer 200 prod-d
136 prodstub_arm_type 200 prod-a type101
138 prodstub_arm_type 200 prod-b type101
139 prodstub_arm_type 200 prod-b type102
141 prodstub_arm_type 200 prod-c type101
142 prodstub_arm_type 200 prod-c type102
143 prodstub_arm_type 200 prod-c type103
145 prodstub_arm_type 200 prod-d type104
146 prodstub_arm_type 200 prod-d type105
148 for ((i=1; i<=$NUM_JOBS; i++))
150 if [ $(($i%5)) -eq 0 ]; then
151 prodstub_arm_job_create 200 prod-a job$(($i+$NUM_JOBS))
152 prodstub_arm_job_create 200 prod-b job$(($i+$NUM_JOBS))
153 prodstub_arm_job_create 200 prod-c job$(($i+$NUM_JOBS))
155 if [ $(($i%5)) -eq 1 ]; then
156 prodstub_arm_job_create 200 prod-b job$(($i+$NUM_JOBS))
157 prodstub_arm_job_create 200 prod-c job$(($i+$NUM_JOBS))
159 if [ $(($i%5)) -eq 2 ]; then
160 prodstub_arm_job_create 200 prod-c job$(($i+$NUM_JOBS))
162 if [ $(($i%5)) -eq 3 ]; then
163 prodstub_arm_job_create 200 prod-d job$(($i+$NUM_JOBS))
165 if [ $(($i%5)) -eq 4 ]; then
166 prodstub_arm_job_create 200 prod-d job$(($i+$NUM_JOBS))
172 ics_api_edp_put_type_2 201 type1 testdata/ics/ei-type-1.json
173 ics_api_edp_put_type_2 201 type2 testdata/ics/ei-type-2.json
174 ics_api_edp_put_type_2 201 type3 testdata/ics/ei-type-3.json
175 ics_api_edp_put_type_2 201 type4 testdata/ics/ei-type-4.json
176 ics_api_edp_put_type_2 201 type5 testdata/ics/ei-type-5.json
178 ics_api_edp_put_producer_2 201 prod-a $CB_JOB/prod-a $CB_SV/prod-a type1
180 ics_api_edp_put_producer_2 201 prod-b $CB_JOB/prod-b $CB_SV/prod-b type1 type2
182 ics_api_edp_put_producer_2 201 prod-c $CB_JOB/prod-c $CB_SV/prod-c type1 type2 type3
184 ics_api_edp_put_producer_2 201 prod-d $CB_JOB/prod-d $CB_SV/prod-d type4 type5
186 ics_api_edp_put_type_2 201 type101 testdata/ics/info-type-1.json
187 ics_api_edp_put_type_2 201 type102 testdata/ics/info-type-2.json
188 ics_api_edp_put_type_2 201 type103 testdata/ics/info-type-3.json
189 ics_api_edp_put_type_2 201 type104 testdata/ics/info-type-4.json
190 ics_api_edp_put_type_2 201 type105 testdata/ics/info-type-5.json
194 if [[ "$ICS_FEATURE_LEVEL" == *"TYPE-SUBSCRIPTIONS"* ]]; then
195 cr_equal 0 received_callbacks 20 30
196 cr_equal 0 received_callbacks?id=type-status1 10
197 cr_equal 0 received_callbacks?id=type-status2 10
199 cr_api_check_all_ics_subscription_events 200 0 type-status1 \
200 type1 testdata/ics/ei-type-1.json REGISTERED \
201 type2 testdata/ics/ei-type-2.json REGISTERED \
202 type3 testdata/ics/ei-type-3.json REGISTERED \
203 type4 testdata/ics/ei-type-4.json REGISTERED \
204 type5 testdata/ics/ei-type-5.json REGISTERED \
205 type101 testdata/ics/info-type-1.json REGISTERED \
206 type102 testdata/ics/info-type-2.json REGISTERED \
207 type103 testdata/ics/info-type-3.json REGISTERED \
208 type104 testdata/ics/info-type-4.json REGISTERED \
209 type105 testdata/ics/info-type-5.json REGISTERED
211 cr_api_check_all_ics_subscription_events 200 0 type-status2 \
212 type1 testdata/ics/ei-type-1.json REGISTERED \
213 type2 testdata/ics/ei-type-2.json REGISTERED \
214 type3 testdata/ics/ei-type-3.json REGISTERED \
215 type4 testdata/ics/ei-type-4.json REGISTERED \
216 type5 testdata/ics/ei-type-5.json REGISTERED \
217 type101 testdata/ics/info-type-1.json REGISTERED \
218 type102 testdata/ics/info-type-2.json REGISTERED \
219 type103 testdata/ics/info-type-3.json REGISTERED \
220 type104 testdata/ics/info-type-4.json REGISTERED \
221 type105 testdata/ics/info-type-5.json REGISTERED
225 ics_api_edp_put_producer_2 200 prod-a $CB_JOB/prod-a $CB_SV/prod-a type1 type101
227 ics_api_edp_put_producer_2 200 prod-b $CB_JOB/prod-b $CB_SV/prod-b type1 type2 type101 type102
229 ics_api_edp_put_producer_2 200 prod-c $CB_JOB/prod-c $CB_SV/prod-c type1 type2 type3 type101 type102 type103
231 ics_api_edp_put_producer_2 200 prod-d $CB_JOB/prod-d $CB_SV/prod-d type4 type5 type104 type105
234 ics_equal json:data-producer/v1/info-producers 4
236 ics_api_edp_get_producer_status 200 prod-a ENABLED
237 ics_api_edp_get_producer_status 200 prod-b ENABLED
238 ics_api_edp_get_producer_status 200 prod-c ENABLED
239 ics_api_edp_get_producer_status 200 prod-d ENABLED
241 for ((i=1; i<=$NUM_JOBS; i++))
243 if [ $(($i%5)) -eq 0 ]; then
244 ics_api_a1_put_job 201 job$i type1 $TARGET ric1 $CR_SERVICE_APP_PATH_0/job_status_ric1_$(($i+$NUM_JOBS)) testdata/ics/job-template.json
245 ics_api_a1_get_job_status 200 job$i ENABLED 120
246 ics_api_idc_put_job 201 job$(($i+$NUM_JOBS)) type101 $TARGET info-owner $CR_SERVICE_APP_PATH_0/job_status_info-owner$(($i+$NUM_JOBS)) testdata/ics/job-template.json VALIDATE
247 ics_api_idc_get_job_status2 200 job$(($i+$NUM_JOBS)) ENABLED 3 prod-a prod-b prod-c 120
249 if [ $(($i%5)) -eq 1 ]; then
250 ics_api_a1_put_job 201 job$i type2 $TARGET ric1 $CR_SERVICE_APP_PATH_0/job_status_ric1_$(($i+$NUM_JOBS)) testdata/ics/job-template.json
251 ics_api_a1_get_job_status 200 job$i ENABLED 120
252 ics_api_idc_put_job 201 job$(($i+$NUM_JOBS)) type102 $TARGET info-owner $CR_SERVICE_APP_PATH_0/job_status_info-owner$(($i+$NUM_JOBS)) testdata/ics/job-template.json VALIDATE
253 ics_api_idc_get_job_status2 200 job$(($i+$NUM_JOBS)) ENABLED 2 prod-b prod-c 120
255 if [ $(($i%5)) -eq 2 ]; then
256 ics_api_a1_put_job 201 job$i type3 $TARGET ric1 $CR_SERVICE_APP_PATH_0/job_status_ric1_$(($i+$NUM_JOBS)) testdata/ics/job-template.json
257 ics_api_a1_get_job_status 200 job$i ENABLED 120
258 ics_api_idc_put_job 201 job$(($i+$NUM_JOBS)) type103 $TARGET info-owner $CR_SERVICE_APP_PATH_0/job_status_info-owner$(($i+$NUM_JOBS)) testdata/ics/job-template.json VALIDATE
259 ics_api_idc_get_job_status2 200 job$(($i+$NUM_JOBS)) ENABLED 1 prod-c 120
261 if [ $(($i%5)) -eq 3 ]; then
262 ics_api_a1_put_job 201 job$i type4 $TARGET ric1 $CR_SERVICE_APP_PATH_0/job_status_ric1_$(($i+$NUM_JOBS)) testdata/ics/job-template.json
263 ics_api_a1_get_job_status 200 job$i ENABLED 120
264 ics_api_idc_put_job 201 job$(($i+$NUM_JOBS)) type104 $TARGET info-owner $CR_SERVICE_APP_PATH_0/job_status_info-owner$(($i+$NUM_JOBS)) testdata/ics/job-template.json VALIDATE
265 ics_api_idc_get_job_status2 200 job$(($i+$NUM_JOBS)) ENABLED 1 prod-d 120
267 if [ $(($i%5)) -eq 4 ]; then
268 ics_api_a1_put_job 201 job$i type5 $TARGET ric1 $CR_SERVICE_APP_PATH_0/job_status_ric1_$(($i+$NUM_JOBS)) testdata/ics/job-template.json
269 ics_api_a1_get_job_status 200 job$i ENABLED 120
270 ics_api_idc_put_job 201 job$(($i+$NUM_JOBS)) type105 $TARGET info-owner $CR_SERVICE_APP_PATH_0/job_status_info-owner$(($i+$NUM_JOBS)) testdata/ics/job-template.json VALIDATE
271 ics_api_idc_get_job_status2 200 job$(($i+$NUM_JOBS)) ENABLED 1 prod-d 120
275 ics_equal json:A1-EI/v1/eijobs?eiTypeId=type1 $(($NUM_JOBS/5))
276 ics_equal json:A1-EI/v1/eijobs?eiTypeId=type2 $(($NUM_JOBS/5))
277 ics_equal json:A1-EI/v1/eijobs?eiTypeId=type3 $(($NUM_JOBS/5))
278 ics_equal json:A1-EI/v1/eijobs?eiTypeId=type4 $(($NUM_JOBS/5))
279 ics_equal json:A1-EI/v1/eijobs?eiTypeId=type5 $(($NUM_JOBS/5))
280 ics_equal json:data-consumer/v1/info-jobs?infoTypeId=type101 $(($NUM_JOBS/5))
281 ics_equal json:data-consumer/v1/info-jobs?infoTypeId=type102 $(($NUM_JOBS/5))
282 ics_equal json:data-consumer/v1/info-jobs?infoTypeId=type103 $(($NUM_JOBS/5))
283 ics_equal json:data-consumer/v1/info-jobs?infoTypeId=type104 $(($NUM_JOBS/5))
284 ics_equal json:data-consumer/v1/info-jobs?infoTypeId=type105 $(($NUM_JOBS/5))
286 if [[ "$ICS_FEATURE_LEVEL" == *"TYPE-SUBSCRIPTIONS"* ]]; then
287 cr_equal 0 received_callbacks 20 30
290 cr_equal 0 received_callbacks 0 30
295 if [[ "$ICS_FEATURE_LEVEL" == *"TYPE-SUBSCRIPTIONS"* ]]; then
297 ics_equal json:data-consumer/v1/info-type-subscription 2 200
299 ics_api_idc_get_subscription_ids 200 owner1 subscription-id-1
300 ics_api_idc_get_subscription_ids 200 owner2 subscription-id-2
302 ics_equal json:data-producer/v1/info-types 10 1000
314 if [[ "$ICS_FEATURE_LEVEL" == *"TYPE-SUBSCRIPTIONS"* ]]; then
316 ics_equal json:data-consumer/v1/info-type-subscription 2 200
318 ics_api_idc_get_subscription_ids 200 owner1 subscription-id-1
319 ics_api_idc_get_subscription_ids 200 owner2 subscription-id-2
321 ics_equal json:data-producer/v1/info-types 10 1000
324 cr_equal 0 received_callbacks 0
326 for ((i=1; i<=$NUM_JOBS; i++))
328 if [ $(($i%5)) -eq 0 ]; then
329 prodstub_delete_jobdata 204 prod-a job$i
330 prodstub_delete_jobdata 204 prod-b job$i
331 prodstub_delete_jobdata 204 prod-c job$i
332 prodstub_delete_jobdata 204 prod-a job$(($i+$NUM_JOBS))
333 prodstub_delete_jobdata 204 prod-b job$(($i+$NUM_JOBS))
334 prodstub_delete_jobdata 204 prod-c job$(($i+$NUM_JOBS))
336 if [ $(($i%5)) -eq 1 ]; then
337 prodstub_delete_jobdata 204 prod-b job$i
338 prodstub_delete_jobdata 204 prod-c job$i
339 prodstub_delete_jobdata 204 prod-b job$(($i+$NUM_JOBS))
340 prodstub_delete_jobdata 204 prod-c job$(($i+$NUM_JOBS))
342 if [ $(($i%5)) -eq 2 ]; then
343 prodstub_delete_jobdata 204 prod-c job$i
344 prodstub_delete_jobdata 204 prod-c job$(($i+$NUM_JOBS))
346 if [ $(($i%5)) -eq 3 ]; then
347 prodstub_delete_jobdata 204 prod-d job$i
348 prodstub_delete_jobdata 204 prod-d job$(($i+$NUM_JOBS))
350 if [ $(($i%5)) -eq 4 ]; then
351 prodstub_delete_jobdata 204 prod-d job$i
352 prodstub_delete_jobdata 204 prod-d job$(($i+$NUM_JOBS))
356 ics_api_edp_get_producer_status 404 prod-a
357 ics_api_edp_get_producer_status 404 prod-b
358 ics_api_edp_get_producer_status 404 prod-c
359 ics_api_edp_get_producer_status 404 prod-d
361 for ((i=1; i<=$NUM_JOBS; i++))
363 if [ $(($i%5)) -eq 0 ]; then
364 ics_api_a1_get_job_status 200 job$i DISABLED 120
365 ics_api_idc_get_job_status2 200 job$(($i+$NUM_JOBS)) DISABLED EMPTYPROD 120
367 if [ $(($i%5)) -eq 1 ]; then
368 ics_api_a1_get_job_status 200 job$i DISABLED 120
369 ics_api_idc_get_job_status2 200 job$(($i+$NUM_JOBS)) DISABLED EMPTYPROD 120
371 if [ $(($i%5)) -eq 2 ]; then
372 ics_api_a1_get_job_status 200 job$i DISABLED 120
373 ics_api_idc_get_job_status2 200 job$(($i+$NUM_JOBS)) DISABLED EMPTYPROD 120
375 if [ $(($i%5)) -eq 3 ]; then
376 ics_api_a1_get_job_status 200 job$i DISABLED 120
377 ics_api_idc_get_job_status2 200 job$(($i+$NUM_JOBS)) DISABLED EMPTYPROD 120
379 if [ $(($i%5)) -eq 4 ]; then
380 ics_api_a1_get_job_status 200 job$i DISABLED 120
381 ics_api_idc_get_job_status2 200 job$(($i+$NUM_JOBS)) DISABLED EMPTYPROD 120
385 ics_api_edp_put_producer_2 201 prod-a $CB_JOB/prod-a $CB_SV/prod-a type1 type101
387 ics_api_edp_put_producer_2 201 prod-b $CB_JOB/prod-b $CB_SV/prod-b type1 type2 type101 type102
389 ics_api_edp_put_producer_2 201 prod-c $CB_JOB/prod-c $CB_SV/prod-c type1 type2 type3 type101 type102 type103
391 ics_api_edp_put_producer_2 201 prod-d $CB_JOB/prod-d $CB_SV/prod-d type4 type5 type104 type105
393 ics_equal json:data-producer/v1/info-producers 4
395 ics_api_edp_get_producer_status 200 prod-a ENABLED
396 ics_api_edp_get_producer_status 200 prod-b ENABLED
397 ics_api_edp_get_producer_status 200 prod-c ENABLED
398 ics_api_edp_get_producer_status 200 prod-d ENABLED
400 for ((i=1; i<=$NUM_JOBS; i++))
402 if [ $(($i%5)) -eq 0 ]; then
403 ics_api_a1_get_job_status 200 job$i ENABLED 120
404 ics_api_idc_get_job_status2 200 job$(($i+$NUM_JOBS)) ENABLED 3 prod-a prod-b prod-c 120
406 if [ $(($i%5)) -eq 1 ]; then
407 ics_api_a1_get_job_status 200 job$i ENABLED 120
408 ics_api_idc_get_job_status2 200 job$(($i+$NUM_JOBS)) ENABLED 2 prod-b prod-c 120
410 if [ $(($i%5)) -eq 2 ]; then
411 ics_api_a1_get_job_status 200 job$i ENABLED 120
412 ics_api_idc_get_job_status2 200 job$(($i+$NUM_JOBS)) ENABLED 1 prod-c 120
414 if [ $(($i%5)) -eq 3 ]; then
415 ics_api_a1_get_job_status 200 job$i ENABLED 120
416 ics_api_idc_get_job_status2 200 job$(($i+$NUM_JOBS)) ENABLED 1 prod-d 120
418 if [ $(($i%5)) -eq 4 ]; then
419 ics_api_a1_get_job_status 200 job$i ENABLED 120
420 ics_api_idc_get_job_status2 200 job$(($i+$NUM_JOBS)) ENABLED 1 prod-d 120
425 ics_equal json:A1-EI/v1/eijobs?eiTypeId=type1 $(($NUM_JOBS/5))
426 ics_equal json:A1-EI/v1/eijobs?eiTypeId=type2 $(($NUM_JOBS/5))
427 ics_equal json:A1-EI/v1/eijobs?eiTypeId=type3 $(($NUM_JOBS/5))
428 ics_equal json:A1-EI/v1/eijobs?eiTypeId=type4 $(($NUM_JOBS/5))
429 ics_equal json:A1-EI/v1/eijobs?eiTypeId=type5 $(($NUM_JOBS/5))
431 ics_equal json:data-consumer/v1/info-jobs?infoTypeId=type101 $(($NUM_JOBS/5))
432 ics_equal json:data-consumer/v1/info-jobs?infoTypeId=type102 $(($NUM_JOBS/5))
433 ics_equal json:data-consumer/v1/info-jobs?infoTypeId=type103 $(($NUM_JOBS/5))
434 ics_equal json:data-consumer/v1/info-jobs?infoTypeId=type104 $(($NUM_JOBS/5))
435 ics_equal json:data-consumer/v1/info-jobs?infoTypeId=type105 $(($NUM_JOBS/5))
437 for ((i=1; i<=$NUM_JOBS; i++))
439 if [ $(($i%5)) -eq 0 ]; then
440 prodstub_check_jobdata_3 200 prod-a job$i type1 $TARGET ric1 testdata/ics/job-template.json
441 prodstub_check_jobdata_3 200 prod-b job$i type1 $TARGET ric1 testdata/ics/job-template.json
442 prodstub_check_jobdata_3 200 prod-c job$i type1 $TARGET ric1 testdata/ics/job-template.json
443 prodstub_check_jobdata_3 200 prod-a job$(($i+$NUM_JOBS)) type101 $TARGET info-owner testdata/ics/job-template.json
444 prodstub_check_jobdata_3 200 prod-b job$(($i+$NUM_JOBS)) type101 $TARGET info-owner testdata/ics/job-template.json
445 prodstub_check_jobdata_3 200 prod-c job$(($i+$NUM_JOBS)) type101 $TARGET info-owner testdata/ics/job-template.json
448 if [ $(($i%5)) -eq 1 ]; then
449 prodstub_check_jobdata_3 200 prod-b job$i type2 $TARGET ric1 testdata/ics/job-template.json
450 prodstub_check_jobdata_3 200 prod-c job$i type2 $TARGET ric1 testdata/ics/job-template.json
451 prodstub_check_jobdata_3 200 prod-b job$(($i+$NUM_JOBS)) type102 $TARGET info-owner testdata/ics/job-template.json
452 prodstub_check_jobdata_3 200 prod-c job$(($i+$NUM_JOBS)) type102 $TARGET info-owner testdata/ics/job-template.json
454 if [ $(($i%5)) -eq 2 ]; then
455 prodstub_check_jobdata_3 200 prod-c job$i type3 $TARGET ric1 testdata/ics/job-template.json
456 prodstub_check_jobdata_3 200 prod-c job$(($i+$NUM_JOBS)) type103 $TARGET info-owner testdata/ics/job-template.json
458 if [ $(($i%5)) -eq 3 ]; then
459 prodstub_check_jobdata_3 200 prod-d job$i type4 $TARGET ric1 testdata/ics/job-template.json
460 prodstub_check_jobdata_3 200 prod-d job$(($i+$NUM_JOBS)) type104 $TARGET info-owner testdata/ics/job-template.json
462 if [ $(($i%5)) -eq 4 ]; then
463 prodstub_check_jobdata_3 200 prod-d job$i type5 $TARGET ric1 testdata/ics/job-template.json
464 prodstub_check_jobdata_3 200 prod-d job$(($i+$NUM_JOBS)) type105 $TARGET info-owner testdata/ics/job-template.json
469 for ((i=1; i<=$NUM_JOBS; i++))
471 if [ $(($i%5)) -eq 0 ]; then
472 ics_api_a1_delete_job 204 job$i
473 ics_api_idc_delete_job 204 job$(($i+$NUM_JOBS))
475 if [ $(($i%5)) -eq 1 ]; then
476 ics_api_a1_delete_job 204 job$i
477 ics_api_idc_delete_job 204 job$(($i+$NUM_JOBS))
479 if [ $(($i%5)) -eq 2 ]; then
480 ics_api_a1_delete_job 204 job$i
481 ics_api_idc_delete_job 204 job$(($i+$NUM_JOBS))
483 if [ $(($i%5)) -eq 3 ]; then
484 ics_api_a1_delete_job 204 job$i
485 ics_api_idc_delete_job 204 job$(($i+$NUM_JOBS))
487 if [ $(($i%5)) -eq 4 ]; then
488 ics_api_a1_delete_job 204 job$i
489 ics_api_idc_delete_job 204 job$(($i+$NUM_JOBS))
493 ics_equal json:data-producer/v1/info-producers 4
495 ics_api_edp_get_producer_status 200 prod-a ENABLED
496 ics_api_edp_get_producer_status 200 prod-b ENABLED
497 ics_api_edp_get_producer_status 200 prod-c ENABLED
498 ics_api_edp_get_producer_status 200 prod-d ENABLED
500 ics_equal json:A1-EI/v1/eijobs?eiTypeId=type1 0
501 ics_equal json:A1-EI/v1/eijobs?eiTypeId=type2 0
502 ics_equal json:A1-EI/v1/eijobs?eiTypeId=type3 0
503 ics_equal json:A1-EI/v1/eijobs?eiTypeId=type4 0
504 ics_equal json:A1-EI/v1/eijobs?eiTypeId=type5 0
506 ics_equal json:data-consumer/v1/info-jobs?infoTypeId=type101 0
507 ics_equal json:data-consumer/v1/info-jobs?infoTypeId=type102 0
508 ics_equal json:data-consumer/v1/info-jobs?infoTypeId=type103 0
509 ics_equal json:data-consumer/v1/info-jobs?infoTypeId=type104 0
510 ics_equal json:data-consumer/v1/info-jobs?infoTypeId=type105 0
512 if [[ "$ICS_FEATURE_LEVEL" == *"TYPE-SUBSCRIPTIONS"* ]]; then
513 ics_api_edp_put_type_2 200 type101 testdata/ics/info-type-1.json
514 ics_api_edp_put_type_2 200 type102 testdata/ics/info-type-2.json
515 ics_api_edp_put_type_2 200 type103 testdata/ics/info-type-3.json
516 ics_api_edp_put_type_2 200 type104 testdata/ics/info-type-4.json
517 ics_api_edp_put_type_2 200 type105 testdata/ics/info-type-5.json
520 if [[ "$ICS_FEATURE_LEVEL" == *"TYPE-SUBSCRIPTIONS"* ]]; then
521 deviation "Total number of job callbacks are not stable - there may be additional job status callbacks"
522 cr_equal 0 received_callbacks 10 30 # 10 type status
523 cr_equal 0 received_callbacks?id=type-status1 5
524 cr_equal 0 received_callbacks?id=type-status2 5
526 cr_api_check_all_ics_subscription_events 200 0 type-status1 \
527 type101 testdata/ics/info-type-1.json REGISTERED \
528 type102 testdata/ics/info-type-2.json REGISTERED \
529 type103 testdata/ics/info-type-3.json REGISTERED \
530 type104 testdata/ics/info-type-4.json REGISTERED \
531 type105 testdata/ics/info-type-5.json REGISTERED
533 cr_api_check_all_ics_subscription_events 200 0 type-status2 \
534 type101 testdata/ics/info-type-1.json REGISTERED \
535 type102 testdata/ics/info-type-2.json REGISTERED \
536 type103 testdata/ics/info-type-3.json REGISTERED \
537 type104 testdata/ics/info-type-4.json REGISTERED \
538 type105 testdata/ics/info-type-5.json REGISTERED
541 cr_equal 0 received_callbacks 0 30
548 #### TEST COMPLETE ####
553 auto_clean_environment