d6215c70ff5a3b750d08e966959864522d14b0fe
[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 #  ========================================================================
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 Create 10000 jobs (ei and info) restart, test job persistency"
22
23 #App names to include in the test when running docker, space separated list
24 DOCKER_INCLUDED_IMAGES="ICS PRODSTUB CR CP NGW KUBEPROXY"
25
26 #App names to include in the test when running kubernetes, space separated list
27 KUBE_INCLUDED_IMAGES="ICS PRODSTUB CP CR KUBEPROXY NGW"
28 #Prestarted app (not started by script) to include in the test when running kubernetes, space separated list
29 KUBE_PRESTARTED_IMAGES=""
30
31 #Ignore image in DOCKER_INCLUDED_IMAGES, KUBE_INCLUDED_IMAGES if
32 #the image is not configured in the supplied env_file
33 #Used for images not applicable to all supported profile
34 CONDITIONALLY_IGNORED_IMAGES="NGW"
35
36 #Supported test environment profiles
37 SUPPORTED_PROFILES="ONAP-JAKARTA ONAP-KOHN ONAP-LONDON  ORAN-F-RELEASE ORAN-G-RELEASE ORAN-H-RELEASE"
38 #Supported run modes
39 SUPPORTED_RUNMODES="DOCKER KUBE"
40
41 . ../common/testcase_common.sh $@
42
43 setup_testenvironment
44
45 #### TEST BEGIN ####
46
47 clean_environment
48
49 start_kube_proxy
50
51 use_ics_rest_http
52
53 use_prod_stub_http
54
55 start_ics NOPROXY $SIM_GROUP/$ICS_COMPOSE_DIR/$ICS_CONFIG_FILE
56
57 start_prod_stub
58
59 set_ics_trace
60
61 start_control_panel $SIM_GROUP/$CONTROL_PANEL_COMPOSE_DIR/$CONTROL_PANEL_CONFIG_FILE
62
63 if [ ! -z "$NRT_GATEWAY_APP_NAME" ]; then
64     start_gateway $SIM_GROUP/$NRT_GATEWAY_COMPOSE_DIR/$NRT_GATEWAY_CONFIG_FILE
65 fi
66
67 start_cr 1
68
69 CB_JOB="$PROD_STUB_SERVICE_PATH$PROD_STUB_JOB_CALLBACK"
70 CB_SV="$PROD_STUB_SERVICE_PATH$PROD_STUB_SUPERVISION_CALLBACK"
71 TARGET="http://localhost:80/target"  # Dummy target
72
73 NUM_JOBS=5000 # 5K ei jobs and 5K info jobs
74
75 if [[ "$ICS_FEATURE_LEVEL" == *"TYPE-SUBSCRIPTIONS"* ]]; then
76     #Type registration status callbacks
77     TYPESTATUS1="$CR_SERVICE_APP_PATH_0/type-status1"
78     TYPESTATUS2="$CR_SERVICE_APP_PATH_0/type-status2"
79
80     ics_api_idc_put_subscription 201 subscription-id-1 owner1 $TYPESTATUS1
81
82     ics_api_idc_get_subscription_ids 200 owner1 subscription-id-1
83
84     ics_api_idc_put_subscription 201 subscription-id-2 owner2 $TYPESTATUS2
85
86     ics_api_idc_get_subscription_ids 200 owner2 subscription-id-2
87
88 fi
89
90 # Setup prodstub sim to accept calls for producers, types and jobs
91 prodstub_arm_producer 200 prod-a
92 prodstub_arm_producer 200 prod-b
93 prodstub_arm_producer 200 prod-c
94 prodstub_arm_producer 200 prod-d
95
96 prodstub_arm_type 200 prod-a type1
97
98 prodstub_arm_type 200 prod-b type1
99 prodstub_arm_type 200 prod-b type2
100
101 prodstub_arm_type 200 prod-c type1
102 prodstub_arm_type 200 prod-c type2
103 prodstub_arm_type 200 prod-c type3
104
105 prodstub_arm_type 200 prod-d type4
106 prodstub_arm_type 200 prod-d type5
107
108 for ((i=1; i<=$NUM_JOBS; i++))
109 do
110     if [ $(($i%5)) -eq 0 ]; then
111         prodstub_arm_job_create 200 prod-a job$i
112         prodstub_arm_job_create 200 prod-b job$i
113         prodstub_arm_job_create 200 prod-c job$i
114     fi
115     if [ $(($i%5)) -eq 1 ]; then
116         prodstub_arm_job_create 200 prod-b job$i
117         prodstub_arm_job_create 200 prod-c job$i
118     fi
119     if [ $(($i%5)) -eq 2 ]; then
120         prodstub_arm_job_create 200 prod-c job$i
121     fi
122     if [ $(($i%5)) -eq 3 ]; then
123         prodstub_arm_job_create 200 prod-d job$i
124     fi
125     if [ $(($i%5)) -eq 4 ]; then
126         prodstub_arm_job_create 200 prod-d job$i
127     fi
128 done
129
130 prodstub_arm_producer 200 prod-a
131 prodstub_arm_producer 200 prod-b
132 prodstub_arm_producer 200 prod-c
133 prodstub_arm_producer 200 prod-d
134
135 prodstub_arm_type 200 prod-a type101
136
137 prodstub_arm_type 200 prod-b type101
138 prodstub_arm_type 200 prod-b type102
139
140 prodstub_arm_type 200 prod-c type101
141 prodstub_arm_type 200 prod-c type102
142 prodstub_arm_type 200 prod-c type103
143
144 prodstub_arm_type 200 prod-d type104
145 prodstub_arm_type 200 prod-d type105
146
147 for ((i=1; i<=$NUM_JOBS; i++))
148 do
149     if [ $(($i%5)) -eq 0 ]; then
150         prodstub_arm_job_create 200 prod-a job$(($i+$NUM_JOBS))
151         prodstub_arm_job_create 200 prod-b job$(($i+$NUM_JOBS))
152         prodstub_arm_job_create 200 prod-c job$(($i+$NUM_JOBS))
153     fi
154     if [ $(($i%5)) -eq 1 ]; then
155         prodstub_arm_job_create 200 prod-b job$(($i+$NUM_JOBS))
156         prodstub_arm_job_create 200 prod-c job$(($i+$NUM_JOBS))
157     fi
158     if [ $(($i%5)) -eq 2 ]; then
159         prodstub_arm_job_create 200 prod-c job$(($i+$NUM_JOBS))
160     fi
161     if [ $(($i%5)) -eq 3 ]; then
162         prodstub_arm_job_create 200 prod-d job$(($i+$NUM_JOBS))
163     fi
164     if [ $(($i%5)) -eq 4 ]; then
165         prodstub_arm_job_create 200 prod-d job$(($i+$NUM_JOBS))
166     fi
167 done
168
169
170
171 ics_api_edp_put_type_2 201 type1 testdata/ics/ei-type-1.json
172 ics_api_edp_put_type_2 201 type2 testdata/ics/ei-type-2.json
173 ics_api_edp_put_type_2 201 type3 testdata/ics/ei-type-3.json
174 ics_api_edp_put_type_2 201 type4 testdata/ics/ei-type-4.json
175 ics_api_edp_put_type_2 201 type5 testdata/ics/ei-type-5.json
176
177 ics_api_edp_put_producer_2 201 prod-a $CB_JOB/prod-a $CB_SV/prod-a type1
178
179 ics_api_edp_put_producer_2 201 prod-b $CB_JOB/prod-b $CB_SV/prod-b type1 type2
180
181 ics_api_edp_put_producer_2 201 prod-c $CB_JOB/prod-c $CB_SV/prod-c type1 type2 type3
182
183 ics_api_edp_put_producer_2 201 prod-d $CB_JOB/prod-d $CB_SV/prod-d type4 type5
184
185 ics_api_edp_put_type_2 201 type101 testdata/ics/info-type-1.json
186 ics_api_edp_put_type_2 201 type102 testdata/ics/info-type-2.json
187 ics_api_edp_put_type_2 201 type103 testdata/ics/info-type-3.json
188 ics_api_edp_put_type_2 201 type104 testdata/ics/info-type-4.json
189 ics_api_edp_put_type_2 201 type105 testdata/ics/info-type-5.json
190
191
192
193 if [[ "$ICS_FEATURE_LEVEL" == *"TYPE-SUBSCRIPTIONS"* ]]; then
194     cr_equal 0 received_callbacks 20 30
195     cr_equal 0 received_callbacks?id=type-status1 10
196     cr_equal 0 received_callbacks?id=type-status2 10
197
198     cr_api_check_all_ics_subscription_events 200 0 type-status1 \
199         type1 testdata/ics/ei-type-1.json REGISTERED \
200         type2 testdata/ics/ei-type-2.json REGISTERED \
201         type3 testdata/ics/ei-type-3.json REGISTERED \
202         type4 testdata/ics/ei-type-4.json REGISTERED \
203         type5 testdata/ics/ei-type-5.json REGISTERED \
204         type101 testdata/ics/info-type-1.json REGISTERED \
205         type102 testdata/ics/info-type-2.json REGISTERED \
206         type103 testdata/ics/info-type-3.json REGISTERED \
207         type104 testdata/ics/info-type-4.json REGISTERED \
208         type105 testdata/ics/info-type-5.json REGISTERED
209
210     cr_api_check_all_ics_subscription_events 200 0 type-status2 \
211         type1 testdata/ics/ei-type-1.json REGISTERED \
212         type2 testdata/ics/ei-type-2.json REGISTERED \
213         type3 testdata/ics/ei-type-3.json REGISTERED \
214         type4 testdata/ics/ei-type-4.json REGISTERED \
215         type5 testdata/ics/ei-type-5.json REGISTERED \
216         type101 testdata/ics/info-type-1.json REGISTERED \
217         type102 testdata/ics/info-type-2.json REGISTERED \
218         type103 testdata/ics/info-type-3.json REGISTERED \
219         type104 testdata/ics/info-type-4.json REGISTERED \
220         type105 testdata/ics/info-type-5.json REGISTERED
221
222 fi
223
224 ics_api_edp_put_producer_2 200 prod-a $CB_JOB/prod-a $CB_SV/prod-a type1 type101
225
226 ics_api_edp_put_producer_2 200 prod-b $CB_JOB/prod-b $CB_SV/prod-b type1 type2 type101 type102
227
228 ics_api_edp_put_producer_2 200 prod-c $CB_JOB/prod-c $CB_SV/prod-c type1 type2 type3 type101 type102 type103
229
230 ics_api_edp_put_producer_2 200 prod-d $CB_JOB/prod-d $CB_SV/prod-d type4 type5 type104 type105
231
232
233 ics_equal json:data-producer/v1/info-producers 4
234
235 ics_api_edp_get_producer_status 200 prod-a ENABLED
236 ics_api_edp_get_producer_status 200 prod-b ENABLED
237 ics_api_edp_get_producer_status 200 prod-c ENABLED
238 ics_api_edp_get_producer_status 200 prod-d ENABLED
239
240 for ((i=1; i<=$NUM_JOBS; i++))
241 do
242     if [ $(($i%5)) -eq 0 ]; then
243         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
244         ics_api_a1_get_job_status 200 job$i ENABLED 120
245         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
246         ics_api_idc_get_job_status2 200 job$(($i+$NUM_JOBS)) ENABLED 3 prod-a prod-b prod-c 120
247     fi
248     if [ $(($i%5)) -eq 1 ]; then
249         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
250         ics_api_a1_get_job_status 200 job$i ENABLED 120
251         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
252         ics_api_idc_get_job_status2 200 job$(($i+$NUM_JOBS)) ENABLED 2 prod-b prod-c 120
253     fi
254     if [ $(($i%5)) -eq 2 ]; then
255         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
256         ics_api_a1_get_job_status 200 job$i ENABLED 120
257         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
258         ics_api_idc_get_job_status2 200 job$(($i+$NUM_JOBS)) ENABLED 1 prod-c 120
259     fi
260     if [ $(($i%5)) -eq 3 ]; then
261         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
262         ics_api_a1_get_job_status 200 job$i ENABLED 120
263         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
264         ics_api_idc_get_job_status2 200 job$(($i+$NUM_JOBS)) ENABLED 1 prod-d 120
265     fi
266     if [ $(($i%5)) -eq 4 ]; then
267         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
268         ics_api_a1_get_job_status 200 job$i ENABLED 120
269         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
270         ics_api_idc_get_job_status2 200 job$(($i+$NUM_JOBS)) ENABLED 1 prod-d 120
271     fi
272 done
273
274 ics_equal json:A1-EI/v1/eijobs?eiTypeId=type1 $(($NUM_JOBS/5))
275 ics_equal json:A1-EI/v1/eijobs?eiTypeId=type2 $(($NUM_JOBS/5))
276 ics_equal json:A1-EI/v1/eijobs?eiTypeId=type3 $(($NUM_JOBS/5))
277 ics_equal json:A1-EI/v1/eijobs?eiTypeId=type4 $(($NUM_JOBS/5))
278 ics_equal json:A1-EI/v1/eijobs?eiTypeId=type5 $(($NUM_JOBS/5))
279 ics_equal json:data-consumer/v1/info-jobs?infoTypeId=type101 $(($NUM_JOBS/5))
280 ics_equal json:data-consumer/v1/info-jobs?infoTypeId=type102 $(($NUM_JOBS/5))
281 ics_equal json:data-consumer/v1/info-jobs?infoTypeId=type103 $(($NUM_JOBS/5))
282 ics_equal json:data-consumer/v1/info-jobs?infoTypeId=type104 $(($NUM_JOBS/5))
283 ics_equal json:data-consumer/v1/info-jobs?infoTypeId=type105 $(($NUM_JOBS/5))
284
285 if [[ "$ICS_FEATURE_LEVEL" == *"TYPE-SUBSCRIPTIONS"* ]]; then
286     cr_equal 0 received_callbacks 20 30
287
288 else
289     cr_equal 0 received_callbacks 0 30
290
291 fi
292
293
294 if [[ "$ICS_FEATURE_LEVEL" == *"TYPE-SUBSCRIPTIONS"* ]]; then
295
296     ics_equal json:data-consumer/v1/info-type-subscription 2 200
297
298     ics_api_idc_get_subscription_ids 200 owner1 subscription-id-1
299     ics_api_idc_get_subscription_ids 200 owner2 subscription-id-2
300
301     ics_equal json:data-producer/v1/info-types 10 1000
302
303 fi
304
305 stop_ics
306
307 cr_api_reset 0
308
309 start_stopped_ics
310
311 set_ics_trace
312
313 if [[ "$ICS_FEATURE_LEVEL" == *"TYPE-SUBSCRIPTIONS"* ]]; then
314
315     ics_equal json:data-consumer/v1/info-type-subscription 2 200
316
317     ics_api_idc_get_subscription_ids 200 owner1 subscription-id-1
318     ics_api_idc_get_subscription_ids 200 owner2 subscription-id-2
319
320     ics_equal json:data-producer/v1/info-types 10 1000
321 fi
322
323 cr_equal 0 received_callbacks 0
324
325 for ((i=1; i<=$NUM_JOBS; i++))
326 do
327     if [ $(($i%5)) -eq 0 ]; then
328         prodstub_delete_jobdata 204 prod-a job$i
329         prodstub_delete_jobdata 204 prod-b job$i
330         prodstub_delete_jobdata 204 prod-c job$i
331         prodstub_delete_jobdata 204 prod-a job$(($i+$NUM_JOBS))
332         prodstub_delete_jobdata 204 prod-b job$(($i+$NUM_JOBS))
333         prodstub_delete_jobdata 204 prod-c job$(($i+$NUM_JOBS))
334     fi
335     if [ $(($i%5)) -eq 1 ]; then
336         prodstub_delete_jobdata 204 prod-b job$i
337         prodstub_delete_jobdata 204 prod-c job$i
338         prodstub_delete_jobdata 204 prod-b job$(($i+$NUM_JOBS))
339         prodstub_delete_jobdata 204 prod-c job$(($i+$NUM_JOBS))
340     fi
341     if [ $(($i%5)) -eq 2 ]; then
342         prodstub_delete_jobdata 204 prod-c job$i
343         prodstub_delete_jobdata 204 prod-c job$(($i+$NUM_JOBS))
344     fi
345     if [ $(($i%5)) -eq 3 ]; then
346         prodstub_delete_jobdata 204 prod-d job$i
347         prodstub_delete_jobdata 204 prod-d job$(($i+$NUM_JOBS))
348     fi
349     if [ $(($i%5)) -eq 4 ]; then
350         prodstub_delete_jobdata 204 prod-d job$i
351         prodstub_delete_jobdata 204 prod-d job$(($i+$NUM_JOBS))
352     fi
353 done
354
355 ics_api_edp_get_producer_status 404 prod-a
356 ics_api_edp_get_producer_status 404 prod-b
357 ics_api_edp_get_producer_status 404 prod-c
358 ics_api_edp_get_producer_status 404 prod-d
359
360 for ((i=1; i<=$NUM_JOBS; i++))
361 do
362     if [ $(($i%5)) -eq 0 ]; then
363         ics_api_a1_get_job_status 200 job$i DISABLED 120
364         ics_api_idc_get_job_status2 200 job$(($i+$NUM_JOBS)) DISABLED EMPTYPROD 120
365     fi
366     if [ $(($i%5)) -eq 1 ]; then
367         ics_api_a1_get_job_status 200 job$i DISABLED 120
368         ics_api_idc_get_job_status2 200 job$(($i+$NUM_JOBS)) DISABLED EMPTYPROD 120
369     fi
370     if [ $(($i%5)) -eq 2 ]; then
371         ics_api_a1_get_job_status 200 job$i DISABLED 120
372         ics_api_idc_get_job_status2 200 job$(($i+$NUM_JOBS)) DISABLED EMPTYPROD 120
373     fi
374     if [ $(($i%5)) -eq 3 ]; then
375         ics_api_a1_get_job_status 200 job$i DISABLED 120
376         ics_api_idc_get_job_status2 200 job$(($i+$NUM_JOBS)) DISABLED EMPTYPROD 120
377     fi
378     if [ $(($i%5)) -eq 4 ]; then
379         ics_api_a1_get_job_status 200 job$i DISABLED 120
380         ics_api_idc_get_job_status2 200 job$(($i+$NUM_JOBS)) DISABLED EMPTYPROD 120
381     fi
382 done
383
384 ics_api_edp_put_producer_2 201 prod-a $CB_JOB/prod-a $CB_SV/prod-a type1  type101
385
386 ics_api_edp_put_producer_2 201 prod-b $CB_JOB/prod-b $CB_SV/prod-b type1 type2  type101 type102
387
388 ics_api_edp_put_producer_2 201 prod-c $CB_JOB/prod-c $CB_SV/prod-c type1 type2 type3  type101 type102 type103
389
390 ics_api_edp_put_producer_2 201 prod-d $CB_JOB/prod-d $CB_SV/prod-d type4 type5  type104 type105
391
392 ics_equal json:data-producer/v1/info-producers 4
393
394 ics_api_edp_get_producer_status 200 prod-a ENABLED
395 ics_api_edp_get_producer_status 200 prod-b ENABLED
396 ics_api_edp_get_producer_status 200 prod-c ENABLED
397 ics_api_edp_get_producer_status 200 prod-d ENABLED
398
399 for ((i=1; i<=$NUM_JOBS; i++))
400 do
401     if [ $(($i%5)) -eq 0 ]; then
402         ics_api_a1_get_job_status 200 job$i ENABLED 120
403         ics_api_idc_get_job_status2 200 job$(($i+$NUM_JOBS)) ENABLED 3 prod-a prod-b prod-c 120
404     fi
405     if [ $(($i%5)) -eq 1 ]; then
406         ics_api_a1_get_job_status 200 job$i ENABLED 120
407         ics_api_idc_get_job_status2 200 job$(($i+$NUM_JOBS)) ENABLED 2 prod-b prod-c 120
408     fi
409     if [ $(($i%5)) -eq 2 ]; then
410         ics_api_a1_get_job_status 200 job$i ENABLED 120
411         ics_api_idc_get_job_status2 200 job$(($i+$NUM_JOBS)) ENABLED 1 prod-c 120
412     fi
413     if [ $(($i%5)) -eq 3 ]; then
414         ics_api_a1_get_job_status 200 job$i ENABLED 120
415         ics_api_idc_get_job_status2 200 job$(($i+$NUM_JOBS)) ENABLED 1 prod-d 120
416     fi
417     if [ $(($i%5)) -eq 4 ]; then
418         ics_api_a1_get_job_status 200 job$i ENABLED 120
419         ics_api_idc_get_job_status2 200 job$(($i+$NUM_JOBS)) ENABLED 1 prod-d 120
420     fi
421 done
422
423
424 ics_equal json:A1-EI/v1/eijobs?eiTypeId=type1 $(($NUM_JOBS/5))
425 ics_equal json:A1-EI/v1/eijobs?eiTypeId=type2 $(($NUM_JOBS/5))
426 ics_equal json:A1-EI/v1/eijobs?eiTypeId=type3 $(($NUM_JOBS/5))
427 ics_equal json:A1-EI/v1/eijobs?eiTypeId=type4 $(($NUM_JOBS/5))
428 ics_equal json:A1-EI/v1/eijobs?eiTypeId=type5 $(($NUM_JOBS/5))
429
430 ics_equal json:data-consumer/v1/info-jobs?infoTypeId=type101 $(($NUM_JOBS/5))
431 ics_equal json:data-consumer/v1/info-jobs?infoTypeId=type102 $(($NUM_JOBS/5))
432 ics_equal json:data-consumer/v1/info-jobs?infoTypeId=type103 $(($NUM_JOBS/5))
433 ics_equal json:data-consumer/v1/info-jobs?infoTypeId=type104 $(($NUM_JOBS/5))
434 ics_equal json:data-consumer/v1/info-jobs?infoTypeId=type105 $(($NUM_JOBS/5))
435
436 for ((i=1; i<=$NUM_JOBS; i++))
437 do
438     if [ $(($i%5)) -eq 0 ]; then
439         prodstub_check_jobdata_3 200 prod-a job$i type1 $TARGET ric1 testdata/ics/job-template.json
440         prodstub_check_jobdata_3 200 prod-b job$i type1 $TARGET ric1 testdata/ics/job-template.json
441         prodstub_check_jobdata_3 200 prod-c job$i type1 $TARGET ric1 testdata/ics/job-template.json
442         prodstub_check_jobdata_3 200 prod-a job$(($i+$NUM_JOBS)) type101 $TARGET info-owner testdata/ics/job-template.json
443         prodstub_check_jobdata_3 200 prod-b job$(($i+$NUM_JOBS)) type101 $TARGET info-owner testdata/ics/job-template.json
444         prodstub_check_jobdata_3 200 prod-c job$(($i+$NUM_JOBS)) type101 $TARGET info-owner testdata/ics/job-template.json
445
446     fi
447     if [ $(($i%5)) -eq 1 ]; then
448         prodstub_check_jobdata_3 200 prod-b job$i type2 $TARGET ric1 testdata/ics/job-template.json
449         prodstub_check_jobdata_3 200 prod-c job$i type2 $TARGET ric1 testdata/ics/job-template.json
450         prodstub_check_jobdata_3 200 prod-b job$(($i+$NUM_JOBS)) type102 $TARGET info-owner testdata/ics/job-template.json
451         prodstub_check_jobdata_3 200 prod-c job$(($i+$NUM_JOBS)) type102 $TARGET info-owner testdata/ics/job-template.json
452     fi
453     if [ $(($i%5)) -eq 2 ]; then
454         prodstub_check_jobdata_3 200 prod-c job$i type3 $TARGET ric1 testdata/ics/job-template.json
455         prodstub_check_jobdata_3 200 prod-c job$(($i+$NUM_JOBS)) type103 $TARGET info-owner testdata/ics/job-template.json
456     fi
457     if [ $(($i%5)) -eq 3 ]; then
458         prodstub_check_jobdata_3 200 prod-d job$i type4 $TARGET ric1 testdata/ics/job-template.json
459         prodstub_check_jobdata_3 200 prod-d job$(($i+$NUM_JOBS)) type104 $TARGET info-owner testdata/ics/job-template.json
460     fi
461     if [ $(($i%5)) -eq 4 ]; then
462         prodstub_check_jobdata_3 200 prod-d job$i type5 $TARGET ric1 testdata/ics/job-template.json
463         prodstub_check_jobdata_3 200 prod-d job$(($i+$NUM_JOBS)) type105 $TARGET info-owner testdata/ics/job-template.json
464     fi
465 done
466
467
468 for ((i=1; i<=$NUM_JOBS; i++))
469 do
470     if [ $(($i%5)) -eq 0 ]; then
471         ics_api_a1_delete_job 204 job$i
472         ics_api_idc_delete_job 204 job$(($i+$NUM_JOBS))
473     fi
474     if [ $(($i%5)) -eq 1 ]; then
475         ics_api_a1_delete_job 204 job$i
476         ics_api_idc_delete_job 204 job$(($i+$NUM_JOBS))
477     fi
478     if [ $(($i%5)) -eq 2 ]; then
479         ics_api_a1_delete_job 204 job$i
480         ics_api_idc_delete_job 204 job$(($i+$NUM_JOBS))
481     fi
482     if [ $(($i%5)) -eq 3 ]; then
483         ics_api_a1_delete_job 204 job$i
484         ics_api_idc_delete_job 204 job$(($i+$NUM_JOBS))
485     fi
486     if [ $(($i%5)) -eq 4 ]; then
487         ics_api_a1_delete_job 204 job$i
488         ics_api_idc_delete_job 204 job$(($i+$NUM_JOBS))
489     fi
490 done
491
492 ics_equal json:data-producer/v1/info-producers 4
493
494 ics_api_edp_get_producer_status 200 prod-a ENABLED
495 ics_api_edp_get_producer_status 200 prod-b ENABLED
496 ics_api_edp_get_producer_status 200 prod-c ENABLED
497 ics_api_edp_get_producer_status 200 prod-d ENABLED
498
499 ics_equal json:A1-EI/v1/eijobs?eiTypeId=type1 0
500 ics_equal json:A1-EI/v1/eijobs?eiTypeId=type2 0
501 ics_equal json:A1-EI/v1/eijobs?eiTypeId=type3 0
502 ics_equal json:A1-EI/v1/eijobs?eiTypeId=type4 0
503 ics_equal json:A1-EI/v1/eijobs?eiTypeId=type5 0
504
505 ics_equal json:data-consumer/v1/info-jobs?infoTypeId=type101 0
506 ics_equal json:data-consumer/v1/info-jobs?infoTypeId=type102 0
507 ics_equal json:data-consumer/v1/info-jobs?infoTypeId=type103 0
508 ics_equal json:data-consumer/v1/info-jobs?infoTypeId=type104 0
509 ics_equal json:data-consumer/v1/info-jobs?infoTypeId=type105 0
510
511 if [[ "$ICS_FEATURE_LEVEL" == *"TYPE-SUBSCRIPTIONS"* ]]; then
512     ics_api_edp_put_type_2 200 type101 testdata/ics/info-type-1.json
513     ics_api_edp_put_type_2 200 type102 testdata/ics/info-type-2.json
514     ics_api_edp_put_type_2 200 type103 testdata/ics/info-type-3.json
515     ics_api_edp_put_type_2 200 type104 testdata/ics/info-type-4.json
516     ics_api_edp_put_type_2 200 type105 testdata/ics/info-type-5.json
517 fi
518
519 if [[ "$ICS_FEATURE_LEVEL" == *"TYPE-SUBSCRIPTIONS"* ]]; then
520     deviation "Total number of job callbacks are not stable - there may be additional job status callbacks"
521     cr_equal 0 received_callbacks 10 30    # 10 type status
522     cr_equal 0 received_callbacks?id=type-status1 5
523     cr_equal 0 received_callbacks?id=type-status2 5
524
525     cr_api_check_all_ics_subscription_events 200 0 type-status1 \
526         type101 testdata/ics/info-type-1.json REGISTERED \
527         type102 testdata/ics/info-type-2.json REGISTERED \
528         type103 testdata/ics/info-type-3.json REGISTERED \
529         type104 testdata/ics/info-type-4.json REGISTERED \
530         type105 testdata/ics/info-type-5.json REGISTERED
531
532     cr_api_check_all_ics_subscription_events 200 0 type-status2 \
533         type101 testdata/ics/info-type-1.json REGISTERED \
534         type102 testdata/ics/info-type-2.json REGISTERED \
535         type103 testdata/ics/info-type-3.json REGISTERED \
536         type104 testdata/ics/info-type-4.json REGISTERED \
537         type105 testdata/ics/info-type-5.json REGISTERED
538
539 else
540     cr_equal 0 received_callbacks 0 30
541 fi
542
543 check_ics_logs
544
545 store_logs END
546
547 #### TEST COMPLETE ####
548
549
550 print_result
551
552 auto_clean_environment