From f344afa4b2b3c009823fb4895f22c9f839f1dbb0 Mon Sep 17 00:00:00 2001 From: Jakub Dudycz Date: Mon, 25 Mar 2019 16:04:58 +0100 Subject: Allow HV-VES tests to be run locally Change-Id: Id81e209c03486354a60b26c4fe426071080198f0 Signed-off-by: Jakub Dudycz Issue-ID: DCAEGEN2-1369 --- .../testcases/__init__.robot | 10 +++---- .../testcases/authorization.robot | 4 +-- .../testcases/libraries/DcaeAppSimulatorLibrary.py | 8 ++--- .../testcases/libraries/XnfSimulatorLibrary.py | 34 ++++++++++++---------- .../testcases/message-routing.robot | 24 +++++++-------- .../testcases/multiple-clients.robot | 6 ++-- 6 files changed, 45 insertions(+), 41 deletions(-) (limited to 'tests/dcaegen2-collectors-hv-ves') diff --git a/tests/dcaegen2-collectors-hv-ves/testcases/__init__.robot b/tests/dcaegen2-collectors-hv-ves/testcases/__init__.robot index 54d3e1c8..1ac91504 100644 --- a/tests/dcaegen2-collectors-hv-ves/testcases/__init__.robot +++ b/tests/dcaegen2-collectors-hv-ves/testcases/__init__.robot @@ -33,8 +33,8 @@ HV-VES Collector Suites Setup Configure collector ${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} + ${CONSUL_API_URL}= Catenate SEPARATOR= ${CONSUL_API_ACCESS} ${CONSUL_HV_VES_CONFIGURATION_KEY_PATH} + Publish HV VES Configuration In Consul ${CONSUL_API_URL} ${HV_VES_CONFIGURATION_JSON_FILEPATH} Configure Dcae App ${DCAE_APP_API_ACCESS}= Get Dcae App Api Access Url ${HTTP_METHOD_URL} ${DCAE_APP_CONTAINER_HOST} ${DCAE_APP_CONTAINER_PORT} @@ -58,7 +58,7 @@ ${HTTP_METHOD_URL} http:// ${CONSUL_CONTAINER_HOST} consul-server ${CONSUL_CONTAINER_PORT} 8500 -${CONSUL_VES_HV_CONFIGURATION_KEY_PATH} /v1/kv/dcae-hv-ves-collector +${CONSUL_HV_VES_CONFIGURATION_KEY_PATH} /v1/kv/dcae-hv-ves-collector ${DCAE_APP_CONTAINER_HOST} dcae-app-simulator ${DCAE_APP_CONTAINER_PORT} 6063 @@ -70,5 +70,5 @@ ${DCAE_APP_API_MESSAGES_VALIDATION_PATH} ${DCAE_APP_API_MESSAGES_PATH}/val ${ROUTED_MESSAGES_TOPIC} TEST_HV_VES_PERF3GPP -${VES_HV_RESOURCES} %{WORKSPACE}/tests/dcaegen2-collectors-hv-ves/testcases/resources -${VES_HV_CONFIGURATION_JSON_FILEPATH} ${VES_HV_RESOURCES}/ves-hv-configuration.json +${HV_VES_RESOURCES} %{WORKSPACE}/tests/dcaegen2-collectors-hv-ves/testcases/resources +${HV_VES_CONFIGURATION_JSON_FILEPATH} ${HV_VES_RESOURCES}/ves-hv-configuration.json diff --git a/tests/dcaegen2-collectors-hv-ves/testcases/authorization.robot b/tests/dcaegen2-collectors-hv-ves/testcases/authorization.robot index d5fc1e99..4d13a6bf 100644 --- a/tests/dcaegen2-collectors-hv-ves/testcases/authorization.robot +++ b/tests/dcaegen2-collectors-hv-ves/testcases/authorization.robot @@ -72,9 +72,9 @@ Unencrypted connection on both ends *** Variables *** -${VES_HV_SCENARIOS} %{WORKSPACE}/tests/dcaegen2-collectors-hv-ves/testcases/resources/scenarios +${HV_VES_SCENARIOS} %{WORKSPACE}/tests/dcaegen2-collectors-hv-ves/testcases/resources/scenarios -${XNF_VALID_MESSAGES_REQUEST} ${VES_HV_SCENARIOS}/authorization/xnf-valid-messages-request.json +${XNF_VALID_MESSAGES_REQUEST} ${HV_VES_SCENARIOS}/authorization/xnf-valid-messages-request.json ${AMOUNT_0} 0 ${AMOUNT_5000} 5000 diff --git a/tests/dcaegen2-collectors-hv-ves/testcases/libraries/DcaeAppSimulatorLibrary.py b/tests/dcaegen2-collectors-hv-ves/testcases/libraries/DcaeAppSimulatorLibrary.py index 3d811e49..dd41c6a3 100644 --- a/tests/dcaegen2-collectors-hv-ves/testcases/libraries/DcaeAppSimulatorLibrary.py +++ b/tests/dcaegen2-collectors-hv-ves/testcases/libraries/DcaeAppSimulatorLibrary.py @@ -33,8 +33,8 @@ class DcaeAppSimulatorLibrary: resp = HttpRequests.session_without_env().get(app_url, timeout=10) HttpRequests.checkStatusCode(resp.status_code, DCAE_APP_NAME) - assert resp.content == expected_messages_amount, \ - "Messages consumed by simulator: " + resp.content + " expecting: " + expected_messages_amount + assert int(resp.content) == int(expected_messages_amount), \ + "Messages consumed by simulator: " + str(resp.content) + " expecting: " + str(expected_messages_amount) def assert_DCAE_app_consumed_less_equal_than(self, app_url, messages_threshold): logger.info("GET at: " + app_url) @@ -45,8 +45,8 @@ class DcaeAppSimulatorLibrary: " expecting more than 0 and less/equal than " + messages_threshold) assert 0 < int(resp.content) <= int(messages_threshold), \ - "Messages consumed by simulator: " + resp.content + \ - " expecting more than 0 and less/equal than " + messages_threshold + "Messages consumed by simulator: " + str(resp.content) + \ + " expecting more than 0 and less/equal than " + str(messages_threshold) def reset_DCAE_app_simulator(self, app_url): logger.info("DELETE at: " + app_url) diff --git a/tests/dcaegen2-collectors-hv-ves/testcases/libraries/XnfSimulatorLibrary.py b/tests/dcaegen2-collectors-hv-ves/testcases/libraries/XnfSimulatorLibrary.py index 3f69f6ab..789c0b69 100644 --- a/tests/dcaegen2-collectors-hv-ves/testcases/libraries/XnfSimulatorLibrary.py +++ b/tests/dcaegen2-collectors-hv-ves/testcases/libraries/XnfSimulatorLibrary.py @@ -22,15 +22,21 @@ import docker from robot.api import logger from time import sleep +HV_VES_VERSION = os.getenv("HV_VES_VERSION") +HV_VES_COLLECTOR_NETWORK = os.getenv("CONTAINERS_NETWORK") +HV_VES_COLLECTOR_NAMESPACE = os.getenv("HV_VES_COLLECTOR_NAMESPACE") +HV_VES_GROUP_ID = os.getenv("HV_VES_GROUP_ID") +HV_VES_SERVICE_NAME = os.getenv("HV_VES_SERVICE_NAME") +UNENCRYPTED_HV_VES_SERVICE_NAME = os.getenv("UNENCRYPTED_HV_VES_SERVICE_NAME") + XNF_SIMULATOR_NAME = "xNF Simulator" -HV_VES_COLLECTOR_NAMESPACE="onap" -HV_VES_GROUP_ID="org.onap.dcaegen2.collectors.hv-ves" +XNF_SIMULATOR_CONTAINER_PREFIX = os.getenv("XNF_SIMULATOR_IMAGE") SIMULATOR_IMAGE_NAME = HV_VES_COLLECTOR_NAMESPACE + "/" + HV_VES_GROUP_ID + ".hv-collector-xnf-simulator" -HV_VES_VERSION="1.1-SNAPSHOT" + SIMULATOR_IMAGE_FULL_NAME = os.getenv("DOCKER_REGISTRY_PREFIX") + SIMULATOR_IMAGE_NAME + ":" + HV_VES_VERSION WORKSPACE_ENV = os.getenv("WORKSPACE") -certificates_dir_path = WORKSPACE_ENV + "/plans/dcaegen2-collectors-hv-ves/testsuites/collector/ssl/" -collector_certs_lookup_dir = "/etc/ves-hv/" +CERTIFICATES_DIR_PATH = WORKSPACE_ENV + "/plans/dcaegen2-collectors-hv-ves/testsuites/collector/ssl/" +COLLECTOR_CERTS_LOOKUP_DIR = "/etc/ves-hv/" ONE_SECOND_IN_NANOS = 10 ** 9 @@ -88,13 +94,13 @@ class XnfSimulatorLibrary: command=xNF_startup_command, healthcheck=xNF_healthcheck_command, detach=True, - network="ves-hv-default", + network=HV_VES_COLLECTOR_NETWORK, ports={port + "/tcp": port}, volumes=self.container_volumes(), - name=xnf.container_name_prefix + port) + name=XNF_SIMULATOR_CONTAINER_PREFIX + port) def container_volumes(self): - return {certificates_dir_path: {"bind": collector_certs_lookup_dir, "mode": 'rw'}} + return {CERTIFICATES_DIR_PATH: {"bind": COLLECTOR_CERTS_LOOKUP_DIR, "mode": 'rw'}} def assert_containers_startup_was_successful(self, dockerClient): checks_amount = 6 @@ -119,7 +125,7 @@ class XnfSimulatorLibrary: log_filename = WORKSPACE_ENV + "/archives/containers_logs/" + \ suite_name.split(".")[-1] + "_" + container.name + ".log" file = open(log_filename, "w+") - file.write(container.logs()) + file.write(str(container.logs())) file.close() container.stop() container.remove() @@ -141,7 +147,6 @@ class XnfSimulatorLibrary: class XnfSimulator: - container_name_prefix = "ves-hv-collector-xnf-simulator" def __init__(self, port, @@ -151,13 +156,13 @@ class XnfSimulator: self.port = port self.healthcheck_server_port = "6063" cert_name_prefix = "" if should_use_valid_certs else "untrusted" - certificates_path_with_file_prefix = collector_certs_lookup_dir + cert_name_prefix + certificates_path_with_file_prefix = COLLECTOR_CERTS_LOOKUP_DIR + cert_name_prefix self.key_store_path = certificates_path_with_file_prefix + "client.p12" self.trust_store_path = certificates_path_with_file_prefix + "trust.p12" self.sec_store_passwd = "onaponap" self.disable_ssl = should_disable_ssl - self.hv_collector_host = "unencrypted-ves-hv-collector" \ - if should_connect_to_unencrypted_hv_ves else "ves-hv-collector" + self.hv_collector_host = UNENCRYPTED_HV_VES_SERVICE_NAME \ + if should_connect_to_unencrypted_hv_ves else HV_VES_SERVICE_NAME def get_startup_command(self): startup_command = ["--listen-port", self.port, @@ -167,8 +172,7 @@ class XnfSimulator: "--key-store", self.key_store_path, "--trust-store", self.trust_store_path, "--key-store-password", self.sec_store_passwd, - "--trust-store-password", self.sec_store_passwd - ] + "--trust-store-password", self.sec_store_passwd] if self.disable_ssl: startup_command.append("--ssl-disable") return startup_command diff --git a/tests/dcaegen2-collectors-hv-ves/testcases/message-routing.robot b/tests/dcaegen2-collectors-hv-ves/testcases/message-routing.robot index 15c8ee8b..2fab3295 100644 --- a/tests/dcaegen2-collectors-hv-ves/testcases/message-routing.robot +++ b/tests/dcaegen2-collectors-hv-ves/testcases/message-routing.robot @@ -96,18 +96,18 @@ ${HTTP_METHOD_URL} http:// ${XNF_SIM_API_PATH} /simulator/async -${VES_HV_SCENARIOS} %{WORKSPACE}/tests/dcaegen2-collectors-hv-ves/testcases/resources/scenarios -${XNF_FIXED_PAYLOAD_REQUEST} ${VES_HV_SCENARIOS}/fixed-payload/xnf-fixed-payload-request.json -${XNF_TOO_BIG_PAYLOAD_REQUEST} ${VES_HV_SCENARIOS}/too-big-payload/xnf-too-big-payload-request.json -${XNF_INVALID_WIRE_FRAME_REQUEST} ${VES_HV_SCENARIOS}/invalid-wire-frame/xnf-invalid-wire-frame-request.json -${XNF_INVALID_GPB_DATA_REQUEST} ${VES_HV_SCENARIOS}/invalid-gpb-data/xnf-invalid-gpb-data-request.json -${XNF_UNSUPPORTED_DOMAIN_REQUEST} ${VES_HV_SCENARIOS}/unsupported-domain/xnf-unsupported-domain-request.json - -${DCAE_FIXED_PAYLOAD_REQUEST} ${VES_HV_SCENARIOS}/fixed-payload/dcae-fixed-payload-request.json -${DCAE_TOO_BIG_PAYLOAD_REQUEST} ${VES_HV_SCENARIOS}/too-big-payload/dcae-too-big-payload-request.json -${DCAE_INVALID_WIRE_FRAME_REQUEST} ${VES_HV_SCENARIOS}/invalid-wire-frame/dcae-invalid-wire-frame-request.json -${DCAE_INVALID_GPB_DATA_REQUEST} ${VES_HV_SCENARIOS}/invalid-gpb-data/dcae-invalid-gpb-data-request.json -${DCAE_UNSUPPORTED_DOMAIN_REQUEST} ${VES_HV_SCENARIOS}/unsupported-domain/dcae-unsupported-domain-request.json +${HV_VES_SCENARIOS} %{WORKSPACE}/tests/dcaegen2-collectors-hv-ves/testcases/resources/scenarios +${XNF_FIXED_PAYLOAD_REQUEST} ${HV_VES_SCENARIOS}/fixed-payload/xnf-fixed-payload-request.json +${XNF_TOO_BIG_PAYLOAD_REQUEST} ${HV_VES_SCENARIOS}/too-big-payload/xnf-too-big-payload-request.json +${XNF_INVALID_WIRE_FRAME_REQUEST} ${HV_VES_SCENARIOS}/invalid-wire-frame/xnf-invalid-wire-frame-request.json +${XNF_INVALID_GPB_DATA_REQUEST} ${HV_VES_SCENARIOS}/invalid-gpb-data/xnf-invalid-gpb-data-request.json +${XNF_UNSUPPORTED_DOMAIN_REQUEST} ${HV_VES_SCENARIOS}/unsupported-domain/xnf-unsupported-domain-request.json + +${DCAE_FIXED_PAYLOAD_REQUEST} ${HV_VES_SCENARIOS}/fixed-payload/dcae-fixed-payload-request.json +${DCAE_TOO_BIG_PAYLOAD_REQUEST} ${HV_VES_SCENARIOS}/too-big-payload/dcae-too-big-payload-request.json +${DCAE_INVALID_WIRE_FRAME_REQUEST} ${HV_VES_SCENARIOS}/invalid-wire-frame/dcae-invalid-wire-frame-request.json +${DCAE_INVALID_GPB_DATA_REQUEST} ${HV_VES_SCENARIOS}/invalid-gpb-data/dcae-invalid-gpb-data-request.json +${DCAE_UNSUPPORTED_DOMAIN_REQUEST} ${HV_VES_SCENARIOS}/unsupported-domain/dcae-unsupported-domain-request.json ${AMOUNT_25000} 25000 ${AMOUNT_50000} 50000 diff --git a/tests/dcaegen2-collectors-hv-ves/testcases/multiple-clients.robot b/tests/dcaegen2-collectors-hv-ves/testcases/multiple-clients.robot index 09b62c78..735a2085 100644 --- a/tests/dcaegen2-collectors-hv-ves/testcases/multiple-clients.robot +++ b/tests/dcaegen2-collectors-hv-ves/testcases/multiple-clients.robot @@ -45,9 +45,9 @@ Handle Multiple Connections *** Variables *** -${VES_HV_SCENARIOS} %{WORKSPACE}/tests/dcaegen2-collectors-hv-ves/testcases/resources/scenarios +${HV_VES_SCENARIOS} %{WORKSPACE}/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 +${XNF_SMALLER_PAYLOAD_REQUEST} ${HV_VES_SCENARIOS}/multiple-simulators-payload/xnf-simulator-smaller-valid-request.json +${DCAE_SMALLER_PAYLOAD_REQUEST} ${HV_VES_SCENARIOS}/multiple-simulators-payload/dcae-smaller-valid-request.json ${AMOUNT_15000} 15000 -- cgit 1.2.3-korg