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