Fix distribution of Kafka messages
[nonrtric.git] / test / auto-test / FTC1800.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 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-HONOLULU ONAP-ISTANBUL ONAP-JAKARTA ORAN-CHERRY ORAN-D-RELEASE ORAN-E-RELEASE ORAN-F-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 FLAT_A1_EI="1"
48
49 clean_environment
50
51 start_kube_proxy
52
53 use_ics_rest_http
54
55 use_prod_stub_http
56
57 start_ics NOPROXY $SIM_GROUP/$ICS_COMPOSE_DIR/$ICS_CONFIG_FILE
58
59 start_prod_stub
60
61 set_ics_trace
62
63 start_control_panel $SIM_GROUP/$CONTROL_PANEL_COMPOSE_DIR/$CONTROL_PANEL_CONFIG_FILE
64
65 if [ ! -z "$NRT_GATEWAY_APP_NAME" ]; then
66     start_gateway $SIM_GROUP/$NRT_GATEWAY_COMPOSE_DIR/$NRT_GATEWAY_CONFIG_FILE
67 fi
68
69 start_cr 1
70
71 CB_JOB="$PROD_STUB_SERVICE_PATH$PROD_STUB_JOB_CALLBACK"
72 CB_SV="$PROD_STUB_SERVICE_PATH$PROD_STUB_SUPERVISION_CALLBACK"
73 TARGET="http://localhost:80/target"  # Dummy target
74
75 NUM_JOBS=10000
76 use_info_jobs=false  #Set flag if interface supporting info-types is used
77 if [[ "$ICS_FEATURE_LEVEL" == *"INFO-TYPES"* ]]; then
78     use_info_jobs=true
79     NUM_JOBS=5000 # 5K ei jobs and 5K info jobs
80 fi
81
82 if [[ "$ICS_FEATURE_LEVEL" == *"TYPE-SUBSCRIPTIONS"* ]]; then
83     #Type registration status callbacks
84     TYPESTATUS1="$CR_SERVICE_APP_PATH_0/type-status1"
85     TYPESTATUS2="$CR_SERVICE_APP_PATH_0/type-status2"
86
87     ics_api_idc_put_subscription 201 subscription-id-1 owner1 $TYPESTATUS1
88
89     ics_api_idc_get_subscription_ids 200 owner1 subscription-id-1
90
91     ics_api_idc_put_subscription 201 subscription-id-2 owner2 $TYPESTATUS2
92
93     ics_api_idc_get_subscription_ids 200 owner2 subscription-id-2
94
95 fi
96
97 # Setup prodstub sim to accept calls for producers, types and jobs
98 prodstub_arm_producer 200 prod-a
99 prodstub_arm_producer 200 prod-b
100 prodstub_arm_producer 200 prod-c
101 prodstub_arm_producer 200 prod-d
102
103 prodstub_arm_type 200 prod-a type1
104
105 prodstub_arm_type 200 prod-b type1
106 prodstub_arm_type 200 prod-b type2
107
108 prodstub_arm_type 200 prod-c type1
109 prodstub_arm_type 200 prod-c type2
110 prodstub_arm_type 200 prod-c type3
111
112 prodstub_arm_type 200 prod-d type4
113 prodstub_arm_type 200 prod-d type5
114
115 for ((i=1; i<=$NUM_JOBS; i++))
116 do
117     if [ $(($i%5)) -eq 0 ]; then
118         prodstub_arm_job_create 200 prod-a job$i
119         prodstub_arm_job_create 200 prod-b job$i
120         prodstub_arm_job_create 200 prod-c job$i
121     fi
122     if [ $(($i%5)) -eq 1 ]; then
123         prodstub_arm_job_create 200 prod-b job$i
124         prodstub_arm_job_create 200 prod-c job$i
125     fi
126     if [ $(($i%5)) -eq 2 ]; then
127         prodstub_arm_job_create 200 prod-c job$i
128     fi
129     if [ $(($i%5)) -eq 3 ]; then
130         prodstub_arm_job_create 200 prod-d job$i
131     fi
132     if [ $(($i%5)) -eq 4 ]; then
133         prodstub_arm_job_create 200 prod-d job$i
134     fi
135 done
136
137 if [ $use_info_jobs ]; then
138     prodstub_arm_producer 200 prod-a
139     prodstub_arm_producer 200 prod-b
140     prodstub_arm_producer 200 prod-c
141     prodstub_arm_producer 200 prod-d
142
143     prodstub_arm_type 200 prod-a type101
144
145     prodstub_arm_type 200 prod-b type101
146     prodstub_arm_type 200 prod-b type102
147
148     prodstub_arm_type 200 prod-c type101
149     prodstub_arm_type 200 prod-c type102
150     prodstub_arm_type 200 prod-c type103
151
152     prodstub_arm_type 200 prod-d type104
153     prodstub_arm_type 200 prod-d type105
154
155     for ((i=1; i<=$NUM_JOBS; i++))
156     do
157         if [ $(($i%5)) -eq 0 ]; then
158             prodstub_arm_job_create 200 prod-a job$(($i+$NUM_JOBS))
159             prodstub_arm_job_create 200 prod-b job$(($i+$NUM_JOBS))
160             prodstub_arm_job_create 200 prod-c job$(($i+$NUM_JOBS))
161         fi
162         if [ $(($i%5)) -eq 1 ]; then
163             prodstub_arm_job_create 200 prod-b job$(($i+$NUM_JOBS))
164             prodstub_arm_job_create 200 prod-c job$(($i+$NUM_JOBS))
165         fi
166         if [ $(($i%5)) -eq 2 ]; then
167             prodstub_arm_job_create 200 prod-c job$(($i+$NUM_JOBS))
168         fi
169         if [ $(($i%5)) -eq 3 ]; then
170             prodstub_arm_job_create 200 prod-d job$(($i+$NUM_JOBS))
171         fi
172         if [ $(($i%5)) -eq 4 ]; then
173             prodstub_arm_job_create 200 prod-d job$(($i+$NUM_JOBS))
174         fi
175     done
176 fi
177
178
179 if [ $ICS_VERSION == "V1-1" ]; then
180
181     ics_api_edp_put_producer 201 prod-a $CB_JOB/prod-a $CB_SV/prod-a type1 testdata/ics/ei-type-1.json
182
183     ics_api_edp_put_producer 201 prod-b $CB_JOB/prod-b $CB_SV/prod-b type1 testdata/ics/ei-type-1.json type2 testdata/ics/ei-type-2.json
184
185     ics_api_edp_put_producer 201 prod-c $CB_JOB/prod-c $CB_SV/prod-c type1 testdata/ics/ei-type-1.json type2 testdata/ics/ei-type-2.json type3 testdata/ics/ei-type-3.json
186
187     ics_api_edp_put_producer 201 prod-d $CB_JOB/prod-d $CB_SV/prod-d type4 testdata/ics/ei-type-4.json type5 testdata/ics/ei-type-5.json
188
189 else
190
191     ics_api_edp_put_type_2 201 type1 testdata/ics/ei-type-1.json
192     ics_api_edp_put_type_2 201 type2 testdata/ics/ei-type-2.json
193     ics_api_edp_put_type_2 201 type3 testdata/ics/ei-type-3.json
194     ics_api_edp_put_type_2 201 type4 testdata/ics/ei-type-4.json
195     ics_api_edp_put_type_2 201 type5 testdata/ics/ei-type-5.json
196
197     ics_api_edp_put_producer_2 201 prod-a $CB_JOB/prod-a $CB_SV/prod-a type1
198
199     ics_api_edp_put_producer_2 201 prod-b $CB_JOB/prod-b $CB_SV/prod-b type1 type2
200
201     ics_api_edp_put_producer_2 201 prod-c $CB_JOB/prod-c $CB_SV/prod-c type1 type2 type3
202
203     ics_api_edp_put_producer_2 201 prod-d $CB_JOB/prod-d $CB_SV/prod-d type4 type5
204
205     if [ $use_info_jobs ]; then
206         ics_api_edp_put_type_2 201 type101 testdata/ics/info-type-1.json
207         ics_api_edp_put_type_2 201 type102 testdata/ics/info-type-2.json
208         ics_api_edp_put_type_2 201 type103 testdata/ics/info-type-3.json
209         ics_api_edp_put_type_2 201 type104 testdata/ics/info-type-4.json
210         ics_api_edp_put_type_2 201 type105 testdata/ics/info-type-5.json
211
212
213
214         if [[ "$ICS_FEATURE_LEVEL" == *"TYPE-SUBSCRIPTIONS"* ]]; then
215             cr_equal 0 received_callbacks 20 30
216             cr_equal 0 received_callbacks?id=type-status1 10
217             cr_equal 0 received_callbacks?id=type-status2 10
218
219             cr_api_check_all_ics_subscription_events 200 0 type-status1 \
220                 type1 testdata/ics/ei-type-1.json REGISTERED \
221                 type2 testdata/ics/ei-type-2.json REGISTERED \
222                 type3 testdata/ics/ei-type-3.json REGISTERED \
223                 type4 testdata/ics/ei-type-4.json REGISTERED \
224                 type5 testdata/ics/ei-type-5.json REGISTERED \
225                 type101 testdata/ics/info-type-1.json REGISTERED \
226                 type102 testdata/ics/info-type-2.json REGISTERED \
227                 type103 testdata/ics/info-type-3.json REGISTERED \
228                 type104 testdata/ics/info-type-4.json REGISTERED \
229                 type105 testdata/ics/info-type-5.json REGISTERED
230
231             cr_api_check_all_ics_subscription_events 200 0 type-status2 \
232                 type1 testdata/ics/ei-type-1.json REGISTERED \
233                 type2 testdata/ics/ei-type-2.json REGISTERED \
234                 type3 testdata/ics/ei-type-3.json REGISTERED \
235                 type4 testdata/ics/ei-type-4.json REGISTERED \
236                 type5 testdata/ics/ei-type-5.json REGISTERED \
237                 type101 testdata/ics/info-type-1.json REGISTERED \
238                 type102 testdata/ics/info-type-2.json REGISTERED \
239                 type103 testdata/ics/info-type-3.json REGISTERED \
240                 type104 testdata/ics/info-type-4.json REGISTERED \
241                 type105 testdata/ics/info-type-5.json REGISTERED
242
243         fi
244
245         ics_api_edp_put_producer_2 200 prod-a $CB_JOB/prod-a $CB_SV/prod-a type1 type101
246
247         ics_api_edp_put_producer_2 200 prod-b $CB_JOB/prod-b $CB_SV/prod-b type1 type2 type101 type102
248
249         ics_api_edp_put_producer_2 200 prod-c $CB_JOB/prod-c $CB_SV/prod-c type1 type2 type3 type101 type102 type103
250
251         ics_api_edp_put_producer_2 200 prod-d $CB_JOB/prod-d $CB_SV/prod-d type4 type5 type104 type105
252     fi
253 fi
254
255 if [ $use_info_jobs ]; then
256     ics_equal json:data-producer/v1/info-producers 4
257 else
258     ics_equal json:ei-producer/v1/eiproducers 4
259 fi
260
261 ics_api_edp_get_producer_status 200 prod-a ENABLED
262 ics_api_edp_get_producer_status 200 prod-b ENABLED
263 ics_api_edp_get_producer_status 200 prod-c ENABLED
264 ics_api_edp_get_producer_status 200 prod-d ENABLED
265
266 for ((i=1; i<=$NUM_JOBS; i++))
267 do
268     if [ $(($i%5)) -eq 0 ]; then
269         ics_api_a1_put_job 201 job$i type1 $TARGET ric1 $CR_SERVICE_APP_PATH_0/job_status_ric1 testdata/ics/job-template.json
270         if [  -z "$FLAT_A1_EI" ]; then
271             ics_api_a1_get_job_status 200 type1 job$i ENABLED
272         else
273             ics_api_a1_get_job_status 200 job$i ENABLED 120
274         fi
275         if [ $use_info_jobs ]; then
276             ics_api_idc_put_job 201 job$(($i+$NUM_JOBS)) type101 $TARGET info-owner $CR_SERVICE_APP_PATH_0/job_status_info-owner testdata/ics/job-template.json VALIDATE
277             ics_api_idc_get_job_status2 200 job$(($i+$NUM_JOBS)) ENABLED 3 prod-a prod-b prod-c 120
278         fi
279     fi
280     if [ $(($i%5)) -eq 1 ]; then
281         ics_api_a1_put_job 201 job$i type2 $TARGET ric1 $CR_SERVICE_APP_PATH_0/job_status_ric1 testdata/ics/job-template.json
282         if [  -z "$FLAT_A1_EI" ]; then
283             ics_api_a1_get_job_status 200 type2 job$i ENABLED
284         else
285             ics_api_a1_get_job_status 200 job$i ENABLED 120
286         fi
287         if [ $use_info_jobs ]; then
288             ics_api_idc_put_job 201 job$(($i+$NUM_JOBS)) type102 $TARGET info-owner $CR_SERVICE_APP_PATH_0/job_status_info-owner testdata/ics/job-template.json VALIDATE
289             ics_api_idc_get_job_status2 200 job$(($i+$NUM_JOBS)) ENABLED 2 prod-b prod-c 120
290         fi
291     fi
292     if [ $(($i%5)) -eq 2 ]; then
293         ics_api_a1_put_job 201 job$i type3 $TARGET ric1 $CR_SERVICE_APP_PATH_0/job_status_ric1 testdata/ics/job-template.json
294         if [  -z "$FLAT_A1_EI" ]; then
295             ics_api_a1_get_job_status 200 type3 job$i ENABLED
296         else
297             ics_api_a1_get_job_status 200 job$i ENABLED 120
298         fi
299         if [ $use_info_jobs ]; then
300             ics_api_idc_put_job 201 job$(($i+$NUM_JOBS)) type103 $TARGET info-owner $CR_SERVICE_APP_PATH_0/job_status_info-owner testdata/ics/job-template.json VALIDATE
301             ics_api_idc_get_job_status2 200 job$(($i+$NUM_JOBS)) ENABLED 1 prod-c 120
302         fi
303     fi
304     if [ $(($i%5)) -eq 3 ]; then
305         ics_api_a1_put_job 201 job$i type4 $TARGET ric1 $CR_SERVICE_APP_PATH_0/job_status_ric1 testdata/ics/job-template.json
306         if [  -z "$FLAT_A1_EI" ]; then
307             ics_api_a1_get_job_status 200 type4 job$i ENABLED
308         else
309             ics_api_a1_get_job_status 200 job$i ENABLED 120
310         fi
311         if [ $use_info_jobs ]; then
312             ics_api_idc_put_job 201 job$(($i+$NUM_JOBS)) type104 $TARGET info-owner $CR_SERVICE_APP_PATH_0/job_status_info-owner testdata/ics/job-template.json VALIDATE
313             ics_api_idc_get_job_status2 200 job$(($i+$NUM_JOBS)) ENABLED 1 prod-d 120
314         fi
315     fi
316     if [ $(($i%5)) -eq 4 ]; then
317         ics_api_a1_put_job 201 job$i type5 $TARGET ric1 $CR_SERVICE_APP_PATH_0/job_status_ric1 testdata/ics/job-template.json
318         if [  -z "$FLAT_A1_EI" ]; then
319             ics_api_a1_get_job_status 200 type5 job$i ENABLED
320         else
321             ics_api_a1_get_job_status 200 job$i ENABLED 120
322         fi
323         if [ $use_info_jobs ]; then
324             ics_api_idc_put_job 201 job$(($i+$NUM_JOBS)) type105 $TARGET info-owner $CR_SERVICE_APP_PATH_0/job_status_info-owner testdata/ics/job-template.json VALIDATE
325             ics_api_idc_get_job_status2 200 job$(($i+$NUM_JOBS)) ENABLED 1 prod-d 120
326         fi
327     fi
328 done
329
330 if [  -z "$FLAT_A1_EI" ]; then
331     ics_equal json:A1-EI/v1/eitypes/type1/eijobs $(($NUM_JOBS/5))
332     ics_equal json:A1-EI/v1/eitypes/type2/eijobs $(($NUM_JOBS/5))
333     ics_equal json:A1-EI/v1/eitypes/type3/eijobs $(($NUM_JOBS/5))
334     ics_equal json:A1-EI/v1/eitypes/type4/eijobs $(($NUM_JOBS/5))
335     ics_equal json:A1-EI/v1/eitypes/type5/eijobs $(($NUM_JOBS/5))
336 else
337     ics_equal json:A1-EI/v1/eijobs?eiTypeId=type1 $(($NUM_JOBS/5))
338     ics_equal json:A1-EI/v1/eijobs?eiTypeId=type2 $(($NUM_JOBS/5))
339     ics_equal json:A1-EI/v1/eijobs?eiTypeId=type3 $(($NUM_JOBS/5))
340     ics_equal json:A1-EI/v1/eijobs?eiTypeId=type4 $(($NUM_JOBS/5))
341     ics_equal json:A1-EI/v1/eijobs?eiTypeId=type5 $(($NUM_JOBS/5))
342 fi
343 if [ $use_info_jobs ]; then
344     ics_equal json:data-consumer/v1/info-jobs?infoTypeId=type101 $(($NUM_JOBS/5))
345     ics_equal json:data-consumer/v1/info-jobs?infoTypeId=type102 $(($NUM_JOBS/5))
346     ics_equal json:data-consumer/v1/info-jobs?infoTypeId=type103 $(($NUM_JOBS/5))
347     ics_equal json:data-consumer/v1/info-jobs?infoTypeId=type104 $(($NUM_JOBS/5))
348     ics_equal json:data-consumer/v1/info-jobs?infoTypeId=type105 $(($NUM_JOBS/5))
349 fi
350
351 if [[ "$ICS_FEATURE_LEVEL" == *"TYPE-SUBSCRIPTIONS"* ]]; then
352     cr_equal 0 received_callbacks 20 30
353
354 else
355     cr_equal 0 received_callbacks 0 30
356
357 fi
358
359
360 if [[ "$ICS_FEATURE_LEVEL" == *"TYPE-SUBSCRIPTIONS"* ]]; then
361
362     ics_equal json:/data-consumer/v1/info-type-subscription 2 200
363
364     ics_api_idc_get_subscription_ids 200 owner1 subscription-id-1
365     ics_api_idc_get_subscription_ids 200 owner2 subscription-id-2
366
367     if [ $use_info_jobs ]; then
368         ics_equal json:data-producer/v1/info-types 10 1000
369     else
370         ics_equal json:ei-producer/v1/eitypes 5 1000
371     fi
372
373 fi
374
375 stop_ics
376
377 cr_api_reset 0
378
379 start_stopped_ics
380
381 set_ics_trace
382
383 if [[ "$ICS_FEATURE_LEVEL" == *"TYPE-SUBSCRIPTIONS"* ]]; then
384
385     ics_equal json:/data-consumer/v1/info-type-subscription 2 200
386
387     ics_api_idc_get_subscription_ids 200 owner1 subscription-id-1
388     ics_api_idc_get_subscription_ids 200 owner2 subscription-id-2
389
390     if [ $use_info_jobs ]; then
391         ics_equal json:data-producer/v1/info-types 10 1000
392     else
393         ics_equal json:ei-producer/v1/eitypes 5 1000
394     fi
395 fi
396
397 cr_equal 0 received_callbacks 0
398
399 for ((i=1; i<=$NUM_JOBS; i++))
400 do
401     if [ $(($i%5)) -eq 0 ]; then
402         prodstub_delete_jobdata 204 prod-a job$i
403         prodstub_delete_jobdata 204 prod-b job$i
404         prodstub_delete_jobdata 204 prod-c job$i
405         if [ $use_info_jobs ]; then
406             prodstub_delete_jobdata 204 prod-a job$(($i+$NUM_JOBS))
407             prodstub_delete_jobdata 204 prod-b job$(($i+$NUM_JOBS))
408             prodstub_delete_jobdata 204 prod-c job$(($i+$NUM_JOBS))
409         fi
410     fi
411     if [ $(($i%5)) -eq 1 ]; then
412         prodstub_delete_jobdata 204 prod-b job$i
413         prodstub_delete_jobdata 204 prod-c job$i
414         if [ $use_info_jobs ]; then
415             prodstub_delete_jobdata 204 prod-b job$(($i+$NUM_JOBS))
416             prodstub_delete_jobdata 204 prod-c job$(($i+$NUM_JOBS))
417         fi
418     fi
419     if [ $(($i%5)) -eq 2 ]; then
420         prodstub_delete_jobdata 204 prod-c job$i
421         if [ $use_info_jobs ]; then
422             prodstub_delete_jobdata 204 prod-c job$(($i+$NUM_JOBS))
423         fi
424     fi
425     if [ $(($i%5)) -eq 3 ]; then
426         prodstub_delete_jobdata 204 prod-d job$i
427         if [ $use_info_jobs ]; then
428             prodstub_delete_jobdata 204 prod-d job$(($i+$NUM_JOBS))
429         fi
430     fi
431     if [ $(($i%5)) -eq 4 ]; then
432         prodstub_delete_jobdata 204 prod-d job$i
433         if [ $use_info_jobs ]; then
434             prodstub_delete_jobdata 204 prod-d job$(($i+$NUM_JOBS))
435         fi
436     fi
437 done
438
439 ics_api_edp_get_producer_status 404 prod-a
440 ics_api_edp_get_producer_status 404 prod-b
441 ics_api_edp_get_producer_status 404 prod-c
442 ics_api_edp_get_producer_status 404 prod-d
443
444 for ((i=1; i<=$NUM_JOBS; i++))
445 do
446     if [ $(($i%5)) -eq 0 ]; then
447         if [  -z "$FLAT_A1_EI" ]; then
448             ics_api_a1_get_job_status 200 type1 job$i DISABLED
449         else
450             ics_api_a1_get_job_status 200 job$i DISABLED 120
451         fi
452         if [ $use_info_jobs ]; then
453             ics_api_idc_get_job_status2 200 job$(($i+$NUM_JOBS)) DISABLED EMPTYPROD 120
454         fi
455     fi
456     if [ $(($i%5)) -eq 1 ]; then
457         if [  -z "$FLAT_A1_EI" ]; then
458             ics_api_a1_get_job_status 200 type2 job$i DISABLED
459         else
460             ics_api_a1_get_job_status 200 job$i DISABLED 120
461         fi
462         if [ $use_info_jobs ]; then
463             ics_api_idc_get_job_status2 200 job$(($i+$NUM_JOBS)) DISABLED EMPTYPROD 120
464         fi
465     fi
466     if [ $(($i%5)) -eq 2 ]; then
467         if [  -z "$FLAT_A1_EI" ]; then
468             ics_api_a1_get_job_status 200 type3 job$i DISABLED
469         else
470             ics_api_a1_get_job_status 200 job$i DISABLED 120
471         fi
472         if [ $use_info_jobs ]; then
473             ics_api_idc_get_job_status2 200 job$(($i+$NUM_JOBS)) DISABLED EMPTYPROD 120
474         fi
475     fi
476     if [ $(($i%5)) -eq 3 ]; then
477         if [  -z "$FLAT_A1_EI" ]; then
478             ics_api_a1_get_job_status 200 type4 job$i DISABLED
479         else
480             ics_api_a1_get_job_status 200 job$i DISABLED 120
481         fi
482         if [ $use_info_jobs ]; then
483             ics_api_idc_get_job_status2 200 job$(($i+$NUM_JOBS)) DISABLED EMPTYPROD 120
484         fi
485     fi
486     if [ $(($i%5)) -eq 4 ]; then
487         if [  -z "$FLAT_A1_EI" ]; then
488             ics_api_a1_get_job_status 200 type5 job$i DISABLED
489         else
490             ics_api_a1_get_job_status 200 job$i DISABLED 120
491         fi
492         if [ $use_info_jobs ]; then
493             ics_api_idc_get_job_status2 200 job$(($i+$NUM_JOBS)) DISABLED EMPTYPROD 120
494         fi
495     fi
496 done
497
498 if [ $ICS_VERSION == "V1-1" ]; then
499
500     ics_api_edp_put_producer 201 prod-a $CB_JOB/prod-a $CB_SV/prod-a type1 testdata/ics/ei-type-1.json
501
502     ics_api_edp_put_producer 201 prod-b $CB_JOB/prod-b $CB_SV/prod-b type1 testdata/ics/ei-type-1.json type2 testdata/ics/ei-type-2.json
503
504     ics_api_edp_put_producer 201 prod-c $CB_JOB/prod-c $CB_SV/prod-c type1 testdata/ics/ei-type-1.json type2 testdata/ics/ei-type-2.json type3 testdata/ics/ei-type-3.json
505
506     ics_api_edp_put_producer 201 prod-d $CB_JOB/prod-d $CB_SV/prod-d type4 testdata/ics/ei-type-4.json type5 testdata/ics/ei-type-5.json
507
508 else
509     if [ $use_info_jobs ]; then
510         ics_api_edp_put_producer_2 201 prod-a $CB_JOB/prod-a $CB_SV/prod-a type1  type101
511
512         ics_api_edp_put_producer_2 201 prod-b $CB_JOB/prod-b $CB_SV/prod-b type1 type2  type101 type102
513
514         ics_api_edp_put_producer_2 201 prod-c $CB_JOB/prod-c $CB_SV/prod-c type1 type2 type3  type101 type102 type103
515
516         ics_api_edp_put_producer_2 201 prod-d $CB_JOB/prod-d $CB_SV/prod-d type4 type5  type104 type105
517     else
518         ics_api_edp_put_producer_2 201 prod-a $CB_JOB/prod-a $CB_SV/prod-a type1
519
520         ics_api_edp_put_producer_2 201 prod-b $CB_JOB/prod-b $CB_SV/prod-b type1 type2
521
522         ics_api_edp_put_producer_2 201 prod-c $CB_JOB/prod-c $CB_SV/prod-c type1 type2 type3
523
524         ics_api_edp_put_producer_2 201 prod-d $CB_JOB/prod-d $CB_SV/prod-d type4 type5
525     fi
526
527 fi
528
529 if [ $use_info_jobs ]; then
530     ics_equal json:data-producer/v1/info-producers 4
531 else
532     ics_equal json:ei-producer/v1/eiproducers 4
533 fi
534
535 ics_api_edp_get_producer_status 200 prod-a ENABLED
536 ics_api_edp_get_producer_status 200 prod-b ENABLED
537 ics_api_edp_get_producer_status 200 prod-c ENABLED
538 ics_api_edp_get_producer_status 200 prod-d ENABLED
539
540 for ((i=1; i<=$NUM_JOBS; i++))
541 do
542     if [ $(($i%5)) -eq 0 ]; then
543         if [  -z "$FLAT_A1_EI" ]; then
544             ics_api_a1_get_job_status 200 type1 job$i ENABLED
545         else
546             ics_api_a1_get_job_status 200 job$i ENABLED 120
547         fi
548         if [ $use_info_jobs ]; then
549             ics_api_idc_get_job_status2 200 job$(($i+$NUM_JOBS)) ENABLED 3 prod-a prod-b prod-c 120
550         fi
551     fi
552     if [ $(($i%5)) -eq 1 ]; then
553         if [  -z "$FLAT_A1_EI" ]; then
554             ics_api_a1_get_job_status 200 type2 job$i ENABLED
555         else
556             ics_api_a1_get_job_status 200 job$i ENABLED 120
557         fi
558         if [ $use_info_jobs ]; then
559             ics_api_idc_get_job_status2 200 job$(($i+$NUM_JOBS)) ENABLED 2 prod-b prod-c 120
560         fi
561     fi
562     if [ $(($i%5)) -eq 2 ]; then
563         if [  -z "$FLAT_A1_EI" ]; then
564             ics_api_a1_get_job_status 200 type3 job$i ENABLED
565         else
566             ics_api_a1_get_job_status 200 job$i ENABLED 120
567         fi
568         if [ $use_info_jobs ]; then
569             ics_api_idc_get_job_status2 200 job$(($i+$NUM_JOBS)) ENABLED 1 prod-c 120
570         fi
571     fi
572     if [ $(($i%5)) -eq 3 ]; then
573         if [  -z "$FLAT_A1_EI" ]; then
574             ics_api_a1_get_job_status 200 type4 job$i ENABLED
575         else
576             ics_api_a1_get_job_status 200 job$i ENABLED 120
577         fi
578         if [ $use_info_jobs ]; then
579             ics_api_idc_get_job_status2 200 job$(($i+$NUM_JOBS)) ENABLED 1 prod-d 120
580         fi
581     fi
582     if [ $(($i%5)) -eq 4 ]; then
583         if [  -z "$FLAT_A1_EI" ]; then
584             ics_api_a1_get_job_status 200 type5 job$i ENABLED
585         else
586             ics_api_a1_get_job_status 200 job$i ENABLED 120
587         fi
588         if [ $use_info_jobs ]; then
589             ics_api_idc_get_job_status2 200 job$(($i+$NUM_JOBS)) ENABLED 1 prod-d 120
590         fi
591     fi
592 done
593
594
595 if [  -z "$FLAT_A1_EI" ]; then
596     ics_equal json:A1-EI/v1/eitypes/type1/eijobs $(($NUM_JOBS/5))
597     ics_equal json:A1-EI/v1/eitypes/type2/eijobs $(($NUM_JOBS/5))
598     ics_equal json:A1-EI/v1/eitypes/type3/eijobs $(($NUM_JOBS/5))
599     ics_equal json:A1-EI/v1/eitypes/type4/eijobs $(($NUM_JOBS/5))
600     ics_equal json:A1-EI/v1/eitypes/type5/eijobs $(($NUM_JOBS/5))
601 else
602     ics_equal json:A1-EI/v1/eijobs?eiTypeId=type1 $(($NUM_JOBS/5))
603     ics_equal json:A1-EI/v1/eijobs?eiTypeId=type2 $(($NUM_JOBS/5))
604     ics_equal json:A1-EI/v1/eijobs?eiTypeId=type3 $(($NUM_JOBS/5))
605     ics_equal json:A1-EI/v1/eijobs?eiTypeId=type4 $(($NUM_JOBS/5))
606     ics_equal json:A1-EI/v1/eijobs?eiTypeId=type5 $(($NUM_JOBS/5))
607 fi
608
609 if [ $use_info_jobs ]; then
610     ics_equal json:data-consumer/v1/info-jobs?infoTypeId=type101 $(($NUM_JOBS/5))
611     ics_equal json:data-consumer/v1/info-jobs?infoTypeId=type102 $(($NUM_JOBS/5))
612     ics_equal json:data-consumer/v1/info-jobs?infoTypeId=type103 $(($NUM_JOBS/5))
613     ics_equal json:data-consumer/v1/info-jobs?infoTypeId=type104 $(($NUM_JOBS/5))
614     ics_equal json:data-consumer/v1/info-jobs?infoTypeId=type105 $(($NUM_JOBS/5))
615 fi
616
617 for ((i=1; i<=$NUM_JOBS; i++))
618 do
619     if [ $(($i%5)) -eq 0 ]; then
620         if [ $ICS_VERSION == "V1-1" ]; then
621             prodstub_check_jobdata 200 prod-a job$i type1 $TARGET ric1 testdata/ics/job-template.json
622             prodstub_check_jobdata 200 prod-b job$i type1 $TARGET ric1 testdata/ics/job-template.json
623             prodstub_check_jobdata 200 prod-c job$i type1 $TARGET ric1 testdata/ics/job-template.json
624         else
625             if [ $use_info_jobs ]; then
626                 prodstub_check_jobdata_3 200 prod-a job$i type1 $TARGET ric1 testdata/ics/job-template.json
627                 prodstub_check_jobdata_3 200 prod-b job$i type1 $TARGET ric1 testdata/ics/job-template.json
628                 prodstub_check_jobdata_3 200 prod-c job$i type1 $TARGET ric1 testdata/ics/job-template.json
629             else
630                 prodstub_check_jobdata_2 200 prod-a job$i type1 $TARGET ric1 testdata/ics/job-template.json
631                 prodstub_check_jobdata_2 200 prod-b job$i type1 $TARGET ric1 testdata/ics/job-template.json
632                 prodstub_check_jobdata_2 200 prod-c job$i type1 $TARGET ric1 testdata/ics/job-template.json
633             fi
634         fi
635         if [ $use_info_jobs ]; then
636             prodstub_check_jobdata_3 200 prod-a job$(($i+$NUM_JOBS)) type101 $TARGET info-owner testdata/ics/job-template.json
637             prodstub_check_jobdata_3 200 prod-b job$(($i+$NUM_JOBS)) type101 $TARGET info-owner testdata/ics/job-template.json
638             prodstub_check_jobdata_3 200 prod-c job$(($i+$NUM_JOBS)) type101 $TARGET info-owner testdata/ics/job-template.json
639         fi
640
641     fi
642     if [ $(($i%5)) -eq 1 ]; then
643         if [ $ICS_VERSION == "V1-1" ]; then
644             prodstub_check_jobdata 200 prod-b job$i type2 $TARGET ric1 testdata/ics/job-template.json
645             prodstub_check_jobdata 200 prod-c job$i type2 $TARGET ric1 testdata/ics/job-template.json
646         else
647             if [ $use_info_jobs ]; then
648                 prodstub_check_jobdata_3 200 prod-b job$i type2 $TARGET ric1 testdata/ics/job-template.json
649                 prodstub_check_jobdata_3 200 prod-c job$i type2 $TARGET ric1 testdata/ics/job-template.json
650             else
651                 prodstub_check_jobdata_2 200 prod-b job$i type2 $TARGET ric1 testdata/ics/job-template.json
652                 prodstub_check_jobdata_2 200 prod-c job$i type2 $TARGET ric1 testdata/ics/job-template.json
653             fi
654         fi
655         if [ $use_info_jobs ]; then
656             prodstub_check_jobdata_3 200 prod-b job$(($i+$NUM_JOBS)) type102 $TARGET info-owner testdata/ics/job-template.json
657             prodstub_check_jobdata_3 200 prod-c job$(($i+$NUM_JOBS)) type102 $TARGET info-owner testdata/ics/job-template.json
658         fi
659     fi
660     if [ $(($i%5)) -eq 2 ]; then
661         if [ $ICS_VERSION == "V1-1" ]; then
662             prodstub_check_jobdata 200 prod-c job$i type3 $TARGET ric1 testdata/ics/job-template.json
663         else
664             if [ $use_info_jobs ]; then
665                 prodstub_check_jobdata_3 200 prod-c job$i type3 $TARGET ric1 testdata/ics/job-template.json
666             else
667                 prodstub_check_jobdata_2 200 prod-c job$i type3 $TARGET ric1 testdata/ics/job-template.json
668             fi
669         fi
670         if [ $use_info_jobs ]; then
671             prodstub_check_jobdata_3 200 prod-c job$(($i+$NUM_JOBS)) type103 $TARGET info-owner testdata/ics/job-template.json
672         fi
673     fi
674     if [ $(($i%5)) -eq 3 ]; then
675         if [ $ICS_VERSION == "V1-1" ]; then
676             prodstub_check_jobdata 200 prod-d job$i type4 $TARGET ric1 testdata/ics/job-template.json
677         else
678             if [ $use_info_jobs ]; then
679                 prodstub_check_jobdata_3 200 prod-d job$i type4 $TARGET ric1 testdata/ics/job-template.json
680             else
681                 prodstub_check_jobdata_2 200 prod-d job$i type4 $TARGET ric1 testdata/ics/job-template.json
682             fi
683         fi
684         if [ $use_info_jobs ]; then
685             prodstub_check_jobdata_3 200 prod-d job$(($i+$NUM_JOBS)) type104 $TARGET info-owner testdata/ics/job-template.json
686         fi
687     fi
688     if [ $(($i%5)) -eq 4 ]; then
689         if [ $ICS_VERSION == "V1-1" ]; then
690             prodstub_check_jobdata 200 prod-d job$i type5 $TARGET ric1 testdata/ics/job-template.json
691         else
692             if [ $use_info_jobs ]; then
693                 prodstub_check_jobdata_3 200 prod-d job$i type5 $TARGET ric1 testdata/ics/job-template.json
694             else
695                 prodstub_check_jobdata_2 200 prod-d job$i type5 $TARGET ric1 testdata/ics/job-template.json
696             fi
697         fi
698         if [ $use_info_jobs ]; then
699             prodstub_check_jobdata_3 200 prod-d job$(($i+$NUM_JOBS)) type105 $TARGET info-owner testdata/ics/job-template.json
700         fi
701     fi
702 done
703
704
705 for ((i=1; i<=$NUM_JOBS; i++))
706 do
707     if [ $(($i%5)) -eq 0 ]; then
708         ics_api_a1_delete_job 204 job$i
709         if [ $use_info_jobs ]; then
710             ics_api_idc_delete_job 204 job$(($i+$NUM_JOBS))
711         fi
712     fi
713     if [ $(($i%5)) -eq 1 ]; then
714         ics_api_a1_delete_job 204 job$i
715         if [ $use_info_jobs ]; then
716             ics_api_idc_delete_job 204 job$(($i+$NUM_JOBS))
717         fi
718     fi
719     if [ $(($i%5)) -eq 2 ]; then
720         ics_api_a1_delete_job 204 job$i
721         if [ $use_info_jobs ]; then
722             ics_api_idc_delete_job 204 job$(($i+$NUM_JOBS))
723         fi
724     fi
725     if [ $(($i%5)) -eq 3 ]; then
726         ics_api_a1_delete_job 204 job$i
727         if [ $use_info_jobs ]; then
728             ics_api_idc_delete_job 204 job$(($i+$NUM_JOBS))
729         fi
730     fi
731     if [ $(($i%5)) -eq 4 ]; then
732         ics_api_a1_delete_job 204 job$i
733         if [ $use_info_jobs ]; then
734             ics_api_idc_delete_job 204 job$(($i+$NUM_JOBS))
735         fi
736     fi
737 done
738
739 if [ $use_info_jobs ]; then
740     ics_equal json:data-producer/v1/info-producers 4
741 else
742     ics_equal json:ei-producer/v1/eiproducers 4
743 fi
744
745 ics_api_edp_get_producer_status 200 prod-a ENABLED
746 ics_api_edp_get_producer_status 200 prod-b ENABLED
747 ics_api_edp_get_producer_status 200 prod-c ENABLED
748 ics_api_edp_get_producer_status 200 prod-d ENABLED
749
750 if [  -z "$FLAT_A1_EI" ]; then
751     ics_equal json:A1-EI/v1/eitypes/type1/eijobs 0
752     ics_equal json:A1-EI/v1/eitypes/type2/eijobs 0
753     ics_equal json:A1-EI/v1/eitypes/type3/eijobs 0
754     ics_equal json:A1-EI/v1/eitypes/type4/eijobs 0
755     ics_equal json:A1-EI/v1/eitypes/type5/eijobs 0
756 else
757     ics_equal json:A1-EI/v1/eijobs?eiTypeId=type1 0
758     ics_equal json:A1-EI/v1/eijobs?eiTypeId=type2 0
759     ics_equal json:A1-EI/v1/eijobs?eiTypeId=type3 0
760     ics_equal json:A1-EI/v1/eijobs?eiTypeId=type4 0
761     ics_equal json:A1-EI/v1/eijobs?eiTypeId=type5 0
762 fi
763
764 if [ $use_info_jobs ]; then
765     ics_equal json:data-consumer/v1/info-jobs?infoTypeId=type101 0
766     ics_equal json:data-consumer/v1/info-jobs?infoTypeId=type102 0
767     ics_equal json:data-consumer/v1/info-jobs?infoTypeId=type103 0
768     ics_equal json:data-consumer/v1/info-jobs?infoTypeId=type104 0
769     ics_equal json:data-consumer/v1/info-jobs?infoTypeId=type105 0
770 fi
771
772 if [ $use_info_jobs ]; then
773     if [[ "$ICS_FEATURE_LEVEL" == *"TYPE-SUBSCRIPTIONS"* ]]; then
774         ics_api_edp_put_type_2 200 type101 testdata/ics/info-type-1.json
775         ics_api_edp_put_type_2 200 type102 testdata/ics/info-type-2.json
776         ics_api_edp_put_type_2 200 type103 testdata/ics/info-type-3.json
777         ics_api_edp_put_type_2 200 type104 testdata/ics/info-type-4.json
778         ics_api_edp_put_type_2 200 type105 testdata/ics/info-type-5.json
779     fi
780 fi
781
782 if [[ "$ICS_FEATURE_LEVEL" == *"TYPE-SUBSCRIPTIONS"* ]]; then
783     cr_equal 0 received_callbacks 10 30
784     cr_equal 0 received_callbacks?id=type-status1 5
785     cr_equal 0 received_callbacks?id=type-status2 5
786
787     cr_api_check_all_ics_subscription_events 200 0 type-status1 \
788         type101 testdata/ics/info-type-1.json REGISTERED \
789         type102 testdata/ics/info-type-2.json REGISTERED \
790         type103 testdata/ics/info-type-3.json REGISTERED \
791         type104 testdata/ics/info-type-4.json REGISTERED \
792         type105 testdata/ics/info-type-5.json REGISTERED
793
794     cr_api_check_all_ics_subscription_events 200 0 type-status2 \
795         type101 testdata/ics/info-type-1.json REGISTERED \
796         type102 testdata/ics/info-type-2.json REGISTERED \
797         type103 testdata/ics/info-type-3.json REGISTERED \
798         type104 testdata/ics/info-type-4.json REGISTERED \
799         type105 testdata/ics/info-type-5.json REGISTERED
800
801 else
802     cr_equal 0 received_callbacks 0 30
803 fi
804
805 check_ics_logs
806
807 store_logs END
808
809 #### TEST COMPLETE ####
810
811
812 print_result
813
814 auto_clean_environment