Write HV-VES testcase for multiple clients
- renamed messages routing suite file to reflect what
tests it's covering
- extracted common robot keywords related to xNF simulators creation
from messages routing suite to separate resource file
- written test suite for handling multiple clients at once
Change-Id: If80d2d91ae96a0432fd4b6e51bce26796ee9200b
Issue-ID: DCAEGEN2-687
Signed-off-by: pbiniek <pawel.biniek@nokia.com>
diff --git a/test/csit/tests/dcaegen2-collectors-hv-ves/testcases/__init__.robot b/test/csit/tests/dcaegen2-collectors-hv-ves/testcases/__init__.robot
index c0a96db..32e920b 100644
--- a/test/csit/tests/dcaegen2-collectors-hv-ves/testcases/__init__.robot
+++ b/test/csit/tests/dcaegen2-collectors-hv-ves/testcases/__init__.robot
@@ -17,6 +17,7 @@
${CONSUL_API_ACCESS}= Get Consul Api Access Url ${HTTP_METHOD_URL} ${CONSUL_CONTAINER_HOST} ${CONSUL_CONTAINER_PORT}
${CONSUL_API_URL}= Catenate SEPARATOR= ${CONSUL_API_ACCESS} ${CONSUL_VES_HV_CONFIGURATION_KEY_PATH}
Publish HV VES Configuration In Consul ${CONSUL_API_URL} ${VES_HV_CONFIGURATION_JSON_FILEPATH}
+ Sleep 5
Configure Dcae App
${DCAE_APP_API_ACCESS}= Get Dcae App Api Access Url ${HTTP_METHOD_URL} ${DCAE_APP_CONTAINER_HOST} ${DCAE_APP_CONTAINER_PORT}
diff --git a/test/csit/tests/dcaegen2-collectors-hv-ves/testcases/multiple-clients.robot b/test/csit/tests/dcaegen2-collectors-hv-ves/testcases/multiple-clients.robot
new file mode 100644
index 0000000..bac8539
--- /dev/null
+++ b/test/csit/tests/dcaegen2-collectors-hv-ves/testcases/multiple-clients.robot
@@ -0,0 +1,35 @@
+*** Settings ***
+Library DcaeAppSimulatorLibrary
+
+Resource resources/common-keywords.robot
+
+Suite Setup Multiple Clients Handling Suite Setup
+Suite Teardown VES-HV Collector Suite Teardown
+Test Teardown VES-HV Collector Test Shutdown
+
+*** Keywords ***
+Multiple Clients Handling Suite Setup
+ Log Started Suite: VES-HV Multiple Clients Handling
+ ${XNF_PORTS_LIST}= Create List 7000 7001 7002
+ Configure xNF Simulators On Ports ${XNF_PORTS_LIST}
+ Log Suite setup finished
+
+*** Test Cases ***
+Handle Multiple Connections
+ [Documentation] VES-HV Collector should handle multiple incoming transmissions
+
+ ${SIMULATORS_LIST}= Get xNF Simulators 3
+ Send Messages From xNF Simulators ${SIMULATORS_LIST} ${XNF_SMALLER_PAYLOAD_REQUEST}
+
+ Wait until keyword succeeds 60 sec 5 sec
+ ... Assert Dcae App Consumed ${DCAE_APP_API_MESSAGES_COUNT_URL} ${AMOUNT_15000}
+ Assert Dcae App Consumed Proper Messages ${DCAE_APP_API_MESSAGES_VALIDATION_URL} ${DCAE_SMALLER_PAYLOAD_REQUEST}
+
+
+*** Variables ***
+${VES_HV_SCENARIOS} %{WORKSPACE}/test/csit/tests/dcaegen2-collectors-hv-ves/testcases/resources/scenarios
+
+${XNF_SMALLER_PAYLOAD_REQUEST} ${VES_HV_SCENARIOS}/multiple-simulators-payload/xnf-simulator-smaller-valid-request.json
+${DCAE_SMALLER_PAYLOAD_REQUEST} ${VES_HV_SCENARIOS}/multiple-simulators-payload/dcae-smaller-valid-request.json
+
+${AMOUNT_15000} 15000
diff --git a/test/csit/tests/dcaegen2-collectors-hv-ves/testcases/resources/common-keywords.robot b/test/csit/tests/dcaegen2-collectors-hv-ves/testcases/resources/common-keywords.robot
new file mode 100644
index 0000000..af4cd71
--- /dev/null
+++ b/test/csit/tests/dcaegen2-collectors-hv-ves/testcases/resources/common-keywords.robot
@@ -0,0 +1,38 @@
+*** Settings ***
+Library XnfSimulatorLibrary
+Library VesHvContainersUtilsLibrary
+Library Collections
+
+*** Keywords ***
+Configure xNF Simulators On Ports
+ [Arguments] ${XNF_PORTS_LIST}
+ ${XNF_SIMULATORS_ADDRESSES}= Start Xnf Simulators ${XNF_PORTS_LIST} True
+ Set Suite Variable ${XNF_SIMULATORS_ADDRESSES}
+
+
+Get xNF Simulators
+ [Arguments] ${AMOUNT}
+ ${SIMULATORS}= Get Slice From List ${XNF_SIMULATORS_ADDRESSES} 0 ${AMOUNT}
+ [Return] ${SIMULATORS}
+
+
+Send Messages From xNF Simulators
+ [Arguments] ${XNF_HOSTS_LIST} ${MESSAGE_FILEPATH}
+ :FOR ${HOST} IN @{XNF_HOSTS_LIST}
+ \ ${XNF_SIM_API_ACCESS}= Get xNF Sim Api Access Url ${HTTP_METHOD_URL} ${HOST}
+ \ ${XNF_SIM_API_URL}= Catenate SEPARATOR= ${XNF_SIM_API_ACCESS} ${XNF_SIM_API_PATH}
+ \ Send messages ${XNF_SIM_API_URL} ${MESSAGE_FILEPATH}
+
+
+VES-HV Collector Test Shutdown
+ Reset DCAE App Simulator ${DCAE_APP_API_MESSAGE_RESET_URL}
+
+
+VES-HV Collector Suite Teardown
+ Stop And Remove All Xnf Simulators
+
+*** Variables ***
+${HTTP_METHOD_URL} http://
+
+${XNF_SIM_API_PATH} /simulator/async
+
diff --git a/test/csit/tests/dcaegen2-collectors-hv-ves/testcases/resources/scenarios/multiple-simulators-payload/dcae-smaller-valid-request.json b/test/csit/tests/dcaegen2-collectors-hv-ves/testcases/resources/scenarios/multiple-simulators-payload/dcae-smaller-valid-request.json
new file mode 100644
index 0000000..9d34a7e
--- /dev/null
+++ b/test/csit/tests/dcaegen2-collectors-hv-ves/testcases/resources/scenarios/multiple-simulators-payload/dcae-smaller-valid-request.json
@@ -0,0 +1,23 @@
+[
+ {
+ "commonEventHeader": {
+ "version": "sample-version",
+ "domain": "HVRANMEAS",
+ "sequence": 1,
+ "priority": 1,
+ "eventId": "sample-event-id",
+ "eventName": "sample-event-name",
+ "eventType": "sample-event-type",
+ "startEpochMicrosec": 120034455,
+ "lastEpochMicrosec": 120034455,
+ "nfNamingCode": "sample-nf-naming-code",
+ "nfcNamingCode": "sample-nfc-naming-code",
+ "reportingEntityId": "sample-reporting-entity-id",
+ "reportingEntityName": "sample-reporting-entity-name",
+ "sourceId": "sample-source-id",
+ "sourceName": "sample-source-name"
+ },
+ "messageType": "FIXED_PAYLOAD",
+ "messagesAmount": 15000
+ }
+]
\ No newline at end of file
diff --git a/test/csit/tests/dcaegen2-collectors-hv-ves/testcases/resources/scenarios/multiple-simulators-payload/xnf-simulator-smaller-valid-request.json b/test/csit/tests/dcaegen2-collectors-hv-ves/testcases/resources/scenarios/multiple-simulators-payload/xnf-simulator-smaller-valid-request.json
new file mode 100644
index 0000000..625737e
--- /dev/null
+++ b/test/csit/tests/dcaegen2-collectors-hv-ves/testcases/resources/scenarios/multiple-simulators-payload/xnf-simulator-smaller-valid-request.json
@@ -0,0 +1,23 @@
+[
+ {
+ "commonEventHeader": {
+ "version": "sample-version",
+ "domain": "HVRANMEAS",
+ "sequence": 1,
+ "priority": 1,
+ "eventId": "sample-event-id",
+ "eventName": "sample-event-name",
+ "eventType": "sample-event-type",
+ "startEpochMicrosec": 120034455,
+ "lastEpochMicrosec": 120034455,
+ "nfNamingCode": "sample-nf-naming-code",
+ "nfcNamingCode": "sample-nfc-naming-code",
+ "reportingEntityId": "sample-reporting-entity-id",
+ "reportingEntityName": "sample-reporting-entity-name",
+ "sourceId": "sample-source-id",
+ "sourceName": "sample-source-name"
+ },
+ "messageType": "FIXED_PAYLOAD",
+ "messagesAmount": 5000
+ }
+]
\ No newline at end of file