9898a9680778759f7936cfef33aade9128d3a061
[integration/csit.git] / tests / dcaegen2-collectors-hv-ves / testcases / message-routing.robot
1 # ============LICENSE_START=======================================================
2 # csit-dcaegen2-collectors-hv-ves
3 # ================================================================================
4 # Copyright (C) 2018-2019 NOKIA
5 # Modification copyright (C) 2021 Samsung Electronics Co., Ltd.
6 # ================================================================================
7 # Licensed under the Apache License, Version 2.0 (the "License");
8 # you may not use this file except in compliance with the License.
9 # You may obtain a copy of the License at
10 #
11 #      http://www.apache.org/licenses/LICENSE-2.0
12 #
13 # Unless required by applicable law or agreed to in writing, software
14 # distributed under the License is distributed on an "AS IS" BASIS,
15 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16 # See the License for the specific language governing permissions and
17 # limitations under the License.
18 # ============LICENSE_END=========================================================
19
20 *** Settings ***
21 Library       DcaeAppSimulatorLibrary
22 Library       XnfSimulatorLibrary
23 Library       VesHvContainersUtilsLibrary
24 Library       Collections
25
26 Resource      resources/common-keywords.robot
27
28 Suite Setup       Message Routing Suite Setup
29 Suite Teardown    VES-HV Collector Suite Teardown
30 Test Teardown     VES-HV Collector Test Shutdown
31
32 *** Keywords ***
33 Message Routing Suite Setup
34     Log   Started Suite: VES-HV Message Routing
35     Configure Single xNF Simulator
36     Log   Suite setup finished
37
38 *** Test Cases ***
39 Correct Messages Routing
40     [Documentation]   VES-HV Collector should route all valid messages to topics specified in configuration
41     ...               without changing message payload generated in xNF simulator
42
43     Send Messages From xNF Simulators   ${XNF_SIMULATOR}   ${XNF_FIXED_PAYLOAD_REQUEST}
44
45     Wait until keyword succeeds   60 sec   5 sec
46     ...    Assert Dcae App Consumed   ${DEFAULT_PERF3GPP_TOPIC}   ${AMOUNT_25000}
47     Assert Dcae App Consumed Proper Messages   ${DEFAULT_PERF3GPP_TOPIC}   ${DCAE_FIXED_PAYLOAD_REQUEST}
48
49
50 Too big payload message handling
51     [Documentation]   VES-HV Collector should interrupt the stream when a message with too big payload is encountered
52
53     Send Messages From xNF Simulators   ${XNF_SIMULATOR}   ${XNF_TOO_BIG_PAYLOAD_REQUEST}
54
55     Wait until keyword succeeds   60 sec   5 sec
56     ...    Assert Dcae App Consumed   ${DEFAULT_PERF3GPP_TOPIC}   ${AMOUNT_25000}
57     Assert Dcae App Consumed Proper Messages   ${DEFAULT_PERF3GPP_TOPIC}   ${DCAE_TOO_BIG_PAYLOAD_REQUEST}
58
59
60 Invalid wire frame message handling
61     [Documentation]  VES-HV Collector should skip messages with invalid wire frame
62
63     Send Messages From xNF Simulators   ${XNF_SIMULATOR}   ${XNF_INVALID_WIRE_FRAME_REQUEST}
64
65     Wait until keyword succeeds   60 sec   5 sec
66     ...    Assert Dcae App Consumed   ${DEFAULT_PERF3GPP_TOPIC}   ${AMOUNT_50000}
67     Assert Dcae App Consumed Proper Messages   ${DEFAULT_PERF3GPP_TOPIC}   ${DCAE_INVALID_WIRE_FRAME_REQUEST}
68
69
70 Invalid GPB data message handling
71     [Documentation]   VES-HV Collector should skip messages with invalid GPB data
72
73     Send Messages From xNF Simulators   ${XNF_SIMULATOR}   ${XNF_INVALID_GPB_DATA_REQUEST}
74
75     Wait until keyword succeeds   60 sec   5 sec
76     ...    Assert Dcae App Consumed   ${DEFAULT_PERF3GPP_TOPIC}  ${AMOUNT_50000}
77     Assert Dcae App Consumed Proper Messages   ${DEFAULT_PERF3GPP_TOPIC}   ${DCAE_INVALID_GPB_DATA_REQUEST}
78
79
80 Unsupported domain message handling
81     [Documentation]   VES-HV Collector should skip messages with unsupported domain
82
83     Send Messages From xNF Simulators   ${XNF_SIMULATOR}   ${XNF_UNSUPPORTED_DOMAIN_REQUEST}
84
85     Wait until keyword succeeds   60 sec   5 sec
86     ...    Assert Dcae App Consumed  ${DEFAULT_PERF3GPP_TOPIC}   ${AMOUNT_50000}
87     Assert Dcae App Consumed Proper Messages   ${DEFAULT_PERF3GPP_TOPIC}   ${DCAE_UNSUPPORTED_DOMAIN_REQUEST}
88
89 *** Variables ***
90 ${HTTP_METHOD_URL}                             http://
91
92 ${XNF_SIM_API_PATH}                            /simulator/async
93
94 ${HV_VES_SCENARIOS}                            %{WORKSPACE}/tests/dcaegen2-collectors-hv-ves/testcases/resources/scenarios
95 ${XNF_FIXED_PAYLOAD_REQUEST}                   ${HV_VES_SCENARIOS}/fixed-payload/xnf-fixed-payload-request.json
96 ${XNF_TOO_BIG_PAYLOAD_REQUEST}                 ${HV_VES_SCENARIOS}/too-big-payload/xnf-too-big-payload-request.json
97 ${XNF_INVALID_WIRE_FRAME_REQUEST}              ${HV_VES_SCENARIOS}/invalid-wire-frame/xnf-invalid-wire-frame-request.json
98 ${XNF_INVALID_GPB_DATA_REQUEST}                ${HV_VES_SCENARIOS}/invalid-gpb-data/xnf-invalid-gpb-data-request.json
99 ${XNF_UNSUPPORTED_DOMAIN_REQUEST}              ${HV_VES_SCENARIOS}/unsupported-domain/xnf-unsupported-domain-request.json
100
101 ${DCAE_FIXED_PAYLOAD_REQUEST}                  ${HV_VES_SCENARIOS}/fixed-payload/dcae-fixed-payload-request.json
102 ${DCAE_TOO_BIG_PAYLOAD_REQUEST}                ${HV_VES_SCENARIOS}/too-big-payload/dcae-too-big-payload-request.json
103 ${DCAE_INVALID_WIRE_FRAME_REQUEST}             ${HV_VES_SCENARIOS}/invalid-wire-frame/dcae-invalid-wire-frame-request.json
104 ${DCAE_INVALID_GPB_DATA_REQUEST}               ${HV_VES_SCENARIOS}/invalid-gpb-data/dcae-invalid-gpb-data-request.json
105 ${DCAE_UNSUPPORTED_DOMAIN_REQUEST}             ${HV_VES_SCENARIOS}/unsupported-domain/dcae-unsupported-domain-request.json
106
107 ${AMOUNT_25000}                                25000
108 ${AMOUNT_50000}                                50000