Functional Test Updates for I Release
[nonrtric.git] / test / auto-test / FTC1800.sh
1 #!/bin/bash
2
3 #  ============LICENSE_START===============================================
4 #  Copyright (C) 2020-2023 Nordix Foundation. All rights reserved.
5 #  Copyright (C) 2023 OpenInfra Foundation Europe. All rights reserved.
6 #  ========================================================================
7 #  Licensed under the Apache License, Version 2.0 (the "License");
8 #  you may not use this file except in compliance with the License.
9 #  You may obtain a copy of the License at
10 #
11 #       http://www.apache.org/licenses/LICENSE-2.0
12 #
13 #  Unless required by applicable law or agreed to in writing, software
14 #  distributed under the License is distributed on an "AS IS" BASIS,
15 #  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16 #  See the License for the specific language governing permissions and
17 #  limitations under the License.
18 #  ============LICENSE_END=================================================
19 #
20
21
22 TC_ONELINE_DESCR="ICS Create 10000 jobs (ei and info) restart, test job persistency"
23
24 #App names to include in the test when running docker, space separated list
25 DOCKER_INCLUDED_IMAGES="ICS PRODSTUB CR CP NGW KUBEPROXY"
26
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=""
31
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"
36
37 #Supported test environment profiles
38 SUPPORTED_PROFILES="ONAP-KOHN ONAP-LONDON ONAP-MONTREAL  ORAN-G-RELEASE ORAN-H-RELEASE ORAN-I-RELEASE"
39 #Supported run modes
40 SUPPORTED_RUNMODES="DOCKER KUBE"
41
42 . ../common/testcase_common.sh $@
43
44 setup_testenvironment
45
46 #### TEST BEGIN ####
47
48 clean_environment
49
50 start_kube_proxy
51
52 use_ics_rest_http
53
54 use_prod_stub_http
55
56 start_ics NOPROXY $SIM_GROUP/$ICS_COMPOSE_DIR/$ICS_CONFIG_FILE
57
58 start_prod_stub
59
60 set_ics_trace
61
62 start_control_panel $SIM_GROUP/$CONTROL_PANEL_COMPOSE_DIR/$CONTROL_PANEL_CONFIG_FILE
63
64 if [ ! -z "$NRT_GATEWAY_APP_NAME" ]; then
65     start_gateway $SIM_GROUP/$NRT_GATEWAY_COMPOSE_DIR/$NRT_GATEWAY_CONFIG_FILE
66 fi
67
68 start_cr 1
69
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
73
74 NUM_JOBS=5000 # 5K ei jobs and 5K info jobs
75
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"
80
81     ics_api_idc_put_subscription 201 subscription-id-1 owner1 $TYPESTATUS1
82
83     ics_api_idc_get_subscription_ids 200 owner1 subscription-id-1
84
85     ics_api_idc_put_subscription 201 subscription-id-2 owner2 $TYPESTATUS2
86
87     ics_api_idc_get_subscription_ids 200 owner2 subscription-id-2
88
89 fi
90
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
96
97 prodstub_arm_type 200 prod-a type1
98
99 prodstub_arm_type 200 prod-b type1
100 prodstub_arm_type 200 prod-b type2
101
102 prodstub_arm_type 200 prod-c type1
103 prodstub_arm_type 200 prod-c type2
104 prodstub_arm_type 200 prod-c type3
105
106 prodstub_arm_type 200 prod-d type4
107 prodstub_arm_type 200 prod-d type5
108
109 for ((i=1; i<=$NUM_JOBS; i++))
110 do
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
115     fi
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
119     fi
120     if [ $(($i%5)) -eq 2 ]; then
121         prodstub_arm_job_create 200 prod-c job$i
122     fi
123     if [ $(($i%5)) -eq 3 ]; then
124         prodstub_arm_job_create 200 prod-d job$i
125     fi
126     if [ $(($i%5)) -eq 4 ]; then
127         prodstub_arm_job_create 200 prod-d job$i
128     fi
129 done
130
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
135
136 prodstub_arm_type 200 prod-a type101
137
138 prodstub_arm_type 200 prod-b type101
139 prodstub_arm_type 200 prod-b type102
140
141 prodstub_arm_type 200 prod-c type101
142 prodstub_arm_type 200 prod-c type102
143 prodstub_arm_type 200 prod-c type103
144
145 prodstub_arm_type 200 prod-d type104
146 prodstub_arm_type 200 prod-d type105
147
148 for ((i=1; i<=$NUM_JOBS; i++))
149 do
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))
154     fi
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))
158     fi
159     if [ $(($i%5)) -eq 2 ]; then
160         prodstub_arm_job_create 200 prod-c job$(($i+$NUM_JOBS))
161     fi
162     if [ $(($i%5)) -eq 3 ]; then
163         prodstub_arm_job_create 200 prod-d job$(($i+$NUM_JOBS))
164     fi
165     if [ $(($i%5)) -eq 4 ]; then
166         prodstub_arm_job_create 200 prod-d job$(($i+$NUM_JOBS))
167     fi
168 done
169
170
171
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
177
178 ics_api_edp_put_producer_2 201 prod-a $CB_JOB/prod-a $CB_SV/prod-a type1
179
180 ics_api_edp_put_producer_2 201 prod-b $CB_JOB/prod-b $CB_SV/prod-b type1 type2
181
182 ics_api_edp_put_producer_2 201 prod-c $CB_JOB/prod-c $CB_SV/prod-c type1 type2 type3
183
184 ics_api_edp_put_producer_2 201 prod-d $CB_JOB/prod-d $CB_SV/prod-d type4 type5
185
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
191
192
193
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
198
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
210
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
222
223 fi
224
225 ics_api_edp_put_producer_2 200 prod-a $CB_JOB/prod-a $CB_SV/prod-a type1 type101
226
227 ics_api_edp_put_producer_2 200 prod-b $CB_JOB/prod-b $CB_SV/prod-b type1 type2 type101 type102
228
229 ics_api_edp_put_producer_2 200 prod-c $CB_JOB/prod-c $CB_SV/prod-c type1 type2 type3 type101 type102 type103
230
231 ics_api_edp_put_producer_2 200 prod-d $CB_JOB/prod-d $CB_SV/prod-d type4 type5 type104 type105
232
233
234 ics_equal json:data-producer/v1/info-producers 4
235
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
240
241 for ((i=1; i<=$NUM_JOBS; i++))
242 do
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
248     fi
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
254     fi
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
260     fi
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
266     fi
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
272     fi
273 done
274
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))
285
286 if [[ "$ICS_FEATURE_LEVEL" == *"TYPE-SUBSCRIPTIONS"* ]]; then
287     cr_equal 0 received_callbacks 20 30
288
289 else
290     cr_equal 0 received_callbacks 0 30
291
292 fi
293
294
295 if [[ "$ICS_FEATURE_LEVEL" == *"TYPE-SUBSCRIPTIONS"* ]]; then
296
297     ics_equal json:data-consumer/v1/info-type-subscription 2 200
298
299     ics_api_idc_get_subscription_ids 200 owner1 subscription-id-1
300     ics_api_idc_get_subscription_ids 200 owner2 subscription-id-2
301
302     ics_equal json:data-producer/v1/info-types 10 1000
303
304 fi
305
306 stop_ics
307
308 cr_api_reset 0
309
310 start_stopped_ics
311
312 set_ics_trace
313
314 if [[ "$ICS_FEATURE_LEVEL" == *"TYPE-SUBSCRIPTIONS"* ]]; then
315
316     ics_equal json:data-consumer/v1/info-type-subscription 2 200
317
318     ics_api_idc_get_subscription_ids 200 owner1 subscription-id-1
319     ics_api_idc_get_subscription_ids 200 owner2 subscription-id-2
320
321     ics_equal json:data-producer/v1/info-types 10 1000
322 fi
323
324 cr_equal 0 received_callbacks 0
325
326 for ((i=1; i<=$NUM_JOBS; i++))
327 do
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))
335     fi
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))
341     fi
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))
345     fi
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))
349     fi
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))
353     fi
354 done
355
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
360
361 for ((i=1; i<=$NUM_JOBS; i++))
362 do
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
366     fi
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
370     fi
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
374     fi
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
378     fi
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
382     fi
383 done
384
385 ics_api_edp_put_producer_2 201 prod-a $CB_JOB/prod-a $CB_SV/prod-a type1  type101
386
387 ics_api_edp_put_producer_2 201 prod-b $CB_JOB/prod-b $CB_SV/prod-b type1 type2  type101 type102
388
389 ics_api_edp_put_producer_2 201 prod-c $CB_JOB/prod-c $CB_SV/prod-c type1 type2 type3  type101 type102 type103
390
391 ics_api_edp_put_producer_2 201 prod-d $CB_JOB/prod-d $CB_SV/prod-d type4 type5  type104 type105
392
393 ics_equal json:data-producer/v1/info-producers 4
394
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
399
400 for ((i=1; i<=$NUM_JOBS; i++))
401 do
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
405     fi
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
409     fi
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
413     fi
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
417     fi
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
421     fi
422 done
423
424
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))
430
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))
436
437 for ((i=1; i<=$NUM_JOBS; i++))
438 do
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
446
447     fi
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
453     fi
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
457     fi
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
461     fi
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
465     fi
466 done
467
468
469 for ((i=1; i<=$NUM_JOBS; i++))
470 do
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))
474     fi
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))
478     fi
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))
482     fi
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))
486     fi
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))
490     fi
491 done
492
493 ics_equal json:data-producer/v1/info-producers 4
494
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
499
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
505
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
511
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
518 fi
519
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
525
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
532
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
539
540 else
541     cr_equal 0 received_callbacks 0 30
542 fi
543
544 check_ics_logs
545
546 store_logs END
547
548 #### TEST COMPLETE ####
549
550
551 print_result
552
553 auto_clean_environment