6a1428dff5f43bfeeb5b7711c08aeef058952b5d
[nonrtric.git] / test / auto-test / FTC3000.sh
1 #!/usr/bin/env 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 TC_ONELINE_DESCR="App test DMAAP Meditor and DMAAP Adapter"
21
22 #App names to include in the test when running docker, space separated list
23 DOCKER_INCLUDED_IMAGES="ICS DMAAPMED DMAAPADP KUBEPROXY MR DMAAPMR CR KAFKAPC"
24
25 #App names to include in the test when running kubernetes, space separated list
26 KUBE_INCLUDED_IMAGES=" ICS DMAAPMED DMAAPADP KUBEPROXY MR DMAAPMR CR KAFKAPC"
27
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=""
35
36 #Supported test environment profiles
37 SUPPORTED_PROFILES="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 #Local vars in test script
48 ##########################
49 FLAT_A1_EI="1"
50 NUM_CR=10 # Number of callback receivers, divide all callbacks to this number of servers - for load sharing
51 ## Note: The number jobs must be a multiple of the number of CRs in order to calculate the number of expected event in each CR
52 NUM_JOBS=200  # Mediator and adapter gets same number of jobs for every type
53 if [ $NUM_JOBS -lt $NUM_CR ]; then
54     __log_conf_fail_general "Number of jobs: $NUM_JOBS must be greater then the number of CRs: $NUM_CR"
55 fi
56
57 clean_environment
58
59 #use_cr_https
60 use_cr_http
61 use_ics_rest_https
62 use_mr_https
63 use_dmaapadp_https
64 use_dmaapmed_https
65
66 start_kube_proxy
67
68 start_cr $NUM_CR
69
70 start_ics NOPROXY $SIM_GROUP/$ICS_COMPOSE_DIR/$ICS_CONFIG_FILE
71
72 set_ics_trace
73
74 start_mr    "unauthenticated.dmaapmed.json" "/events" "dmaapmediatorproducer/STD_Fault_Messages" \
75             "unauthenticated.dmaapadp.json" "/events" "dmaapadapterproducer/msgs"
76
77 start_kafkapc
78
79 kafkapc_api_create_topic 201 "unauthenticated.dmaapadp_kafka.text" "text/plain"
80
81 kafkapc_api_start_sending 200 "unauthenticated.dmaapadp_kafka.text"
82
83 start_dmaapadp NOPROXY $SIM_GROUP/$DMAAP_ADP_COMPOSE_DIR/$DMAAP_ADP_CONFIG_FILE $SIM_GROUP/$DMAAP_ADP_COMPOSE_DIR/$DMAAP_ADP_DATA_FILE
84
85 set_dmaapadp_trace
86
87 if [[ "$DMAAP_MED_FEATURE_LEVEL" == *"KAFKATYPES"* ]]; then
88     kafkapc_api_create_topic 201 "unauthenticated.dmaapmed_kafka.text" "text/plain"
89
90     kafkapc_api_start_sending 200 "unauthenticated.dmaapmed_kafka.text"
91 fi
92
93 start_dmaapmed NOPROXY $SIM_GROUP/$DMAAP_MED_COMPOSE_DIR/$DMAAP_MED_HOST_DATA_FILE
94
95 ics_equal json:data-producer/v1/info-producers 2 60
96
97 # Check producers
98 ics_api_idc_get_job_ids 200 NOTYPE NOWNER EMPTY
99 ics_api_edp_get_producer_ids_2 200 NOTYPE DmaapGenericInfoProducer DMaaP_Mediator_Producer
100 if [[ "$DMAAP_MED_FEATURE_LEVEL" != *"KAFKATYPES"* ]]; then
101     ics_api_idc_get_type_ids 200 ExampleInformationType STD_Fault_Messages ExampleInformationTypeKafka
102 else
103     ics_api_idc_get_type_ids 200 ExampleInformationType STD_Fault_Messages ExampleInformationTypeKafka Kafka_TestTopic
104 fi
105
106
107 # Create jobs for adapter - CR stores data as MD5 hash
108 start_timer "Create adapter jobs: $NUM_JOBS"
109 for ((i=1; i<=$NUM_JOBS; i++))
110 do
111     cr_index=$(($i%$NUM_CR))
112     service_mr="CR_SERVICE_MR_PATH_"$cr_index
113     service_app="CR_SERVICE_APP_PATH_"$cr_index
114     ics_api_idc_put_job 201 job-adp-$i ExampleInformationType ${!service_mr}/job-adp-data$i"?storeas=md5" info-owner-adp-$i ${!service_app}/job_status_info-owner-adp-$i testdata/dmaap-adapter/job-template.json
115
116 done
117 print_timer
118
119 # Create jobs for adapter kafka - CR stores data as MD5 hash
120 start_timer "Create adapter (kafka) jobs: $NUM_JOBS"
121 for ((i=1; i<=$NUM_JOBS; i++))
122 do
123     cr_index=$(($i%$NUM_CR))
124     service_text="CR_SERVICE_TEXT_PATH_"$cr_index
125     service_app="CR_SERVICE_APP_PATH_"$cr_index
126     ics_api_idc_put_job 201 job-adp-kafka-$i ExampleInformationTypeKafka ${!service_text}/job-adp-kafka-data$i"?storeas=md5" info-owner-adp-kafka-$i ${!service_app}/job_status_info-owner-adp-kafka-$i testdata/dmaap-adapter/job-template-1-kafka.json
127
128 done
129 print_timer
130
131 # Create jobs for mediator - CR stores data as MD5 hash
132 start_timer "Create mediator jobs: $NUM_JOBS"
133 for ((i=1; i<=$NUM_JOBS; i++))
134 do
135     cr_index=$(($i%$NUM_CR))
136     service_mr="CR_SERVICE_MR_PATH_"$cr_index
137     service_app="CR_SERVICE_APP_PATH_"$cr_index
138     ics_api_idc_put_job 201 job-med-$i STD_Fault_Messages ${!service_mr}/job-med-data$i"?storeas=md5" info-owner-med-$i ${!service_app}/job_status_info-owner-med-$i testdata/dmaap-mediator/job-template.json
139 done
140 print_timer
141
142 if [[ "$DMAAP_MED_FEATURE_LEVEL" == *"KAFKATYPES"* ]]; then
143     # Create jobs for mediator kafka - CR stores data as MD5 hash
144     start_timer "Create mediator (kafka) jobs: $NUM_JOBS"
145     for ((i=1; i<=$NUM_JOBS; i++))
146     do
147         cr_index=$(($i%$NUM_CR))
148         service_text="CR_SERVICE_TEXT_PATH_"$cr_index
149         service_app="CR_SERVICE_APP_PATH_"$cr_index
150         ics_api_idc_put_job 201 job-med-kafka-$i Kafka_TestTopic ${!service_text}/job-med-kafka-data$i"?storeas=md5" info-owner-med-kafka-$i ${!service_app}/job_status_info-owner-med-kafka-$i testdata/dmaap-mediator/job-template-1-kafka.json
151     done
152     print_timer
153 fi
154
155 # Check job status
156 for ((i=1; i<=$NUM_JOBS; i++))
157 do
158     ics_api_a1_get_job_status 200 job-med-$i ENABLED 30
159     ics_api_a1_get_job_status 200 job-adp-$i ENABLED 30
160     ics_api_a1_get_job_status 200 job-adp-kafka-$i ENABLED 30
161     if [[ "$DMAAP_MED_FEATURE_LEVEL" == *"KAFKATYPES"* ]]; then
162         ics_api_a1_get_job_status 200 job-med-kafka-$i ENABLED 30
163     fi
164 done
165
166
167 EXPECTED_DATA_DELIV=0 #Total delivered msg per CR
168 DATA_DELIV_JOBS=0 #Total delivered msg per job per CR
169
170 mr_api_generate_json_payload_file 1 ./tmp/data_for_dmaap_test.json
171 kafkapc_api_generate_text_payload_file 1 ./tmp/data_for_dmaap_test.txt
172
173 ## Send json file via message-router to adapter
174 DATA_DELIV_JOBS=5 #Each job will eventuall get 2 msgs
175 EXPECTED_DATA_DELIV=$(($NUM_JOBS/$NUM_CR+$EXPECTED_DATA_DELIV))
176 mr_api_send_json_file "/events/unauthenticated.dmaapadp.json" ./tmp/data_for_dmaap_test.json
177 for ((i=0; i<$NUM_CR; i++))
178 do
179     cr_equal $i received_callbacks $EXPECTED_DATA_DELIV 60
180     cr_equal $i received_callback_batches $EXPECTED_DATA_DELIV 60
181 done
182
183 EXPECTED_DATA_DELIV=$(($NUM_JOBS/$NUM_CR+$EXPECTED_DATA_DELIV))
184 mr_api_send_json_file "/events/unauthenticated.dmaapadp.json" ./tmp/data_for_dmaap_test.json
185 for ((i=0; i<$NUM_CR; i++))
186 do
187     cr_equal $i received_callbacks $EXPECTED_DATA_DELIV 60
188     cr_equal $i received_callback_batches $EXPECTED_DATA_DELIV 60
189 done
190
191 EXPECTED_DATA_DELIV=$(($NUM_JOBS/$NUM_CR+$EXPECTED_DATA_DELIV))
192 mr_api_send_json_file "/events/unauthenticated.dmaapadp.json" ./tmp/data_for_dmaap_test.json
193 for ((i=0; i<$NUM_CR; i++))
194 do
195     cr_equal $i received_callbacks $EXPECTED_DATA_DELIV 60
196     cr_equal $i received_callback_batches $EXPECTED_DATA_DELIV 60
197 done
198
199 EXPECTED_DATA_DELIV=$(($NUM_JOBS/$NUM_CR+$EXPECTED_DATA_DELIV))
200 mr_api_send_json_file "/events/unauthenticated.dmaapadp.json" ./tmp/data_for_dmaap_test.json
201 for ((i=0; i<$NUM_CR; i++))
202 do
203     cr_equal $i received_callbacks $EXPECTED_DATA_DELIV 60
204     cr_equal $i received_callback_batches $EXPECTED_DATA_DELIV 60
205 done
206
207 EXPECTED_DATA_DELIV=$(($NUM_JOBS/$NUM_CR+$EXPECTED_DATA_DELIV))
208 mr_api_send_json_file "/events/unauthenticated.dmaapadp.json" ./tmp/data_for_dmaap_test.json
209 for ((i=0; i<$NUM_CR; i++))
210 do
211     cr_equal $i received_callbacks $EXPECTED_DATA_DELIV 60
212     cr_equal $i received_callback_batches $EXPECTED_DATA_DELIV 60
213 done
214
215 # Check received data callbacks from adapter
216 for ((i=1; i<=$NUM_JOBS; i++))
217 do
218     cr_index=$(($i%$NUM_CR))
219     cr_api_check_single_genric_event_md5_file 200 $cr_index job-adp-data$i ./tmp/data_for_dmaap_test.json
220     cr_api_check_single_genric_event_md5_file 200 $cr_index job-adp-data$i ./tmp/data_for_dmaap_test.json
221     cr_api_check_single_genric_event_md5_file 200 $cr_index job-adp-data$i ./tmp/data_for_dmaap_test.json
222     cr_api_check_single_genric_event_md5_file 200 $cr_index job-adp-data$i ./tmp/data_for_dmaap_test.json
223     cr_api_check_single_genric_event_md5_file 200 $cr_index job-adp-data$i ./tmp/data_for_dmaap_test.json
224 done
225
226
227 ## Send text file via message-router to adapter kafka
228
229 EXPECTED_DATA_DELIV=$(($NUM_JOBS/$NUM_CR+$EXPECTED_DATA_DELIV))
230 kafkapc_api_post_msg_from_file 200 "unauthenticated.dmaapadp_kafka.text" "text/plain" ./tmp/data_for_dmaap_test.txt
231 kafkapc_equal topics/unauthenticated.dmaapadp_kafka.text/counters/sent 1 30
232 for ((i=0; i<$NUM_CR; i++))
233 do
234     cr_equal $i received_callbacks $EXPECTED_DATA_DELIV 60
235     cr_equal $i received_callback_batches $EXPECTED_DATA_DELIV 60
236 done
237
238 EXPECTED_DATA_DELIV=$(($NUM_JOBS/$NUM_CR+$EXPECTED_DATA_DELIV))
239 kafkapc_api_post_msg_from_file 200 "unauthenticated.dmaapadp_kafka.text" "text/plain" ./tmp/data_for_dmaap_test.txt
240 kafkapc_equal topics/unauthenticated.dmaapadp_kafka.text/counters/sent 2 30
241 for ((i=0; i<$NUM_CR; i++))
242 do
243     cr_equal $i received_callbacks $EXPECTED_DATA_DELIV 60
244     cr_equal $i received_callback_batches $EXPECTED_DATA_DELIV 60
245 done
246
247 EXPECTED_DATA_DELIV=$(($NUM_JOBS/$NUM_CR+$EXPECTED_DATA_DELIV))
248 kafkapc_api_post_msg_from_file 200 "unauthenticated.dmaapadp_kafka.text" "text/plain" ./tmp/data_for_dmaap_test.txt
249 kafkapc_equal topics/unauthenticated.dmaapadp_kafka.text/counters/sent 3 30
250 for ((i=0; i<$NUM_CR; i++))
251 do
252     cr_equal $i received_callbacks $EXPECTED_DATA_DELIV 60
253     cr_equal $i received_callback_batches $EXPECTED_DATA_DELIV 60
254 done
255
256 EXPECTED_DATA_DELIV=$(($NUM_JOBS/$NUM_CR+$EXPECTED_DATA_DELIV))
257 kafkapc_api_post_msg_from_file 200 "unauthenticated.dmaapadp_kafka.text" "text/plain" ./tmp/data_for_dmaap_test.txt
258 kafkapc_equal topics/unauthenticated.dmaapadp_kafka.text/counters/sent 4 30
259 for ((i=0; i<$NUM_CR; i++))
260 do
261     cr_equal $i received_callbacks $EXPECTED_DATA_DELIV 60
262     cr_equal $i received_callback_batches $EXPECTED_DATA_DELIV 60
263 done
264
265 EXPECTED_DATA_DELIV=$(($NUM_JOBS/$NUM_CR+$EXPECTED_DATA_DELIV))
266 kafkapc_api_post_msg_from_file 200 "unauthenticated.dmaapadp_kafka.text" "text/plain" ./tmp/data_for_dmaap_test.txt
267 kafkapc_equal topics/unauthenticated.dmaapadp_kafka.text/counters/sent 5 30
268 for ((i=0; i<$NUM_CR; i++))
269 do
270     cr_equal $i received_callbacks $EXPECTED_DATA_DELIV 60
271     cr_equal $i received_callback_batches $EXPECTED_DATA_DELIV 60
272 done
273
274 # Check received data callbacks from adapter kafka
275 for ((i=1; i<=$NUM_JOBS; i++))
276 do
277     cr_index=$(($i%$NUM_CR))
278     cr_api_check_single_genric_event_md5_file 200 $cr_index job-adp-kafka-data$i ./tmp/data_for_dmaap_test.txt
279     cr_api_check_single_genric_event_md5_file 200 $cr_index job-adp-kafka-data$i ./tmp/data_for_dmaap_test.txt
280     cr_api_check_single_genric_event_md5_file 200 $cr_index job-adp-kafka-data$i ./tmp/data_for_dmaap_test.txt
281     cr_api_check_single_genric_event_md5_file 200 $cr_index job-adp-kafka-data$i ./tmp/data_for_dmaap_test.txt
282     cr_api_check_single_genric_event_md5_file 200 $cr_index job-adp-kafka-data$i ./tmp/data_for_dmaap_test.txt
283 done
284
285 ## Send json file via message-router to mediator
286
287 EXPECTED_DATA_DELIV=$(($NUM_JOBS/$NUM_CR+$EXPECTED_DATA_DELIV))
288 mr_api_send_json_file "/events/unauthenticated.dmaapmed.json" ./tmp/data_for_dmaap_test.json
289 for ((i=0; i<$NUM_CR; i++))
290 do
291     cr_equal $i received_callbacks $EXPECTED_DATA_DELIV 60
292     cr_equal $i received_callback_batches $EXPECTED_DATA_DELIV 60
293 done
294
295 EXPECTED_DATA_DELIV=$(($NUM_JOBS/$NUM_CR+$EXPECTED_DATA_DELIV))
296 mr_api_send_json_file "/events/unauthenticated.dmaapmed.json" ./tmp/data_for_dmaap_test.json
297 for ((i=0; i<$NUM_CR; i++))
298 do
299     cr_equal $i received_callbacks $EXPECTED_DATA_DELIV 60
300     cr_equal $i received_callback_batches $EXPECTED_DATA_DELIV 60
301 done
302
303 EXPECTED_DATA_DELIV=$(($NUM_JOBS/$NUM_CR+$EXPECTED_DATA_DELIV))
304 mr_api_send_json_file "/events/unauthenticated.dmaapmed.json" ./tmp/data_for_dmaap_test.json
305 for ((i=0; i<$NUM_CR; i++))
306 do
307     cr_equal $i received_callbacks $EXPECTED_DATA_DELIV 60
308     cr_equal $i received_callback_batches $EXPECTED_DATA_DELIV 60
309 done
310
311 EXPECTED_DATA_DELIV=$(($NUM_JOBS/$NUM_CR+$EXPECTED_DATA_DELIV))
312 mr_api_send_json_file "/events/unauthenticated.dmaapmed.json" ./tmp/data_for_dmaap_test.json
313 for ((i=0; i<$NUM_CR; i++))
314 do
315     cr_equal $i received_callbacks $EXPECTED_DATA_DELIV 60
316     cr_equal $i received_callback_batches $EXPECTED_DATA_DELIV 60
317 done
318
319 EXPECTED_DATA_DELIV=$(($NUM_JOBS/$NUM_CR+$EXPECTED_DATA_DELIV))
320 mr_api_send_json_file "/events/unauthenticated.dmaapmed.json" ./tmp/data_for_dmaap_test.json
321 for ((i=0; i<$NUM_CR; i++))
322 do
323     cr_equal $i received_callbacks $EXPECTED_DATA_DELIV 60
324     cr_equal $i received_callback_batches $EXPECTED_DATA_DELIV 60
325 done
326
327 # Check received data callbacks from mediator
328 for ((i=1; i<=$NUM_JOBS; i++))
329 do
330     cr_index=$(($i%$NUM_CR))
331     cr_api_check_single_genric_event_md5_file 200 $cr_index job-med-data$i ./tmp/data_for_dmaap_test.json
332     cr_api_check_single_genric_event_md5_file 200 $cr_index job-med-data$i ./tmp/data_for_dmaap_test.json
333     cr_api_check_single_genric_event_md5_file 200 $cr_index job-med-data$i ./tmp/data_for_dmaap_test.json
334     cr_api_check_single_genric_event_md5_file 200 $cr_index job-med-data$i ./tmp/data_for_dmaap_test.json
335     cr_api_check_single_genric_event_md5_file 200 $cr_index job-med-data$i ./tmp/data_for_dmaap_test.json
336 done
337
338 if [[ "$DMAAP_MED_FEATURE_LEVEL" == *"KAFKATYPES"* ]]; then
339     ## Send text file via message-router to mediator kafka
340
341     EXPECTED_DATA_DELIV=$(($NUM_JOBS/$NUM_CR+$EXPECTED_DATA_DELIV))
342     kafkapc_api_post_msg_from_file 200 "unauthenticated.dmaapmed_kafka.text" "text/plain" ./tmp/data_for_dmaap_test.txt
343     kafkapc_equal topics/unauthenticated.dmaapmed_kafka.text/counters/sent 1 30
344     for ((i=0; i<$NUM_CR; i++))
345     do
346         cr_equal $i received_callbacks $EXPECTED_DATA_DELIV 60
347         cr_equal $i received_callback_batches $EXPECTED_DATA_DELIV 60
348     done
349
350     EXPECTED_DATA_DELIV=$(($NUM_JOBS/$NUM_CR+$EXPECTED_DATA_DELIV))
351     kafkapc_api_post_msg_from_file 200 "unauthenticated.dmaapmed_kafka.text" "text/plain" ./tmp/data_for_dmaap_test.txt
352     kafkapc_equal topics/unauthenticated.dmaapmed_kafka.text/counters/sent 2 30
353     for ((i=0; i<$NUM_CR; i++))
354     do
355         cr_equal $i received_callbacks $EXPECTED_DATA_DELIV 60
356         cr_equal $i received_callback_batches $EXPECTED_DATA_DELIV 60
357     done
358
359     EXPECTED_DATA_DELIV=$(($NUM_JOBS/$NUM_CR+$EXPECTED_DATA_DELIV))
360     kafkapc_api_post_msg_from_file 200 "unauthenticated.dmaapmed_kafka.text" "text/plain" ./tmp/data_for_dmaap_test.txt
361     kafkapc_equal topics/unauthenticated.dmaapmed_kafka.text/counters/sent 3 30
362     for ((i=0; i<$NUM_CR; i++))
363     do
364         cr_equal $i received_callbacks $EXPECTED_DATA_DELIV 60
365         cr_equal $i received_callback_batches $EXPECTED_DATA_DELIV 60
366     done
367
368     EXPECTED_DATA_DELIV=$(($NUM_JOBS/$NUM_CR+$EXPECTED_DATA_DELIV))
369     kafkapc_api_post_msg_from_file 200 "unauthenticated.dmaapmed_kafka.text" "text/plain" ./tmp/data_for_dmaap_test.txt
370     kafkapc_equal topics/unauthenticated.dmaapmed_kafka.text/counters/sent 4 30
371     for ((i=0; i<$NUM_CR; i++))
372     do
373         cr_equal $i received_callbacks $EXPECTED_DATA_DELIV 60
374         cr_equal $i received_callback_batches $EXPECTED_DATA_DELIV 60
375     done
376
377     EXPECTED_DATA_DELIV=$(($NUM_JOBS/$NUM_CR+$EXPECTED_DATA_DELIV))
378     kafkapc_api_post_msg_from_file 200 "unauthenticated.dmaapmed_kafka.text" "text/plain" ./tmp/data_for_dmaap_test.txt
379     kafkapc_equal topics/unauthenticated.dmaapmed_kafka.text/counters/sent 5 30
380     for ((i=0; i<$NUM_CR; i++))
381     do
382         cr_equal $i received_callbacks $EXPECTED_DATA_DELIV 60
383         cr_equal $i received_callback_batches $EXPECTED_DATA_DELIV 60
384     done
385
386     # Check received data callbacks from adapter kafka
387     for ((i=1; i<=$NUM_JOBS; i++))
388     do
389         cr_index=$(($i%$NUM_CR))
390         cr_api_check_single_genric_event_md5_file 200 $cr_index job-med-kafka-data$i ./tmp/data_for_dmaap_test.txt
391         cr_api_check_single_genric_event_md5_file 200 $cr_index job-med-kafka-data$i ./tmp/data_for_dmaap_test.txt
392         cr_api_check_single_genric_event_md5_file 200 $cr_index job-med-kafka-data$i ./tmp/data_for_dmaap_test.txt
393         cr_api_check_single_genric_event_md5_file 200 $cr_index job-med-kafka-data$i ./tmp/data_for_dmaap_test.txt
394         cr_api_check_single_genric_event_md5_file 200 $cr_index job-med-kafka-data$i ./tmp/data_for_dmaap_test.txt
395     done
396 fi
397
398 # Send small json via message-router to adapter
399 mr_api_send_json "/events/unauthenticated.dmaapadp.json" '{"msg":"msg-1"}'
400 mr_api_send_json "/events/unauthenticated.dmaapadp.json" '{"msg":"msg-3"}'
401
402 DATA_DELIV_JOBS=7 #Each job will eventuall get 5+2 msgs
403
404 # Wait for data recetption, adapter
405 EXPECTED_DATA_DELIV=$(($NUM_JOBS*2/$NUM_CR+$EXPECTED_DATA_DELIV))
406 start_timer "Data delivery adapter, 2 json per job"
407 for ((i=0; i<$NUM_CR; i++))
408 do
409     cr_equal $i received_callbacks $EXPECTED_DATA_DELIV 60
410     cr_equal $i received_callback_batches $EXPECTED_DATA_DELIV 60
411 done
412 print_timer
413
414 # Send small text via message-router to adapter
415 kafkapc_api_post_msg 200 "unauthenticated.dmaapadp_kafka.text" "text/plain" 'Message-------1'
416 kafkapc_api_post_msg 200 "unauthenticated.dmaapadp_kafka.text" "text/plain" 'Message-------3'
417 kafkapc_equal topics/unauthenticated.dmaapadp_kafka.text/counters/sent 7 30
418
419 # Wait for data recetption, adapter kafka
420 EXPECTED_DATA_DELIV=$(($NUM_JOBS*2/$NUM_CR+$EXPECTED_DATA_DELIV))
421 start_timer "Data delivery adapter kafka, 2 strings per job"
422 for ((i=0; i<$NUM_CR; i++))
423 do
424     cr_equal $i received_callbacks $EXPECTED_DATA_DELIV 60
425     cr_equal $i received_callback_batches $EXPECTED_DATA_DELIV 60
426 done
427 print_timer
428
429 # Send small json via message-router to mediator
430 mr_api_send_json "/events/unauthenticated.dmaapmed.json" '{"msg":"msg-0"}'
431 mr_api_send_json "/events/unauthenticated.dmaapmed.json" '{"msg":"msg-2"}'
432
433 # Wait for data reception, mediator
434 EXPECTED_DATA_DELIV=$(($NUM_JOBS*2/$NUM_CR+$EXPECTED_DATA_DELIV))
435 start_timer "Data delivery mediator, 2 json per job"
436 for ((i=0; i<$NUM_CR; i++))
437 do
438     cr_equal $i received_callbacks $EXPECTED_DATA_DELIV 100
439     cr_equal $i received_callback_batches $EXPECTED_DATA_DELIV 100
440 done
441 print_timer
442
443 if [[ "$DMAAP_MED_FEATURE_LEVEL" == *"KAFKATYPES"* ]]; then
444     # Send small text via message-router to mediator
445     kafkapc_api_post_msg 200 "unauthenticated.dmaapmed_kafka.text" "text/plain" 'Message-------0'
446     kafkapc_api_post_msg 200 "unauthenticated.dmaapmed_kafka.text" "text/plain" 'Message-------2'
447     kafkapc_equal topics/unauthenticated.dmaapmed_kafka.text/counters/sent 7 30
448
449     # Wait for data recetption, adapter kafka
450     EXPECTED_DATA_DELIV=$(($NUM_JOBS*2/$NUM_CR+$EXPECTED_DATA_DELIV))
451     start_timer "Data delivery mediator kafka, 2 strings per job"
452     for ((i=0; i<$NUM_CR; i++))
453     do
454         cr_equal $i received_callbacks $EXPECTED_DATA_DELIV 60
455         cr_equal $i received_callback_batches $EXPECTED_DATA_DELIV 60
456     done
457     print_timer
458 fi
459
460 # Check received number of messages for mediator and adapter callbacks
461 for ((i=1; i<=$NUM_JOBS; i++))
462 do
463     cr_index=$(($i%$NUM_CR))
464     cr_equal $cr_index received_callbacks?id=job-med-data$i $DATA_DELIV_JOBS
465     cr_equal $cr_index received_callback_batches?id=job-med-data$i $DATA_DELIV_JOBS
466     cr_equal $cr_index received_callbacks?id=job-adp-data$i $DATA_DELIV_JOBS
467     cr_equal $cr_index received_callback_batches?id=job-adp-data$i $DATA_DELIV_JOBS
468     cr_equal $cr_index received_callbacks?id=job-adp-kafka-data$i $DATA_DELIV_JOBS
469     cr_equal $cr_index received_callback_batches?id=job-adp-kafka-data$i $DATA_DELIV_JOBS
470     if [[ "$DMAAP_MED_FEATURE_LEVEL" == *"KAFKATYPES"* ]]; then
471         cr_equal $cr_index received_callbacks?id=job-med-kafka-data$i $DATA_DELIV_JOBS
472         cr_equal $cr_index received_callback_batches?id=job-med-kafka-data$i $DATA_DELIV_JOBS
473     fi
474 done
475
476 # Check received data and order for mediator and adapter callbacks
477 for ((i=1; i<=$NUM_JOBS; i++))
478 do
479     cr_index=$(($i%$NUM_CR))
480     cr_api_check_single_genric_event_md5 200 $cr_index job-med-data$i '{"msg":"msg-0"}'
481     cr_api_check_single_genric_event_md5 200 $cr_index job-med-data$i '{"msg":"msg-2"}'
482     cr_api_check_single_genric_event_md5 200 $cr_index job-adp-data$i '{"msg":"msg-1"}'
483     cr_api_check_single_genric_event_md5 200 $cr_index job-adp-data$i '{"msg":"msg-3"}'
484     cr_api_check_single_genric_event_md5 200 $cr_index job-adp-kafka-data$i 'Message-------1'
485     cr_api_check_single_genric_event_md5 200 $cr_index job-adp-kafka-data$i 'Message-------3'
486     if [[ "$DMAAP_MED_FEATURE_LEVEL" == *"KAFKATYPES"* ]]; then
487         cr_api_check_single_genric_event_md5 200 $cr_index job-med-kafka-data$i 'Message-------0'
488         cr_api_check_single_genric_event_md5 200 $cr_index job-med-kafka-data$i 'Message-------2'
489     fi
490 done
491
492 # Set delay in the callback receiver to slow down callbacks
493 SEC_DELAY=2
494 for ((i=0; i<$NUM_CR; i++))
495 do
496     cr_delay_callback 200 $i $SEC_DELAY
497 done
498
499 # Send small json via message-router to adapter
500 mr_api_send_json "/events/unauthenticated.dmaapadp.json" '{"msg":"msg-5"}'
501 mr_api_send_json "/events/unauthenticated.dmaapadp.json" '{"msg":"msg-7"}'
502
503 # Wait for data recetption, adapter
504 EXPECTED_DATA_DELIV=$(($NUM_JOBS*2/$NUM_CR+$EXPECTED_DATA_DELIV))
505 start_timer "Data delivery adapter with $SEC_DELAY seconds delay in consumer, 2 json per job"
506 for ((i=0; i<$NUM_CR; i++))
507 do
508     cr_equal $i received_callbacks $EXPECTED_DATA_DELIV 100
509     cr_equal $i received_callback_batches $EXPECTED_DATA_DELIV 100
510 done
511 print_timer
512
513
514 # Send small text via message-router to adapter kafka
515 kafkapc_api_post_msg 200 "unauthenticated.dmaapadp_kafka.text" "text/plain" 'Message-------5'
516 kafkapc_api_post_msg 200 "unauthenticated.dmaapadp_kafka.text" "text/plain" 'Message-------7'
517 kafkapc_equal topics/unauthenticated.dmaapadp_kafka.text/counters/sent 9 30
518
519 # Wait for data recetption, adapter kafka
520 EXPECTED_DATA_DELIV=$(($NUM_JOBS*2/$NUM_CR+$EXPECTED_DATA_DELIV))
521 start_timer "Data delivery adapter kafka with $SEC_DELAY seconds delay in consumer, 2 strings per job"
522 for ((i=0; i<$NUM_CR; i++))
523 do
524     cr_equal $i received_callbacks $EXPECTED_DATA_DELIV 100
525     cr_equal $i received_callback_batches $EXPECTED_DATA_DELIV 100
526 done
527 print_timer
528
529
530 # Send small json via message-router to mediator
531 mr_api_send_json "/events/unauthenticated.dmaapmed.json" '{"msg":"msg-4"}'
532 mr_api_send_json "/events/unauthenticated.dmaapmed.json" '{"msg":"msg-6"}'
533
534 # Wait for data reception, mediator
535 EXPECTED_DATA_DELIV=$(($NUM_JOBS*2/$NUM_CR+$EXPECTED_DATA_DELIV))
536 start_timer "Data delivery mediator with $SEC_DELAY seconds delay in consumer, 2 json per job"
537 for ((i=0; i<$NUM_CR; i++))
538 do
539     cr_equal $i received_callbacks $EXPECTED_DATA_DELIV 100
540     cr_equal $i received_callback_batches $EXPECTED_DATA_DELIV 100
541 done
542 print_timer
543
544 if [[ "$DMAAP_MED_FEATURE_LEVEL" == *"KAFKATYPES"* ]]; then
545     # Send small text via message-router to mediator kafka
546     kafkapc_api_post_msg 200 "unauthenticated.dmaapmed_kafka.text" "text/plain" 'Message-------4'
547     kafkapc_api_post_msg 200 "unauthenticated.dmaapmed_kafka.text" "text/plain" 'Message-------6'
548     kafkapc_equal topics/unauthenticated.dmaapmed_kafka.text/counters/sent 9 30
549
550     # Wait for data recetption, mediator kafka
551     EXPECTED_DATA_DELIV=$(($NUM_JOBS*2/$NUM_CR+$EXPECTED_DATA_DELIV))
552     start_timer "Data delivery mediator kafka with $SEC_DELAY seconds delay in consumer, 2 strings per job"
553     for ((i=0; i<$NUM_CR; i++))
554     do
555         cr_equal $i received_callbacks $EXPECTED_DATA_DELIV 100
556         cr_equal $i received_callback_batches $EXPECTED_DATA_DELIV 100
557     done
558     print_timer
559 fi
560
561 # Check received number of messages for mediator and adapter callbacks
562 for ((i=1; i<=$NUM_JOBS; i++))
563 do
564     cr_index=$(($i%$NUM_CR))
565     cr_equal $cr_index received_callbacks?id=job-med-data$i 9
566     cr_equal $cr_index received_callback_batches?id=job-med-data$i 9
567     cr_equal $cr_index received_callbacks?id=job-adp-data$i 9
568     cr_equal $cr_index received_callback_batches?id=job-adp-data$i 9
569     cr_equal $cr_index received_callbacks?id=job-adp-kafka-data$i 9
570     cr_equal $cr_index received_callback_batches?id=job-adp-kafka-data$i 9
571     if [[ "$DMAAP_MED_FEATURE_LEVEL" == *"KAFKATYPES"* ]]; then
572         cr_equal $cr_index received_callbacks?id=job-med-kafka-data$i 9
573         cr_equal $cr_index received_callback_batches?id=job-med-kafka-data$i 9
574     fi
575 done
576
577 # Check received data and order for mediator and adapter callbacks
578 for ((i=1; i<=$NUM_JOBS; i++))
579 do
580     cr_index=$(($i%$NUM_CR))
581     cr_api_check_single_genric_event_md5 200 $cr_index job-med-data$i '{"msg":"msg-4"}'
582     cr_api_check_single_genric_event_md5 200 $cr_index job-med-data$i '{"msg":"msg-6"}'
583     cr_api_check_single_genric_event_md5 200 $cr_index job-adp-data$i '{"msg":"msg-5"}'
584     cr_api_check_single_genric_event_md5 200 $cr_index job-adp-data$i '{"msg":"msg-7"}'
585     cr_api_check_single_genric_event_md5 200 $cr_index job-adp-kafka-data$i 'Message-------5'
586     cr_api_check_single_genric_event_md5 200 $cr_index job-adp-kafka-data$i 'Message-------7'
587     if [[ "$DMAAP_MED_FEATURE_LEVEL" == *"KAFKATYPES"* ]]; then
588         cr_api_check_single_genric_event_md5 200 $cr_index job-med-kafka-data$i 'Message-------4'
589         cr_api_check_single_genric_event_md5 200 $cr_index job-med-kafka-data$i 'Message-------6'
590     fi
591 done
592
593 #### TEST COMPLETE ####
594
595 store_logs          END
596
597 print_result
598
599 auto_clean_environment