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
10 # http://www.apache.org/licenses/LICENSE-2.0
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=================================================
20 TC_ONELINE_DESCR="App test DMAAP Meditor and DMAAP Adapter"
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"
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"
28 #Prestarted app (not started by script) to include in the test when running kubernetes, space separated list
29 KUBE_PRESTARTED_IMAGES=""
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=""
36 #Supported test environment profiles
37 SUPPORTED_PROFILES="ORAN-E-RELEASE ORAN-F-RELEASE"
39 SUPPORTED_RUNMODES="DOCKER KUBE"
41 . ../common/testcase_common.sh $@
47 #Local vars in test script
48 ##########################
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"
70 start_ics NOPROXY $SIM_GROUP/$ICS_COMPOSE_DIR/$ICS_CONFIG_FILE
74 start_mr "unauthenticated.dmaapmed.json" "/events" "dmaapmediatorproducer/STD_Fault_Messages" \
75 "unauthenticated.dmaapadp.json" "/events" "dmaapadapterproducer/msgs"
79 kafkapc_api_create_topic 201 "unauthenticated.dmaapadp_kafka.text" "text/plain"
81 kafkapc_api_start_sending 200 "unauthenticated.dmaapadp_kafka.text"
83 start_dmaapadp NOPROXY $SIM_GROUP/$DMAAP_ADP_COMPOSE_DIR/$DMAAP_ADP_CONFIG_FILE $SIM_GROUP/$DMAAP_ADP_COMPOSE_DIR/$DMAAP_ADP_DATA_FILE
87 if [[ "$DMAAP_MED_FEATURE_LEVEL" == *"KAFKATYPES"* ]]; then
88 kafkapc_api_create_topic 201 "unauthenticated.dmaapmed_kafka.text" "text/plain"
90 kafkapc_api_start_sending 200 "unauthenticated.dmaapmed_kafka.text"
93 start_dmaapmed NOPROXY $SIM_GROUP/$DMAAP_MED_COMPOSE_DIR/$DMAAP_MED_HOST_DATA_FILE
95 ics_equal json:data-producer/v1/info-producers 2 60
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
103 ics_api_idc_get_type_ids 200 ExampleInformationType STD_Fault_Messages ExampleInformationTypeKafka Kafka_TestTopic
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++))
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
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++))
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
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++))
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
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++))
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
156 for ((i=1; i<=$NUM_JOBS; i++))
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
167 EXPECTED_DATA_DELIV=0 #Total delivered msg per CR
168 DATA_DELIV_JOBS=0 #Total delivered msg per job per CR
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
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++))
179 cr_equal $i received_callbacks $EXPECTED_DATA_DELIV 60
180 cr_equal $i received_callback_batches $EXPECTED_DATA_DELIV 60
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++))
187 cr_equal $i received_callbacks $EXPECTED_DATA_DELIV 60
188 cr_equal $i received_callback_batches $EXPECTED_DATA_DELIV 60
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++))
195 cr_equal $i received_callbacks $EXPECTED_DATA_DELIV 60
196 cr_equal $i received_callback_batches $EXPECTED_DATA_DELIV 60
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++))
203 cr_equal $i received_callbacks $EXPECTED_DATA_DELIV 60
204 cr_equal $i received_callback_batches $EXPECTED_DATA_DELIV 60
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++))
211 cr_equal $i received_callbacks $EXPECTED_DATA_DELIV 60
212 cr_equal $i received_callback_batches $EXPECTED_DATA_DELIV 60
215 # Check received data callbacks from adapter
216 for ((i=1; i<=$NUM_JOBS; i++))
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
227 ## Send text file via message-router to adapter kafka
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++))
234 cr_equal $i received_callbacks $EXPECTED_DATA_DELIV 60
235 cr_equal $i received_callback_batches $EXPECTED_DATA_DELIV 60
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++))
243 cr_equal $i received_callbacks $EXPECTED_DATA_DELIV 60
244 cr_equal $i received_callback_batches $EXPECTED_DATA_DELIV 60
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++))
252 cr_equal $i received_callbacks $EXPECTED_DATA_DELIV 60
253 cr_equal $i received_callback_batches $EXPECTED_DATA_DELIV 60
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++))
261 cr_equal $i received_callbacks $EXPECTED_DATA_DELIV 60
262 cr_equal $i received_callback_batches $EXPECTED_DATA_DELIV 60
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++))
270 cr_equal $i received_callbacks $EXPECTED_DATA_DELIV 60
271 cr_equal $i received_callback_batches $EXPECTED_DATA_DELIV 60
274 # Check received data callbacks from adapter kafka
275 for ((i=1; i<=$NUM_JOBS; i++))
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
285 ## Send json file via message-router to mediator
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++))
291 cr_equal $i received_callbacks $EXPECTED_DATA_DELIV 60
292 cr_equal $i received_callback_batches $EXPECTED_DATA_DELIV 60
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++))
299 cr_equal $i received_callbacks $EXPECTED_DATA_DELIV 60
300 cr_equal $i received_callback_batches $EXPECTED_DATA_DELIV 60
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++))
307 cr_equal $i received_callbacks $EXPECTED_DATA_DELIV 60
308 cr_equal $i received_callback_batches $EXPECTED_DATA_DELIV 60
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++))
315 cr_equal $i received_callbacks $EXPECTED_DATA_DELIV 60
316 cr_equal $i received_callback_batches $EXPECTED_DATA_DELIV 60
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++))
323 cr_equal $i received_callbacks $EXPECTED_DATA_DELIV 60
324 cr_equal $i received_callback_batches $EXPECTED_DATA_DELIV 60
327 # Check received data callbacks from mediator
328 for ((i=1; i<=$NUM_JOBS; i++))
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
338 if [[ "$DMAAP_MED_FEATURE_LEVEL" == *"KAFKATYPES"* ]]; then
339 ## Send text file via message-router to mediator kafka
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++))
346 cr_equal $i received_callbacks $EXPECTED_DATA_DELIV 60
347 cr_equal $i received_callback_batches $EXPECTED_DATA_DELIV 60
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++))
355 cr_equal $i received_callbacks $EXPECTED_DATA_DELIV 60
356 cr_equal $i received_callback_batches $EXPECTED_DATA_DELIV 60
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++))
364 cr_equal $i received_callbacks $EXPECTED_DATA_DELIV 60
365 cr_equal $i received_callback_batches $EXPECTED_DATA_DELIV 60
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++))
373 cr_equal $i received_callbacks $EXPECTED_DATA_DELIV 60
374 cr_equal $i received_callback_batches $EXPECTED_DATA_DELIV 60
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++))
382 cr_equal $i received_callbacks $EXPECTED_DATA_DELIV 60
383 cr_equal $i received_callback_batches $EXPECTED_DATA_DELIV 60
386 # Check received data callbacks from adapter kafka
387 for ((i=1; i<=$NUM_JOBS; i++))
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
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"}'
402 DATA_DELIV_JOBS=7 #Each job will eventuall get 5+2 msgs
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++))
409 cr_equal $i received_callbacks $EXPECTED_DATA_DELIV 60
410 cr_equal $i received_callback_batches $EXPECTED_DATA_DELIV 60
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
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++))
424 cr_equal $i received_callbacks $EXPECTED_DATA_DELIV 60
425 cr_equal $i received_callback_batches $EXPECTED_DATA_DELIV 60
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"}'
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++))
438 cr_equal $i received_callbacks $EXPECTED_DATA_DELIV 100
439 cr_equal $i received_callback_batches $EXPECTED_DATA_DELIV 100
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
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++))
454 cr_equal $i received_callbacks $EXPECTED_DATA_DELIV 60
455 cr_equal $i received_callback_batches $EXPECTED_DATA_DELIV 60
460 # Check received number of messages for mediator and adapter callbacks
461 for ((i=1; i<=$NUM_JOBS; i++))
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
476 # Check received data and order for mediator and adapter callbacks
477 for ((i=1; i<=$NUM_JOBS; i++))
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'
492 # Set delay in the callback receiver to slow down callbacks
494 for ((i=0; i<$NUM_CR; i++))
496 cr_delay_callback 200 $i $SEC_DELAY
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"}'
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++))
508 cr_equal $i received_callbacks $EXPECTED_DATA_DELIV 100
509 cr_equal $i received_callback_batches $EXPECTED_DATA_DELIV 100
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
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++))
524 cr_equal $i received_callbacks $EXPECTED_DATA_DELIV 100
525 cr_equal $i received_callback_batches $EXPECTED_DATA_DELIV 100
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"}'
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++))
539 cr_equal $i received_callbacks $EXPECTED_DATA_DELIV 100
540 cr_equal $i received_callback_batches $EXPECTED_DATA_DELIV 100
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
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++))
555 cr_equal $i received_callbacks $EXPECTED_DATA_DELIV 100
556 cr_equal $i received_callback_batches $EXPECTED_DATA_DELIV 100
561 # Check received number of messages for mediator and adapter callbacks
562 for ((i=1; i<=$NUM_JOBS; i++))
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
577 # Check received data and order for mediator and adapter callbacks
578 for ((i=1; i<=$NUM_JOBS; i++))
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'
593 #### TEST COMPLETE ####
599 auto_clean_environment