Updates tests due to dmaap adapter changes
[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_TEMPLATE $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-template1.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 EXPECTED_BATCHES_DELIV=0 #Total delivered batches per CR
169 DATA_DELIV_JOBS=0 #Total delivered msg per job per CR
170
171 mr_api_generate_json_payload_file 1 ./tmp/data_for_dmaap_test.json
172 kafkapc_api_generate_text_payload_file 1 ./tmp/data_for_dmaap_test.txt
173
174 ## Send json file via message-router to adapter
175 DATA_DELIV_JOBS=5 #Each job will eventuall get 2 msgs
176 EXPECTED_DATA_DELIV=$(($NUM_JOBS/$NUM_CR+$EXPECTED_DATA_DELIV))
177 EXPECTED_BATCHES_DELIV=$(($NUM_JOBS/$NUM_CR+$EXPECTED_BATCHES_DELIV))
178 mr_api_send_json_file "/events/unauthenticated.dmaapadp.json" ./tmp/data_for_dmaap_test.json
179 for ((i=0; i<$NUM_CR; i++))
180 do
181     cr_equal $i received_callbacks $EXPECTED_DATA_DELIV 60
182     cr_equal $i received_callback_batches $EXPECTED_BATCHES_DELIV 60
183 done
184
185 EXPECTED_DATA_DELIV=$(($NUM_JOBS/$NUM_CR+$EXPECTED_DATA_DELIV))
186 EXPECTED_BATCHES_DELIV=$(($NUM_JOBS/$NUM_CR+$EXPECTED_BATCHES_DELIV))
187 mr_api_send_json_file "/events/unauthenticated.dmaapadp.json" ./tmp/data_for_dmaap_test.json
188 for ((i=0; i<$NUM_CR; i++))
189 do
190     cr_equal $i received_callbacks $EXPECTED_DATA_DELIV 60
191     cr_equal $i received_callback_batches $EXPECTED_BATCHES_DELIV 60
192 done
193
194 EXPECTED_DATA_DELIV=$(($NUM_JOBS/$NUM_CR+$EXPECTED_DATA_DELIV))
195 EXPECTED_BATCHES_DELIV=$(($NUM_JOBS/$NUM_CR+$EXPECTED_BATCHES_DELIV))
196 mr_api_send_json_file "/events/unauthenticated.dmaapadp.json" ./tmp/data_for_dmaap_test.json
197 for ((i=0; i<$NUM_CR; i++))
198 do
199     cr_equal $i received_callbacks $EXPECTED_DATA_DELIV 60
200     cr_equal $i received_callback_batches $EXPECTED_BATCHES_DELIV 60
201 done
202
203 EXPECTED_DATA_DELIV=$(($NUM_JOBS/$NUM_CR+$EXPECTED_DATA_DELIV))
204 EXPECTED_BATCHES_DELIV=$(($NUM_JOBS/$NUM_CR+$EXPECTED_BATCHES_DELIV))
205 mr_api_send_json_file "/events/unauthenticated.dmaapadp.json" ./tmp/data_for_dmaap_test.json
206 for ((i=0; i<$NUM_CR; i++))
207 do
208     cr_equal $i received_callbacks $EXPECTED_DATA_DELIV 60
209     cr_equal $i received_callback_batches $EXPECTED_BATCHES_DELIV 60
210 done
211
212 EXPECTED_DATA_DELIV=$(($NUM_JOBS/$NUM_CR+$EXPECTED_DATA_DELIV))
213 EXPECTED_BATCHES_DELIV=$(($NUM_JOBS/$NUM_CR+$EXPECTED_BATCHES_DELIV))
214 mr_api_send_json_file "/events/unauthenticated.dmaapadp.json" ./tmp/data_for_dmaap_test.json
215 for ((i=0; i<$NUM_CR; i++))
216 do
217     cr_equal $i received_callbacks $EXPECTED_DATA_DELIV 60
218     cr_equal $i received_callback_batches $EXPECTED_BATCHES_DELIV 60
219 done
220
221 # Check received data callbacks from adapter
222 for ((i=1; i<=$NUM_JOBS; i++))
223 do
224     cr_index=$(($i%$NUM_CR))
225     cr_api_check_single_genric_event_md5_file 200 $cr_index job-adp-data$i ./tmp/data_for_dmaap_test.json
226     cr_api_check_single_genric_event_md5_file 200 $cr_index job-adp-data$i ./tmp/data_for_dmaap_test.json
227     cr_api_check_single_genric_event_md5_file 200 $cr_index job-adp-data$i ./tmp/data_for_dmaap_test.json
228     cr_api_check_single_genric_event_md5_file 200 $cr_index job-adp-data$i ./tmp/data_for_dmaap_test.json
229     cr_api_check_single_genric_event_md5_file 200 $cr_index job-adp-data$i ./tmp/data_for_dmaap_test.json
230 done
231
232
233 ## Send text file via message-router to adapter kafka
234
235 EXPECTED_DATA_DELIV=$(($NUM_JOBS/$NUM_CR+$EXPECTED_DATA_DELIV))
236 EXPECTED_BATCHES_DELIV=$(($NUM_JOBS/$NUM_CR+$EXPECTED_BATCHES_DELIV))
237 kafkapc_api_post_msg_from_file 200 "unauthenticated.dmaapadp_kafka.text" "text/plain" ./tmp/data_for_dmaap_test.txt
238 kafkapc_equal topics/unauthenticated.dmaapadp_kafka.text/counters/sent 1 30
239 for ((i=0; i<$NUM_CR; i++))
240 do
241     cr_equal $i received_callbacks $EXPECTED_DATA_DELIV 60
242     cr_equal $i received_callback_batches $EXPECTED_BATCHES_DELIV 60
243 done
244
245 EXPECTED_DATA_DELIV=$(($NUM_JOBS/$NUM_CR+$EXPECTED_DATA_DELIV))
246 EXPECTED_BATCHES_DELIV=$(($NUM_JOBS/$NUM_CR+$EXPECTED_BATCHES_DELIV))
247 kafkapc_api_post_msg_from_file 200 "unauthenticated.dmaapadp_kafka.text" "text/plain" ./tmp/data_for_dmaap_test.txt
248 kafkapc_equal topics/unauthenticated.dmaapadp_kafka.text/counters/sent 2 30
249 for ((i=0; i<$NUM_CR; i++))
250 do
251     cr_equal $i received_callbacks $EXPECTED_DATA_DELIV 60
252     cr_equal $i received_callback_batches $EXPECTED_BATCHES_DELIV 60
253 done
254
255 EXPECTED_DATA_DELIV=$(($NUM_JOBS/$NUM_CR+$EXPECTED_DATA_DELIV))
256 EXPECTED_BATCHES_DELIV=$(($NUM_JOBS/$NUM_CR+$EXPECTED_BATCHES_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 3 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_BATCHES_DELIV 60
263 done
264
265 EXPECTED_DATA_DELIV=$(($NUM_JOBS/$NUM_CR+$EXPECTED_DATA_DELIV))
266 EXPECTED_BATCHES_DELIV=$(($NUM_JOBS/$NUM_CR+$EXPECTED_BATCHES_DELIV))
267 kafkapc_api_post_msg_from_file 200 "unauthenticated.dmaapadp_kafka.text" "text/plain" ./tmp/data_for_dmaap_test.txt
268 kafkapc_equal topics/unauthenticated.dmaapadp_kafka.text/counters/sent 4 30
269 for ((i=0; i<$NUM_CR; i++))
270 do
271     cr_equal $i received_callbacks $EXPECTED_DATA_DELIV 60
272     cr_equal $i received_callback_batches $EXPECTED_BATCHES_DELIV 60
273 done
274
275 EXPECTED_DATA_DELIV=$(($NUM_JOBS/$NUM_CR+$EXPECTED_DATA_DELIV))
276 EXPECTED_BATCHES_DELIV=$(($NUM_JOBS/$NUM_CR+$EXPECTED_BATCHES_DELIV))
277 kafkapc_api_post_msg_from_file 200 "unauthenticated.dmaapadp_kafka.text" "text/plain" ./tmp/data_for_dmaap_test.txt
278 kafkapc_equal topics/unauthenticated.dmaapadp_kafka.text/counters/sent 5 30
279 for ((i=0; i<$NUM_CR; i++))
280 do
281     cr_equal $i received_callbacks $EXPECTED_DATA_DELIV 60
282     cr_equal $i received_callback_batches $EXPECTED_BATCHES_DELIV 60
283 done
284
285 # Check received data callbacks from adapter kafka
286 for ((i=1; i<=$NUM_JOBS; i++))
287 do
288     cr_index=$(($i%$NUM_CR))
289     cr_api_check_single_genric_event_md5_file 200 $cr_index job-adp-kafka-data$i ./tmp/data_for_dmaap_test.txt
290     cr_api_check_single_genric_event_md5_file 200 $cr_index job-adp-kafka-data$i ./tmp/data_for_dmaap_test.txt
291     cr_api_check_single_genric_event_md5_file 200 $cr_index job-adp-kafka-data$i ./tmp/data_for_dmaap_test.txt
292     cr_api_check_single_genric_event_md5_file 200 $cr_index job-adp-kafka-data$i ./tmp/data_for_dmaap_test.txt
293     cr_api_check_single_genric_event_md5_file 200 $cr_index job-adp-kafka-data$i ./tmp/data_for_dmaap_test.txt
294 done
295
296 ## Send json file via message-router to mediator
297
298 EXPECTED_DATA_DELIV=$(($NUM_JOBS/$NUM_CR+$EXPECTED_DATA_DELIV))
299 EXPECTED_BATCHES_DELIV=$(($NUM_JOBS/$NUM_CR+$EXPECTED_BATCHES_DELIV))
300 mr_api_send_json_file "/events/unauthenticated.dmaapmed.json" ./tmp/data_for_dmaap_test.json
301 for ((i=0; i<$NUM_CR; i++))
302 do
303     cr_equal $i received_callbacks $EXPECTED_DATA_DELIV 60
304     cr_equal $i received_callback_batches $EXPECTED_BATCHES_DELIV 60
305 done
306
307 EXPECTED_DATA_DELIV=$(($NUM_JOBS/$NUM_CR+$EXPECTED_DATA_DELIV))
308 EXPECTED_BATCHES_DELIV=$(($NUM_JOBS/$NUM_CR+$EXPECTED_BATCHES_DELIV))
309 mr_api_send_json_file "/events/unauthenticated.dmaapmed.json" ./tmp/data_for_dmaap_test.json
310 for ((i=0; i<$NUM_CR; i++))
311 do
312     cr_equal $i received_callbacks $EXPECTED_DATA_DELIV 60
313     cr_equal $i received_callback_batches $EXPECTED_BATCHES_DELIV 60
314 done
315
316 EXPECTED_DATA_DELIV=$(($NUM_JOBS/$NUM_CR+$EXPECTED_DATA_DELIV))
317 EXPECTED_BATCHES_DELIV=$(($NUM_JOBS/$NUM_CR+$EXPECTED_BATCHES_DELIV))
318 mr_api_send_json_file "/events/unauthenticated.dmaapmed.json" ./tmp/data_for_dmaap_test.json
319 for ((i=0; i<$NUM_CR; i++))
320 do
321     cr_equal $i received_callbacks $EXPECTED_DATA_DELIV 60
322     cr_equal $i received_callback_batches $EXPECTED_BATCHES_DELIV 60
323 done
324
325 EXPECTED_DATA_DELIV=$(($NUM_JOBS/$NUM_CR+$EXPECTED_DATA_DELIV))
326 EXPECTED_BATCHES_DELIV=$(($NUM_JOBS/$NUM_CR+$EXPECTED_BATCHES_DELIV))
327 mr_api_send_json_file "/events/unauthenticated.dmaapmed.json" ./tmp/data_for_dmaap_test.json
328 for ((i=0; i<$NUM_CR; i++))
329 do
330     cr_equal $i received_callbacks $EXPECTED_DATA_DELIV 60
331     cr_equal $i received_callback_batches $EXPECTED_BATCHES_DELIV 60
332 done
333
334 EXPECTED_DATA_DELIV=$(($NUM_JOBS/$NUM_CR+$EXPECTED_DATA_DELIV))
335 EXPECTED_BATCHES_DELIV=$(($NUM_JOBS/$NUM_CR+$EXPECTED_BATCHES_DELIV))
336 mr_api_send_json_file "/events/unauthenticated.dmaapmed.json" ./tmp/data_for_dmaap_test.json
337 for ((i=0; i<$NUM_CR; i++))
338 do
339     cr_equal $i received_callbacks $EXPECTED_DATA_DELIV 60
340     cr_equal $i received_callback_batches $EXPECTED_BATCHES_DELIV 60
341 done
342
343 # Check received data callbacks from mediator
344 for ((i=1; i<=$NUM_JOBS; i++))
345 do
346     cr_index=$(($i%$NUM_CR))
347     cr_api_check_single_genric_event_md5_file 200 $cr_index job-med-data$i ./tmp/data_for_dmaap_test.json
348     cr_api_check_single_genric_event_md5_file 200 $cr_index job-med-data$i ./tmp/data_for_dmaap_test.json
349     cr_api_check_single_genric_event_md5_file 200 $cr_index job-med-data$i ./tmp/data_for_dmaap_test.json
350     cr_api_check_single_genric_event_md5_file 200 $cr_index job-med-data$i ./tmp/data_for_dmaap_test.json
351     cr_api_check_single_genric_event_md5_file 200 $cr_index job-med-data$i ./tmp/data_for_dmaap_test.json
352 done
353
354 if [[ "$DMAAP_MED_FEATURE_LEVEL" == *"KAFKATYPES"* ]]; then
355     ## Send text file via message-router to mediator kafka
356
357     EXPECTED_DATA_DELIV=$(($NUM_JOBS/$NUM_CR+$EXPECTED_DATA_DELIV))
358     EXPECTED_BATCHES_DELIV=$(($NUM_JOBS/$NUM_CR+$EXPECTED_BATCHES_DELIV))
359     kafkapc_api_post_msg_from_file 200 "unauthenticated.dmaapmed_kafka.text" "text/plain" ./tmp/data_for_dmaap_test.txt
360     kafkapc_equal topics/unauthenticated.dmaapmed_kafka.text/counters/sent 1 30
361     for ((i=0; i<$NUM_CR; i++))
362     do
363         cr_equal $i received_callbacks $EXPECTED_DATA_DELIV 60
364         cr_equal $i received_callback_batches $EXPECTED_BATCHES_DELIV 60
365     done
366
367     EXPECTED_DATA_DELIV=$(($NUM_JOBS/$NUM_CR+$EXPECTED_DATA_DELIV))
368     EXPECTED_BATCHES_DELIV=$(($NUM_JOBS/$NUM_CR+$EXPECTED_BATCHES_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 2 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_BATCHES_DELIV 60
375     done
376
377     EXPECTED_DATA_DELIV=$(($NUM_JOBS/$NUM_CR+$EXPECTED_DATA_DELIV))
378     EXPECTED_BATCHES_DELIV=$(($NUM_JOBS/$NUM_CR+$EXPECTED_BATCHES_DELIV))
379     kafkapc_api_post_msg_from_file 200 "unauthenticated.dmaapmed_kafka.text" "text/plain" ./tmp/data_for_dmaap_test.txt
380     kafkapc_equal topics/unauthenticated.dmaapmed_kafka.text/counters/sent 3 30
381     for ((i=0; i<$NUM_CR; i++))
382     do
383         cr_equal $i received_callbacks $EXPECTED_DATA_DELIV 60
384         cr_equal $i received_callback_batches $EXPECTED_BATCHES_DELIV 60
385     done
386
387     EXPECTED_DATA_DELIV=$(($NUM_JOBS/$NUM_CR+$EXPECTED_DATA_DELIV))
388     EXPECTED_BATCHES_DELIV=$(($NUM_JOBS/$NUM_CR+$EXPECTED_BATCHES_DELIV))
389     kafkapc_api_post_msg_from_file 200 "unauthenticated.dmaapmed_kafka.text" "text/plain" ./tmp/data_for_dmaap_test.txt
390     kafkapc_equal topics/unauthenticated.dmaapmed_kafka.text/counters/sent 4 30
391     for ((i=0; i<$NUM_CR; i++))
392     do
393         cr_equal $i received_callbacks $EXPECTED_DATA_DELIV 60
394         cr_equal $i received_callback_batches $EXPECTED_BATCHES_DELIV 60
395     done
396
397     EXPECTED_DATA_DELIV=$(($NUM_JOBS/$NUM_CR+$EXPECTED_DATA_DELIV))
398     EXPECTED_BATCHES_DELIV=$(($NUM_JOBS/$NUM_CR+$EXPECTED_BATCHES_DELIV))
399     kafkapc_api_post_msg_from_file 200 "unauthenticated.dmaapmed_kafka.text" "text/plain" ./tmp/data_for_dmaap_test.txt
400     kafkapc_equal topics/unauthenticated.dmaapmed_kafka.text/counters/sent 5 30
401     for ((i=0; i<$NUM_CR; i++))
402     do
403         cr_equal $i received_callbacks $EXPECTED_DATA_DELIV 60
404         cr_equal $i received_callback_batches $EXPECTED_BATCHES_DELIV 60
405     done
406
407     # Check received data callbacks from adapter kafka
408     for ((i=1; i<=$NUM_JOBS; i++))
409     do
410         cr_index=$(($i%$NUM_CR))
411         cr_api_check_single_genric_event_md5_file 200 $cr_index job-med-kafka-data$i ./tmp/data_for_dmaap_test.txt
412         cr_api_check_single_genric_event_md5_file 200 $cr_index job-med-kafka-data$i ./tmp/data_for_dmaap_test.txt
413         cr_api_check_single_genric_event_md5_file 200 $cr_index job-med-kafka-data$i ./tmp/data_for_dmaap_test.txt
414         cr_api_check_single_genric_event_md5_file 200 $cr_index job-med-kafka-data$i ./tmp/data_for_dmaap_test.txt
415         cr_api_check_single_genric_event_md5_file 200 $cr_index job-med-kafka-data$i ./tmp/data_for_dmaap_test.txt
416     done
417 fi
418
419 # Send small json via message-router to adapter
420 mr_api_send_json "/events/unauthenticated.dmaapadp.json" '{"msg":"msg-1"}'
421 mr_api_send_json "/events/unauthenticated.dmaapadp.json" '{"msg":"msg-3"}'
422
423 #########################################################
424 #Checking number of message batches is not reliable when
425 #sending several messages at the same time
426 #Two messages may be send separately or to together
427 #in one batch
428 #########################################################
429
430 DATA_DELIV_JOBS=7 #Each job will eventuall get 5+2 msgs
431
432 # Wait for data recetption, adapter
433 EXPECTED_DATA_DELIV=$(($NUM_JOBS*2/$NUM_CR+$EXPECTED_DATA_DELIV))
434 start_timer "Data delivery adapter, 2 json per job"
435 for ((i=0; i<$NUM_CR; i++))
436 do
437     cr_equal $i received_callbacks $EXPECTED_DATA_DELIV 60
438 done
439 print_timer
440
441 # Send small text via message-router to adapter
442 kafkapc_api_post_msg 200 "unauthenticated.dmaapadp_kafka.text" "text/plain" 'Message-------1'
443 kafkapc_api_post_msg 200 "unauthenticated.dmaapadp_kafka.text" "text/plain" 'Message-------3'
444 kafkapc_equal topics/unauthenticated.dmaapadp_kafka.text/counters/sent 7 30
445
446 # Wait for data recetption, adapter kafka
447 EXPECTED_DATA_DELIV=$(($NUM_JOBS*2/$NUM_CR+$EXPECTED_DATA_DELIV))
448 start_timer "Data delivery adapter kafka, 2 strings per job"
449 for ((i=0; i<$NUM_CR; i++))
450 do
451     cr_equal $i received_callbacks $EXPECTED_DATA_DELIV 60
452 done
453 print_timer
454
455 # Send small json via message-router to mediator
456 mr_api_send_json "/events/unauthenticated.dmaapmed.json" '{"msg":"msg-0"}'
457 mr_api_send_json "/events/unauthenticated.dmaapmed.json" '{"msg":"msg-2"}'
458
459 # Wait for data reception, mediator
460 EXPECTED_DATA_DELIV=$(($NUM_JOBS*2/$NUM_CR+$EXPECTED_DATA_DELIV))
461 start_timer "Data delivery mediator, 2 json per job"
462 for ((i=0; i<$NUM_CR; i++))
463 do
464     cr_equal $i received_callbacks $EXPECTED_DATA_DELIV 100
465 done
466 print_timer
467
468 if [[ "$DMAAP_MED_FEATURE_LEVEL" == *"KAFKATYPES"* ]]; then
469     # Send small text via message-router to mediator
470     kafkapc_api_post_msg 200 "unauthenticated.dmaapmed_kafka.text" "text/plain" 'Message-------0'
471     kafkapc_api_post_msg 200 "unauthenticated.dmaapmed_kafka.text" "text/plain" 'Message-------2'
472     kafkapc_equal topics/unauthenticated.dmaapmed_kafka.text/counters/sent 7 30
473
474     # Wait for data recetption, adapter kafka
475     EXPECTED_DATA_DELIV=$(($NUM_JOBS*2/$NUM_CR+$EXPECTED_DATA_DELIV))
476     start_timer "Data delivery mediator kafka, 2 strings per job"
477     for ((i=0; i<$NUM_CR; i++))
478     do
479         cr_equal $i received_callbacks $EXPECTED_DATA_DELIV 60
480     done
481     print_timer
482 fi
483
484 # Check received number of messages for mediator and adapter callbacks
485 for ((i=1; i<=$NUM_JOBS; i++))
486 do
487     cr_index=$(($i%$NUM_CR))
488     cr_equal $cr_index received_callbacks?id=job-med-data$i $DATA_DELIV_JOBS
489     cr_equal $cr_index received_callbacks?id=job-adp-data$i $DATA_DELIV_JOBS
490     cr_equal $cr_index received_callbacks?id=job-adp-kafka-data$i $DATA_DELIV_JOBS
491     if [[ "$DMAAP_MED_FEATURE_LEVEL" == *"KAFKATYPES"* ]]; then
492         cr_equal $cr_index received_callbacks?id=job-med-kafka-data$i $DATA_DELIV_JOBS
493     fi
494 done
495
496 # Check received data and order for mediator and adapter callbacks
497 for ((i=1; i<=$NUM_JOBS; i++))
498 do
499     cr_index=$(($i%$NUM_CR))
500     cr_api_check_single_genric_event_md5 200 $cr_index job-med-data$i '{"msg":"msg-0"}'
501     cr_api_check_single_genric_event_md5 200 $cr_index job-med-data$i '{"msg":"msg-2"}'
502     cr_api_check_single_genric_event_md5 200 $cr_index job-adp-data$i '{"msg":"msg-1"}'
503     cr_api_check_single_genric_event_md5 200 $cr_index job-adp-data$i '{"msg":"msg-3"}'
504     cr_api_check_single_genric_event_md5 200 $cr_index job-adp-kafka-data$i 'Message-------1'
505     cr_api_check_single_genric_event_md5 200 $cr_index job-adp-kafka-data$i 'Message-------3'
506     if [[ "$DMAAP_MED_FEATURE_LEVEL" == *"KAFKATYPES"* ]]; then
507         cr_api_check_single_genric_event_md5 200 $cr_index job-med-kafka-data$i 'Message-------0'
508         cr_api_check_single_genric_event_md5 200 $cr_index job-med-kafka-data$i 'Message-------2'
509     fi
510 done
511
512 # Set delay in the callback receiver to slow down callbacks
513 SEC_DELAY=2
514 for ((i=0; i<$NUM_CR; i++))
515 do
516     cr_delay_callback 200 $i $SEC_DELAY
517 done
518
519 # Send small json via message-router to adapter
520 mr_api_send_json "/events/unauthenticated.dmaapadp.json" '{"msg":"msg-5"}'
521 mr_api_send_json "/events/unauthenticated.dmaapadp.json" '{"msg":"msg-7"}'
522
523 # Wait for data recetption, adapter
524 EXPECTED_DATA_DELIV=$(($NUM_JOBS*2/$NUM_CR+$EXPECTED_DATA_DELIV))
525 start_timer "Data delivery adapter with $SEC_DELAY seconds delay in consumer, 2 json per job"
526 for ((i=0; i<$NUM_CR; i++))
527 do
528     cr_equal $i received_callbacks $EXPECTED_DATA_DELIV 100
529 done
530 print_timer
531
532
533 # Send small text via message-router to adapter kafka
534 kafkapc_api_post_msg 200 "unauthenticated.dmaapadp_kafka.text" "text/plain" 'Message-------5'
535 kafkapc_api_post_msg 200 "unauthenticated.dmaapadp_kafka.text" "text/plain" 'Message-------7'
536 kafkapc_equal topics/unauthenticated.dmaapadp_kafka.text/counters/sent 9 30
537
538 # Wait for data recetption, adapter kafka
539 EXPECTED_DATA_DELIV=$(($NUM_JOBS*2/$NUM_CR+$EXPECTED_DATA_DELIV))
540 start_timer "Data delivery adapter kafka with $SEC_DELAY seconds delay in consumer, 2 strings per job"
541 for ((i=0; i<$NUM_CR; i++))
542 do
543     cr_equal $i received_callbacks $EXPECTED_DATA_DELIV 100
544 done
545 print_timer
546
547
548 # Send small json via message-router to mediator
549 mr_api_send_json "/events/unauthenticated.dmaapmed.json" '{"msg":"msg-4"}'
550 mr_api_send_json "/events/unauthenticated.dmaapmed.json" '{"msg":"msg-6"}'
551
552 # Wait for data reception, mediator
553 EXPECTED_DATA_DELIV=$(($NUM_JOBS*2/$NUM_CR+$EXPECTED_DATA_DELIV))
554 start_timer "Data delivery mediator with $SEC_DELAY seconds delay in consumer, 2 json per job"
555 for ((i=0; i<$NUM_CR; i++))
556 do
557     cr_equal $i received_callbacks $EXPECTED_DATA_DELIV 100
558 done
559 print_timer
560
561 if [[ "$DMAAP_MED_FEATURE_LEVEL" == *"KAFKATYPES"* ]]; then
562     # Send small text via message-router to mediator kafka
563     kafkapc_api_post_msg 200 "unauthenticated.dmaapmed_kafka.text" "text/plain" 'Message-------4'
564     kafkapc_api_post_msg 200 "unauthenticated.dmaapmed_kafka.text" "text/plain" 'Message-------6'
565     kafkapc_equal topics/unauthenticated.dmaapmed_kafka.text/counters/sent 9 30
566
567     # Wait for data recetption, mediator kafka
568     EXPECTED_DATA_DELIV=$(($NUM_JOBS*2/$NUM_CR+$EXPECTED_DATA_DELIV))
569     start_timer "Data delivery mediator kafka with $SEC_DELAY seconds delay in consumer, 2 strings per job"
570     for ((i=0; i<$NUM_CR; i++))
571     do
572         cr_equal $i received_callbacks $EXPECTED_DATA_DELIV 100
573     done
574     print_timer
575 fi
576
577 # Check received number of messages for mediator and adapter callbacks
578 for ((i=1; i<=$NUM_JOBS; i++))
579 do
580     cr_index=$(($i%$NUM_CR))
581     cr_equal $cr_index received_callbacks?id=job-med-data$i 9
582     cr_equal $cr_index received_callbacks?id=job-adp-data$i 9
583     cr_equal $cr_index received_callbacks?id=job-adp-kafka-data$i 9
584     if [[ "$DMAAP_MED_FEATURE_LEVEL" == *"KAFKATYPES"* ]]; then
585         cr_equal $cr_index received_callbacks?id=job-med-kafka-data$i 9
586     fi
587 done
588
589 # Check received data and order for mediator and adapter callbacks
590 for ((i=1; i<=$NUM_JOBS; i++))
591 do
592     cr_index=$(($i%$NUM_CR))
593     cr_api_check_single_genric_event_md5 200 $cr_index job-med-data$i '{"msg":"msg-4"}'
594     cr_api_check_single_genric_event_md5 200 $cr_index job-med-data$i '{"msg":"msg-6"}'
595     cr_api_check_single_genric_event_md5 200 $cr_index job-adp-data$i '{"msg":"msg-5"}'
596     cr_api_check_single_genric_event_md5 200 $cr_index job-adp-data$i '{"msg":"msg-7"}'
597     cr_api_check_single_genric_event_md5 200 $cr_index job-adp-kafka-data$i 'Message-------5'
598     cr_api_check_single_genric_event_md5 200 $cr_index job-adp-kafka-data$i 'Message-------7'
599     if [[ "$DMAAP_MED_FEATURE_LEVEL" == *"KAFKATYPES"* ]]; then
600         cr_api_check_single_genric_event_md5 200 $cr_index job-med-kafka-data$i 'Message-------4'
601         cr_api_check_single_genric_event_md5 200 $cr_index job-med-kafka-data$i 'Message-------6'
602     fi
603 done
604
605 #### TEST COMPLETE ####
606
607 store_logs          END
608
609 print_result
610
611 auto_clean_environment