Merge "Added functional CSIT tests for DFC"
[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 # ================================================================================
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 *** Settings ***
20 Library       DcaeAppSimulatorLibrary
21 Library       XnfSimulatorLibrary
22 Library       VesHvContainersUtilsLibrary
23 Library       Collections
24
25 Resource      resources/common-keywords.robot
26
27 Suite Setup       Message Routing Suite Setup
28 Suite Teardown    VES-HV Collector Suite Teardown
29 Test Teardown     VES-HV Collector Test Shutdown
30
31 *** Keywords ***
32 Message Routing Suite Setup
33     Log   Started Suite: VES-HV Message Routing
34     ${XNF_PORTS_LIST}=    Create List    7000
35     Configure xNF Simulators Using Valid Certificates On Ports    ${XNF_PORTS_LIST}
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     ...               and do not change message payload generated in XNF simulator
42
43     ${XNF_SIMULATOR}=   Get xNF Simulators Using Valid Certificates
44     Send Messages From xNF Simulators   ${XNF_SIMULATOR}   ${XNF_FIXED_PAYLOAD_REQUEST}
45
46     Wait until keyword succeeds   60 sec   5 sec
47     ...    Assert Dcae App Consumed   ${DCAE_APP_API_MESSAGES_COUNT_URL}   ${AMOUNT_25000}
48     Assert Dcae App Consumed Proper Messages   ${DCAE_APP_API_MESSAGES_VALIDATION_URL}   ${DCAE_FIXED_PAYLOAD_REQUEST}
49
50
51 Too big payload message handling
52     [Documentation]   VES-HV Collector should interrupt the stream when encountered message with too big payload
53
54     ${XNF_SIMULATOR}=   Get xNF Simulators Using Valid Certificates
55     Send Messages From xNF Simulators   ${XNF_SIMULATOR}   ${XNF_TOO_BIG_PAYLOAD_REQUEST}
56
57     Wait until keyword succeeds   60 sec   5 sec
58     ...    Assert Dcae App Consumed   ${DCAE_APP_API_MESSAGES_COUNT_URL}   ${AMOUNT_25000}
59     Assert Dcae App Consumed Proper Messages   ${DCAE_APP_API_MESSAGES_VALIDATION_URL}   ${DCAE_TOO_BIG_PAYLOAD_REQUEST}
60
61
62 Invalid wire frame message handling
63     [Documentation]  VES-HV Collector should skip messages with invalid wire frame
64
65     ${XNF_SIMULATOR}=   Get xNF Simulators Using Valid Certificates
66     Send Messages From xNF Simulators   ${XNF_SIMULATOR}   ${XNF_INVALID_WIRE_FRAME_REQUEST}
67
68     Wait until keyword succeeds   60 sec   5 sec
69     ...    Assert Dcae App Consumed   ${DCAE_APP_API_MESSAGES_COUNT_URL}   ${AMOUNT_50000}
70     Assert Dcae App Consumed Proper Messages   ${DCAE_APP_API_MESSAGES_VALIDATION_URL}   ${DCAE_INVALID_WIRE_FRAME_REQUEST}
71
72
73 Invalid GPB data message handling
74     [Documentation]   VES-HV Collector should skip messages with invalid GPB data
75
76     ${XNF_SIMULATOR}=   Get xNF Simulators Using Valid Certificates
77     Send Messages From xNF Simulators   ${XNF_SIMULATOR}   ${XNF_INVALID_GPB_DATA_REQUEST}
78
79     Wait until keyword succeeds   60 sec   5 sec
80     ...    Assert Dcae App Consumed   ${DCAE_APP_API_MESSAGES_COUNT_URL}  ${AMOUNT_50000}
81     Assert Dcae App Consumed Proper Messages   ${DCAE_APP_API_MESSAGES_VALIDATION_URL}   ${DCAE_INVALID_GPB_DATA_REQUEST}
82
83
84 Unsupported domain message handling
85     [Documentation]   VES-HV Collector should skip messages with unsupported domain
86
87     ${XNF_SIMULATOR}=   Get xNF Simulators Using Valid Certificates
88     Send Messages From xNF Simulators   ${XNF_SIMULATOR}   ${XNF_UNSUPPORTED_DOMAIN_REQUEST}
89
90     Wait until keyword succeeds   60 sec   5 sec
91     ...    Assert Dcae App Consumed  ${DCAE_APP_API_MESSAGES_COUNT_URL}   ${AMOUNT_50000}
92     Assert Dcae App Consumed Proper Messages   ${DCAE_APP_API_MESSAGES_VALIDATION_URL}   ${DCAE_UNSUPPORTED_DOMAIN_REQUEST}
93
94 *** Variables ***
95 ${HTTP_METHOD_URL}                             http://
96
97 ${XNF_SIM_API_PATH}                            /simulator/async
98
99 ${HV_VES_SCENARIOS}                            %{WORKSPACE}/tests/dcaegen2-collectors-hv-ves/testcases/resources/scenarios
100 ${XNF_FIXED_PAYLOAD_REQUEST}                   ${HV_VES_SCENARIOS}/fixed-payload/xnf-fixed-payload-request.json
101 ${XNF_TOO_BIG_PAYLOAD_REQUEST}                 ${HV_VES_SCENARIOS}/too-big-payload/xnf-too-big-payload-request.json
102 ${XNF_INVALID_WIRE_FRAME_REQUEST}              ${HV_VES_SCENARIOS}/invalid-wire-frame/xnf-invalid-wire-frame-request.json
103 ${XNF_INVALID_GPB_DATA_REQUEST}                ${HV_VES_SCENARIOS}/invalid-gpb-data/xnf-invalid-gpb-data-request.json
104 ${XNF_UNSUPPORTED_DOMAIN_REQUEST}              ${HV_VES_SCENARIOS}/unsupported-domain/xnf-unsupported-domain-request.json
105
106 ${DCAE_FIXED_PAYLOAD_REQUEST}                  ${HV_VES_SCENARIOS}/fixed-payload/dcae-fixed-payload-request.json
107 ${DCAE_TOO_BIG_PAYLOAD_REQUEST}                ${HV_VES_SCENARIOS}/too-big-payload/dcae-too-big-payload-request.json
108 ${DCAE_INVALID_WIRE_FRAME_REQUEST}             ${HV_VES_SCENARIOS}/invalid-wire-frame/dcae-invalid-wire-frame-request.json
109 ${DCAE_INVALID_GPB_DATA_REQUEST}               ${HV_VES_SCENARIOS}/invalid-gpb-data/dcae-invalid-gpb-data-request.json
110 ${DCAE_UNSUPPORTED_DOMAIN_REQUEST}             ${HV_VES_SCENARIOS}/unsupported-domain/dcae-unsupported-domain-request.json
111
112 ${AMOUNT_25000}                                25000
113 ${AMOUNT_50000}                                50000