From 6142befc1b03922d2bf6b17e1504dda468988e6c Mon Sep 17 00:00:00 2001 From: adam Date: Mon, 1 Oct 2018 10:34:19 +0200 Subject: Add test checking so connection Added test checking if vid is contacting SO using HTTPS Change-Id: I75cb829cdc9feb231dfd4d3826d12cab18781d38 Issue-ID: INT-648 Signed-off-by: adam --- plans/vid/healthCheck/setup.sh | 3 + plans/vid/healthCheck/teardown.sh | 1 + plans/vid/healthCheck/testplan.txt | 1 + tests/vid/https-connection/__init__.robot | 0 tests/vid/https-connection/keywords.py | 125 +++++++++ tests/vid/https-connection/test1.robot | 16 ++ tests/vid/resources/docker-compose.yml | 32 +-- tests/vid/resources/simulators/SDC.py | 37 --- tests/vid/resources/simulators/SDC_simulator | 15 - tests/vid/resources/simulators/SO-simulator | 8 + tests/vid/resources/simulators/SO.py | 45 +++ tests/vid/resources/simulators/cert.pem | 74 ----- tests/vid/resources/simulators/key.pem | 28 -- .../vid/resources/simulators/sdc_get_response.json | 301 --------------------- .../vid/resources/simulators/so_post_response.json | 9 + 15 files changed, 224 insertions(+), 471 deletions(-) create mode 100644 tests/vid/https-connection/__init__.robot create mode 100755 tests/vid/https-connection/keywords.py create mode 100644 tests/vid/https-connection/test1.robot delete mode 100644 tests/vid/resources/simulators/SDC.py delete mode 100644 tests/vid/resources/simulators/SDC_simulator create mode 100644 tests/vid/resources/simulators/SO-simulator create mode 100644 tests/vid/resources/simulators/SO.py delete mode 100644 tests/vid/resources/simulators/cert.pem delete mode 100644 tests/vid/resources/simulators/key.pem delete mode 100644 tests/vid/resources/simulators/sdc_get_response.json create mode 100644 tests/vid/resources/simulators/so_post_response.json diff --git a/plans/vid/healthCheck/setup.sh b/plans/vid/healthCheck/setup.sh index a0ed2262..38dddf54 100644 --- a/plans/vid/healthCheck/setup.sh +++ b/plans/vid/healthCheck/setup.sh @@ -32,3 +32,6 @@ echo BE_IP=${BE_IP} # Pass any variables required by Robot test suites in ROBOT_VARIABLES ROBOT_VARIABLES="-v BE_IP:${BE_IP}" + +pip install assertpy +pip install requests \ No newline at end of file diff --git a/plans/vid/healthCheck/teardown.sh b/plans/vid/healthCheck/teardown.sh index 01383179..14fd0522 100644 --- a/plans/vid/healthCheck/teardown.sh +++ b/plans/vid/healthCheck/teardown.sh @@ -18,5 +18,6 @@ # source ${WORKSPACE}/scripts/vid/kill_containers_and_remove_dataFolders.sh +docker kill so-simulator # $WORKSPACE/archives/clamp-clone deleted with archives folder when tests starts so we keep it at the end for debugging diff --git a/plans/vid/healthCheck/testplan.txt b/plans/vid/healthCheck/testplan.txt index cb5e2798..20add7af 100644 --- a/plans/vid/healthCheck/testplan.txt +++ b/plans/vid/healthCheck/testplan.txt @@ -2,3 +2,4 @@ # Place the suites in run order. vid/healthCheck vid/login +vid/https-connection diff --git a/tests/vid/https-connection/__init__.robot b/tests/vid/https-connection/__init__.robot new file mode 100644 index 00000000..e69de29b diff --git a/tests/vid/https-connection/keywords.py b/tests/vid/https-connection/keywords.py new file mode 100755 index 00000000..85bca101 --- /dev/null +++ b/tests/vid/https-connection/keywords.py @@ -0,0 +1,125 @@ +import ast + +import requests +from assertpy import assert_that +from robot.api import logger +from robot.api.deco import keyword + +JSESSIONID_COOKIE = "JSESSIONID" + +_vid_to_so_request_details = { + "requestDetails": { + "cloudConfiguration": { + "lcpCloudRegionId": "RegionOne", + "tenantId": "982c540f6e69488eb6be5664255e00c0" + }, + "modelInfo": { + "modelInvariantId": "41b3c314-dfab-4501-9c5e-1c9fe5d8e151", + "modelName": "SoWs1..base_ws..module-0", + "modelType": "vfModule", + "modelVersion": "1", + "modelVersionId": "7ea96ae9-9eac-4eaa-882e-077478a6c44a" + }, + "relatedInstanceList": [{ + "relatedInstance": { + "instanceId": "0d8a98d8-d7ca-4c26-b7ab-81d3729e3b6c", + "modelInfo": { + "modelInvariantId": "a4413616-cf96-4615-a94e-0dc5a6a65430", + "modelName": "SC_WS_SW_2", + "modelType": "service", + "modelVersion": "3.0", + "modelVersionId": "0fdaaf44-3c6c-4d81-9c57-b2ce7224dbb9" + } + } + }, + { + "relatedInstance": { + "instanceId": "61c19619-2714-46f8-90c9-39734e4f545f", + "modelInfo": { + "modelCustomizationName": "SO_WS_1 0", + "modelInvariantId": "3b2c9dcb-6ef8-4c3c-8d5b-43d5776f7110", + "modelName": "SO_WS_1", + "modelType": "vnf", + "modelVersion": "1.0", + "modelVersionId": "0fdaaf44-3c6c-4d81-9c57-b2ce7224dbb9" + } + } + } + ], + "requestInfo": { + "source": "VID", + "suppressRollback": False, + "requestorId": "az2016", + "instanceName": "SC_WS_VNF_1_2" + }, + "requestParameters": { + "controllerType": "SDNC", + "userParams": [] + } + + } +} + +_expected_so_response = { + "status": 202, + "entity": { + "requestReferences": { + "instanceId": "fffcbb6c-1983-42df-9ca8-89ae8b3a46c1", + "requestId": "b2197d7e-3a7d-410e-82ba-7b7e8191bc46" + } + } +} + + +def _extract_cookie_from_headers(headers): + for i in headers["Set-Cookie"].split(";"): + if JSESSIONID_COOKIE in i: + return i + raise RuntimeError("No cookie when logging in to VID") + + +def _log_request(response): + logger.console( + "\n=========\n" + "Performing request to : {} \nBODY: {}\nHEADERS: {}" + .format(str(response.request.url), str(response.request.body), str(response.request.headers))) + logger.console( + "---------\n" + "Got response\n BODY: {} \n HEADERS: {}" + "\n=========\n".format(str(response.headers), str(response.content))) + + +@keyword('Login To VID') +def login_to_vid(): + headers = {'User-Agent': 'Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:61.0) Gecko/20100101 Firefox/61.0', + 'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8', + 'Accept-Language': 'pl,en-US;q=0.7,en;q=0.3', + 'Accept-Encoding': 'gzip, deflate', 'Referer': 'http://localhost:8080/vid/login.htm', + 'Content-Type': 'application/x-www-form-urlencoded', + 'Content-Length': '36', + 'Cookie': 'JSESSIONID=1B4AF817AA4BCB87C07BB5B49EFE8526', + 'Connection': 'keep-alive', + 'Upgrade-Insecure-Requests': '1'} + response = requests.post("https://localhost:8443/vid/login_external", data="loginId=demo&password=Kp8bJ4SXszM0WX", + headers=headers, allow_redirects=False, verify=False) + logger.console("Performing login") + _log_request(response) + return _extract_cookie_from_headers(response.headers) + + +@keyword('Send create VF module instance request to VID') +def send_create_vfmodule_instance_request_to_vid(jsession_cookie): + response = requests.post( + "https://localhost:8443/vid/mso/mso_create_vfmodule_instance/0d8a98d8-d7ca-4c26-b7ab-81d3729e3b6c/vnfs/61c19619-2714-46f8-90c9-39734e4f545f ", + headers={"Cookie": jsession_cookie}, json=_vid_to_so_request_details, verify=False) + content = ast.literal_eval(response.content) + logger.console("Triggering VF module instance creation") + _log_request(response) + return content + + +@keyword('Response should contain valid entity') +def expect_response_from_so_was_correctly_propageted(content): + logger.console("\nActual entity" + str(content['entity'])) + logger.console("Expected entity" + str(_expected_so_response)) + assert_that(content['entity']).is_equal_to(_expected_so_response) diff --git a/tests/vid/https-connection/test1.robot b/tests/vid/https-connection/test1.robot new file mode 100644 index 00000000..2173757a --- /dev/null +++ b/tests/vid/https-connection/test1.robot @@ -0,0 +1,16 @@ +*** Settings *** +Library keywords.py +Library Collections + +*** Variables *** + + +*** Test Cases *** +Connection to SO is performed using HTTPS + ${cookies}= Login To VID + ${response}= Send create VF module instance request to VID ${cookies} + Dictionary Should Contain Item ${response} status 200 + Response should contain valid entity ${response} + + +*** Keywords *** diff --git a/tests/vid/resources/docker-compose.yml b/tests/vid/resources/docker-compose.yml index 879c23d4..4aecb6ab 100644 --- a/tests/vid/resources/docker-compose.yml +++ b/tests/vid/resources/docker-compose.yml @@ -3,32 +3,32 @@ services: vid-server: image: nexus3.onap.org:10001/onap/vid:3.0-STAGING-latest environment: - - VID_MYSQL_DBNAME=vid_openecomp_epsdk - - VID_MYSQL_PASS=Kp8bJ4SXszM0WXlhak3eHlcse2gAw84vaoGGmJvUy2U - - ASDC_CLIENT_REST_HOST=localhost - - ASDC_CLIENT_REST_PORT=8443 + - VID_MYSQL_DBNAME=vid_openecomp_epsdk + - VID_MYSQL_PASS=Kp8bJ4SXszM0WXlhak3eHlcse2gAw84vaoGGmJvUy2U + - VID_MSO_SERVER_URL=https://so-simulator:8443 ports: - - "8080:8080" + - "8080:8080" + - "8443:8443" container_name: vid-server links: - - vid-mariadb:vid-mariadb-docker-instance + - vid-mariadb:vid-mariadb-docker-instance vid-mariadb: image: mariadb:10 environment: - - MYSQL_DATABASE=vid_openecomp_epsdk - - MYSQL_USER=vidadmin - - MYSQL_PASSWORD=Kp8bJ4SXszM0WXlhak3eHlcse2gAw84vaoGGmJvUy2U - - MYSQL_ROOT_PASSWORD=LF+tp_1WqgSY + - MYSQL_DATABASE=vid_openecomp_epsdk + - MYSQL_USER=vidadmin + - MYSQL_PASSWORD=Kp8bJ4SXszM0WXlhak3eHlcse2gAw84vaoGGmJvUy2U + - MYSQL_ROOT_PASSWORD=LF+tp_1WqgSY container_name: vid-mariadb volumes: - - ${WORKSPACE}/data/clone/vid/lf_config/vid-my.cnf:/etc/mysql/my.cnf - - /var/lib/mysql + - ${WORKSPACE}/data/clone/vid/lf_config/vid-my.cnf:/etc/mysql/my.cnf + - /var/lib/mysql - sdc_simulator: + so-simulator: build: context: simulators - dockerfile: SDC_simulator + dockerfile: SO-simulator ports: - - "8443:8443" - container_name: sdc_simulator \ No newline at end of file + - "8444:8443" + container_name: so-simulator \ No newline at end of file diff --git a/tests/vid/resources/simulators/SDC.py b/tests/vid/resources/simulators/SDC.py deleted file mode 100644 index e99a0bdc..00000000 --- a/tests/vid/resources/simulators/SDC.py +++ /dev/null @@ -1,37 +0,0 @@ -import ssl -from http.server import BaseHTTPRequestHandler, HTTPServer - -from sys import argv - -DEFAULT_PORT = 8443 - - -class SDCHandler(BaseHTTPRequestHandler): - - def __init__(self, request, client_address, server): - self.response_on_get = self._read_on_get_response() - super().__init__(request, client_address, server) - - def do_GET(self): - self.send_response(200) - self._set_headers() - - self.wfile.write(self.response_on_get.encode("utf-8")) - return - - def _set_headers(self): - self.send_header('Content-Type', 'application/json') - self.end_headers() - - @staticmethod - def _read_on_get_response(): - with open('sdc_get_response.json', 'r') as file: - return file.read() - - -if __name__ == '__main__': - SDCHandler.protocol_version = "HTTP/1.1" - - httpd = HTTPServer(('', DEFAULT_PORT), SDCHandler) - httpd.socket = ssl.wrap_socket(httpd.socket, server_side=True, certfile='cert.pem', keyfile='key.pem') - httpd.serve_forever() diff --git a/tests/vid/resources/simulators/SDC_simulator b/tests/vid/resources/simulators/SDC_simulator deleted file mode 100644 index c099787d..00000000 --- a/tests/vid/resources/simulators/SDC_simulator +++ /dev/null @@ -1,15 +0,0 @@ -FROM alpine:latest - -RUN apk add --no-cache python3 && \ - python3 -m ensurepip && \ - rm -r /usr/lib/python*/ensurepip && \ - pip3 install --upgrade pip setuptools && \ - if [ ! -e /usr/bin/pip ]; then ln -s pip3 /usr/bin/pip ; fi && \ - if [[ ! -e /usr/bin/python ]]; then ln -sf /usr/bin/python3 /usr/bin/python; fi && \ - rm -r /root/.cache - -ADD SDC.py / - -EXPOSE 8443 - -CMD [ "python", "./SDC.py" ] diff --git a/tests/vid/resources/simulators/SO-simulator b/tests/vid/resources/simulators/SO-simulator new file mode 100644 index 00000000..54587665 --- /dev/null +++ b/tests/vid/resources/simulators/SO-simulator @@ -0,0 +1,8 @@ +FROM frolvlad/alpine-python3 + +ADD SO.py / +ADD so_post_response.json / + +EXPOSE 8443 + +CMD [ "python", "./SO.py" ] \ No newline at end of file diff --git a/tests/vid/resources/simulators/SO.py b/tests/vid/resources/simulators/SO.py new file mode 100644 index 00000000..edc15f62 --- /dev/null +++ b/tests/vid/resources/simulators/SO.py @@ -0,0 +1,45 @@ +import logging +from http.server import BaseHTTPRequestHandler, HTTPServer + +DEFAULT_PORT = 8443 + + +class SOHandler(BaseHTTPRequestHandler): + + def __init__(self, request, client_address, server): + self.response_on_get = self._read_on_get_response() + super().__init__(request, client_address, server) + + def do_POST(self): + logging.info('POST called') + self.send_response(200) + self._set_headers() + + self.wfile.write(self.response_on_get.encode("utf-8")) + return + + def do_GET(self): + logging.info('GET called') + self.send_response(200) + self._set_headers() + + self.wfile.write(self.response_on_get.encode("utf-8")) + return + + def _set_headers(self): + self.send_header('Content-Type', 'application/json') + self.end_headers() + + @staticmethod + def _read_on_get_response(): + with open('so_post_response.json', 'r') as file: + return file.read() + + +if __name__ == '__main__': + logging.basicConfig(filename='output.log', level=logging.INFO) + SOHandler.protocol_version = "HTTP/1.0" + + httpd = HTTPServer(('', DEFAULT_PORT), SOHandler) + logging.info("serving on: " + str(httpd.socket.getsockname())) + httpd.serve_forever() diff --git a/tests/vid/resources/simulators/cert.pem b/tests/vid/resources/simulators/cert.pem deleted file mode 100644 index cea1e37a..00000000 --- a/tests/vid/resources/simulators/cert.pem +++ /dev/null @@ -1,74 +0,0 @@ -Bag Attributes - friendlyName: 1 - localKeyID: 54 69 6D 65 20 31 35 33 35 36 31 39 34 30 35 39 30 38 -subject=/C=US/ST=Michigan/L=Southfield/O=ATT Services, Inc./OU=ASDC/CN=mtanjv9sdcf51.aic.cip.att.com -issuer=/C=US/O=Symantec Corporation/OU=Symantec Trust Network/CN=Symantec Class 3 Secure Server CA - G4 ------BEGIN CERTIFICATE----- -MIIGDzCCBPegAwIBAgIQfZLBdhhGhkOBcXuI5oF0gTANBgkqhkiG9w0BAQsFADB+ -MQswCQYDVQQGEwJVUzEdMBsGA1UEChMUU3ltYW50ZWMgQ29ycG9yYXRpb24xHzAd -BgNVBAsTFlN5bWFudGVjIFRydXN0IE5ldHdvcmsxLzAtBgNVBAMTJlN5bWFudGVj -IENsYXNzIDMgU2VjdXJlIFNlcnZlciBDQSAtIEc0MB4XDTE1MTIwOTAwMDAwMFoX -DTE2MTIwODIzNTk1OVowgYkxCzAJBgNVBAYTAlVTMREwDwYDVQQIDAhNaWNoaWdh -bjETMBEGA1UEBwwKU291dGhmaWVsZDEbMBkGA1UECgwSQVRUIFNlcnZpY2VzLCBJ -bmMuMQ0wCwYDVQQLDARBU0RDMSYwJAYDVQQDDB1tdGFuanY5c2RjZjUxLmFpYy5j -aXAuYXR0LmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOup99Ff -gk02lwXv535Y1FCCE8vL47BKj96h6to8rXwwN+9W+xiVEIgDXKOWBC7W8iEP2tOd -Smzi3wsZIivaFh2yPGtj1z0a7WuA7wNw1fJF4WGr4VFaxHbMBaPOZHa3D+iIduWP -H/t6ECEzfGRRtTt+mVCpV8Rx+v/q8d0yO114u/WBtbGGlIPDJcrHLRODnjM+mkjq -EwfoR9qqqjbJhjUkUujGM/qVKm3YAjMIZ1ldteRXUew4xI/Foo6u3hqJwbYIJf3r -fzWCt+fIyktDsm/c1w9HcX+8R0alK90bjC2D5auukIfbmhxd4MR9NBAH0SFleQtw -SQLN6GYMVexhUEECAwEAAaOCAnswggJ3MCgGA1UdEQQhMB+CHW10YW5qdjlzZGNm -NTEuYWljLmNpcC5hdHQuY29tMAkGA1UdEwQCMAAwDgYDVR0PAQH/BAQDAgWgMB0G -A1UdJQQWMBQGCCsGAQUFBwMBBggrBgEFBQcDAjBhBgNVHSAEWjBYMFYGBmeBDAEC -AjBMMCMGCCsGAQUFBwIBFhdodHRwczovL2Quc3ltY2IuY29tL2NwczAlBggrBgEF -BQcCAjAZGhdodHRwczovL2Quc3ltY2IuY29tL3JwYTAfBgNVHSMEGDAWgBRfYM9h -kFXfhEMUimAqsvV69EMY7zArBgNVHR8EJDAiMCCgHqAchhpodHRwOi8vc3Muc3lt -Y2IuY29tL3NzLmNybDBXBggrBgEFBQcBAQRLMEkwHwYIKwYBBQUHMAGGE2h0dHA6 -Ly9zcy5zeW1jZC5jb20wJgYIKwYBBQUHMAKGGmh0dHA6Ly9zcy5zeW1jYi5jb20v -c3MuY3J0MIIBBQYKKwYBBAHWeQIEAgSB9gSB8wDxAHYA3esdK3oNT6Ygi4GtgWhw -fi6OnQHVXIiNPRHEzbbsvswAAAFRh4XRnAAABAMARzBFAiBXZqph5qeHUUnY8OkH -jJLo454/8c9IBB7asjEYWYoBPQIhAKAwvP8KfqilgawBkuRV7r41P8Xd3Yi72RQO -1Dvpi8rkAHcApLkJkLQYWBSHuxOizGdwCjw1mAT5G9+443fNDsgN3BAAAAFRh4XR -3AAABAMASDBGAiEAon+cZcRpSsuo1aiCtaN3aAG0EqJb/1jJ4m4Q/qo1nEoCIQCr -KrBNyywa4OTmSVSAsyazbnMr5ldimxNORhhtyGeFLDANBgkqhkiG9w0BAQsFAAOC -AQEAG3/Mq8F0wbCpOOMCq4dZwgLENBjor9b9UljQZ+sgt7Nn00bfGdxY4MKtOTiK -9ks/nV9sW0KyvhsZvLPPgdSCnu0MZogWQsKqQDkIkJoHtFRSaYTT1vLAIoKz/dN+ -SBS71EzFH92lMfiFtAjfTrFady0/6z7lp4VZwbXLWjHw6LQESENc29Xw1jpCVkg8 -iB2n/qCFfyw3HuvP+eW2TLmnHOl0tda1vrYKCXT2n7HepiJM3g9yLjb/w3MuxEmw -dj1DqRemXtOUJW0mQXn1mRBjXEunzHoCr3GaeSU6G3RbIzXr34Hsv4IbggkhRula -gQIYidtDmw0PS1kyaFvlhZkd1g== ------END CERTIFICATE----- -Bag Attributes - friendlyName: CN=Symantec Class 3 Secure Server CA - G4,OU=Symantec Trust Network,O=Symantec Corporation,C=US -subject=/C=US/O=Symantec Corporation/OU=Symantec Trust Network/CN=Symantec Class 3 Secure Server CA - G4 -issuer=/C=US/O=VeriSign, Inc./OU=VeriSign Trust Network/OU=(c) 2006 VeriSign, Inc. - For authorized use only/CN=VeriSign Class 3 Public Primary Certification Authority - G5 ------BEGIN CERTIFICATE----- -MIIFODCCBCCgAwIBAgIQUT+5dDhwtzRAQY0wkwaZ/zANBgkqhkiG9w0BAQsFADCB -yjELMAkGA1UEBhMCVVMxFzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMR8wHQYDVQQL -ExZWZXJpU2lnbiBUcnVzdCBOZXR3b3JrMTowOAYDVQQLEzEoYykgMjAwNiBWZXJp -U2lnbiwgSW5jLiAtIEZvciBhdXRob3JpemVkIHVzZSBvbmx5MUUwQwYDVQQDEzxW -ZXJpU2lnbiBDbGFzcyAzIFB1YmxpYyBQcmltYXJ5IENlcnRpZmljYXRpb24gQXV0 -aG9yaXR5IC0gRzUwHhcNMTMxMDMxMDAwMDAwWhcNMjMxMDMwMjM1OTU5WjB+MQsw -CQYDVQQGEwJVUzEdMBsGA1UEChMUU3ltYW50ZWMgQ29ycG9yYXRpb24xHzAdBgNV -BAsTFlN5bWFudGVjIFRydXN0IE5ldHdvcmsxLzAtBgNVBAMTJlN5bWFudGVjIENs -YXNzIDMgU2VjdXJlIFNlcnZlciBDQSAtIEc0MIIBIjANBgkqhkiG9w0BAQEFAAOC -AQ8AMIIBCgKCAQEAstgFyhx0LbUXVjnFSlIJluhL2AzxaJ+aQihiw6UwU35VEYJb -A3oNL+F5BMm0lncZgQGUWfm893qZJ4Itt4PdWid/sgN6nFMl6UgfRk/InSn4vnlW -9vf92Tpo2otLgjNBEsPIPMzWlnqEIRoiBAMnF4scaGGTDw5RgDMdtLXO637QYqzu -s3sBdO9pNevK1T2p7peYyo2qRA4lmUoVlqTObQJUHypqJuIGOmNIrLRM0XWTUP8T -L9ba4cYY9Z/JJV3zADreJk20KQnNDz0jbxZKgRb78oMQw7jW2FUyPfG9D72MUpVK -Fpd6UiFjdS8W+cRmvvW1Cdj/JwDNRHxvSz+w9wIDAQABo4IBYzCCAV8wEgYDVR0T -AQH/BAgwBgEB/wIBADAwBgNVHR8EKTAnMCWgI6Ahhh9odHRwOi8vczEuc3ltY2Iu -Y29tL3BjYTMtZzUuY3JsMA4GA1UdDwEB/wQEAwIBBjAvBggrBgEFBQcBAQQjMCEw -HwYIKwYBBQUHMAGGE2h0dHA6Ly9zMi5zeW1jYi5jb20wawYDVR0gBGQwYjBgBgpg -hkgBhvhFAQc2MFIwJgYIKwYBBQUHAgEWGmh0dHA6Ly93d3cuc3ltYXV0aC5jb20v -Y3BzMCgGCCsGAQUFBwICMBwaGmh0dHA6Ly93d3cuc3ltYXV0aC5jb20vcnBhMCkG -A1UdEQQiMCCkHjAcMRowGAYDVQQDExFTeW1hbnRlY1BLSS0xLTUzNDAdBgNVHQ4E -FgQUX2DPYZBV34RDFIpgKrL1evRDGO8wHwYDVR0jBBgwFoAUf9Nlp8Ld7LvwMAnz -Qzn6Aq8zMTMwDQYJKoZIhvcNAQELBQADggEBAF6UVkndji1l9cE2UbYD49qecxny -H1mrWH5sJgUs+oHXXCMXIiw3k/eG7IXmsKP9H+IyqEVv4dn7ua/ScKAyQmW/hP4W -Ko8/xabWo5N9Q+l0IZE1KPRj6S7t9/Vcf0uatSDpCr3gRRAMFJSaXaXjS5HoJJtG -QGX0InLNmfiIEfXzf+YzguaoxX7+0AjiJVgIcWjmzaLmFN5OUiQt/eV5E1PnXi8t -TRttQBVSK/eHiXgSgW7ZTaoteNTCLD0IX4eRnh8OsN4wUmSGiaqdZpwOdgyA8nTY -Kvi4Os7X1g8RvmurFPW9QaAiY4nxug9vKWNmLT+sjHLF+8fk1A/yO0+MKcc= ------END CERTIFICATE----- \ No newline at end of file diff --git a/tests/vid/resources/simulators/key.pem b/tests/vid/resources/simulators/key.pem deleted file mode 100644 index 641d13fa..00000000 --- a/tests/vid/resources/simulators/key.pem +++ /dev/null @@ -1,28 +0,0 @@ ------BEGIN PRIVATE KEY----- -MIIEvwIBADANBgkqhkiG9w0BAQEFAASCBKkwggSlAgEAAoIBAQDrqffRX4JNNpcF -7+d+WNRQghPLy+OwSo/eoeraPK18MDfvVvsYlRCIA1yjlgQu1vIhD9rTnUps4t8L -GSIr2hYdsjxrY9c9Gu1rgO8DcNXyReFhq+FRWsR2zAWjzmR2tw/oiHbljx/7ehAh -M3xkUbU7fplQqVfEcfr/6vHdMjtdeLv1gbWxhpSDwyXKxy0Tg54zPppI6hMH6Efa -qqo2yYY1JFLoxjP6lSpt2AIzCGdZXbXkV1HsOMSPxaKOrt4aicG2CCX96381grfn -yMpLQ7Jv3NcPR3F/vEdGpSvdG4wtg+WrrpCH25ocXeDEfTQQB9EhZXkLcEkCzehm -DFXsYVBBAgMBAAECggEBAOkwoYCzIktnFh+Q2R9DpKsZW59QXDfoP95LmAlk+0Gk -sOSKzCHx9o6vzO4uFmuG08Z1WtIElU2TXKMttotv3Gx8Hp8hBy12xLGYvmlIMNvv -2+n62xTWXQs0LOx+4Rg7Yml1Bzl1227KxMUlnhPiahO53NldB/Th2D197OA0wVtl -o3d753CNs+vVk1Z8RTUWrW1ZNHdfQNa1zrNo3Q5/evnlt+mAhFbUIKB3FgMk4N4/ -EjnTH6d+MEUD1sVCNruxqv8PZzRzzJEU/8gzy0WAPFAGOOC7hgU3n7dIEEkjvoIw -HlZD5c6I+3AzYq08CtUwWI09pNVlznqoOY6d548YusUCgYEA9cHOUXiafXFupqpT -HwE18Yk5sqISpPwS8yip4NPPUv+W9qvCpdkFvV3HRMlICWJGoerRsALEQYY5fsvY -7lk1avunprbIa9XLUrvb4ydJYynFhKjXkfTAmyCmbvH8t10BfDNuXT098+4M4HpG -YW2Arl9Db7RoOBwQtPFX2RmYOM8CgYEA9Xx4TbsbT1C6c49aDZmuFeBXDEaMTDYS -CC50MqMQpfoqS5QVyjl7JzP/dIz9CcUExFz7MOmYCp8yocXnLwxGDrZjZMkwEz15 -8WUGj4WMpSpUSRmGEVnoVE5bRazq37vhbOwh8gcKhF1ifVgwm+Rjs+4g6DwmSR8l -4CVK6lWrCe8CgYEA5QR7kR6z0Wywse4N0dnd/D1mIFq6xzcFLcZaMOMR1IXMmAjO -NqF8oNDQjwCH+f60VdWvHLgnTeyYjdnHSa6mghEMVecF9L/iXzIjopaM5DUcFRkG -8sRD7QxLLR6i4/lvFeAT3B3jKvtO0q4AAnD6NwUdoe5cJNW6l/REalNYsK8CgYBw -n7lF2CiwW9YevE7RXIc8rB7jl943/LqLHFzc+mjh7QLIh9jzXSm+E6IIY8KXX9dP -C2WGzDSf8ue0xmnI8PWXPGAfVhoDSboPYI0A/YFIKUJgAyC6ByiKvSQstCdRnA3Q -/giY1Fgj4AAWh4ZNjxua6g4Y3bem5m5nBlT3a3Q76wKBgQDSMFNfVNWautPQvcYB -iu9oQhbXVkjh+ToFWq6pW4VaWhEf/6hqvihc6PcB7FXJ1v1/ybko6cIgVmFUt43s -it1q5aLy3v6GTS/UnDZI3r5oECEuLeUqnHm3qilbatUtwvxghgdwGK+YG0yTfS3y -GqdNDH5YdJJMyiLdQlLIzJb/XQ== ------END PRIVATE KEY----- diff --git a/tests/vid/resources/simulators/sdc_get_response.json b/tests/vid/resources/simulators/sdc_get_response.json deleted file mode 100644 index 9f7e118c..00000000 --- a/tests/vid/resources/simulators/sdc_get_response.json +++ /dev/null @@ -1,301 +0,0 @@ -{ - "service": { - "uuid": "2763bc78-8523-482f-895b-0c0db7364224", - "invariantUuid": "abb2dc66-b211-49d2-ab2f-8774694136fa", - "name": "Bare2", - "version": "1.0", - "toscaModelURL": null, - "category": "Network L1-3", - "serviceType": "", - "serviceRole": "", - "description": "Bare2", - "serviceEcompNaming": "true", - "instantiationType": "ClientConfig", - "inputs": {} - }, - "vnfs": { - "95e654c0-676b-4386-8a69 0": { - "uuid": "d6395498-7ecb-4eba-bf84-4380f6e9cdcf", - "invariantUuid": "16262b97-bcb1-4033-8f9f-a3016eaf1ec3", - "description": "vendor software product", - "name": "95e654c0-676b-4386-8a69", - "version": "1.0", - "customizationUuid": "34a3b91d-8d73-4412-bf4e-c6456741007f", - "inputs": {}, - "commands": {}, - "properties": { - "vf_module_id": "vTrafficPNG", - "repo_url_blob": "https://nexus.onap.org/content/sites/raw", - "unprotected_private_subnet_id": "zdfw1fwl01_unprotected_sub", - "public_net_id": "PUT THE PUBLIC NETWORK ID HERE", - "vfw_private_ip_0": "192.168.10.100", - "onap_private_subnet_id": "PUT THE ONAP PRIVATE NETWORK NAME HERE", - "onap_private_net_cidr": "10.0.0.0/16", - "image_name": "PUT THE VM IMAGE NAME HERE (UBUNTU 1404)", - "flavor_name": "PUT THE VM FLAVOR NAME HERE (m1.medium suggested)", - "vnf_id": "vPNG_Firewall_demo_app", - "vpg_name_0": "zdfw1fwl01pgn01", - "vpg_private_ip_1": "10.0.100.2", - "vsn_private_ip_0": "192.168.20.250", - "vpg_private_ip_0": "192.168.10.200", - "protected_private_net_cidr": "192.168.20.0/24", - "unprotected_private_net_cidr": "192.168.10.0/24", - "nf_naming": "{ecomp_generated_naming=true}", - "multi_stage_design": "false", - "onap_private_net_id": "PUT THE ONAP PRIVATE NETWORK NAME HERE", - "unprotected_private_net_id": "zdfw1fwl01_unprotected", - "availability_zone_max_count": "1", - "demo_artifacts_version": "1.2.1", - "pub_key": "PUT YOUR PUBLIC KEY HERE", - "key_name": "vfw_key", - "repo_url_artifacts": "https://nexus.onap.org/content/repositories/releases", - "install_script_version": "1.2.1", - "cloud_env": "PUT openstack OR rackspace HERE" - }, - "type": "VF", - "modelCustomizationName": "95e654c0-676b-4386-8a69 0", - "vfModules": { - "95e654c0676b43868a690..95e654c0676b43868a69..base_vpkg..module-0": { - "uuid": "12082e9d-a854-48cc-8243-e24b26199856", - "invariantUuid": "239419df-3375-49fe-9dd4-73b3393858ba", - "customizationUuid": "32c824f7-5910-4d7a-88ad-188d4905675d", - "description": null, - "name": "95e654c0676b43868a69..base_vpkg..module-0", - "version": "1", - "volumeGroupAllowed": false, - "commands": {}, - "modelCustomizationName": "95e654c0676b43868a69..base_vpkg..module-0", - "properties": { - "min_vf_module_instances": { - "name": "min_vf_module_instances", - "value": 1, - "entrySchema": null, - "required": true, - "constraints": [], - "description": "The minimum instances of this VF-Module", - "default": null, - "type": "integer" - }, - "vf_module_label": { - "name": "vf_module_label", - "value": "base_vpkg", - "entrySchema": null, - "required": true, - "constraints": [], - "description": "Alternate textual key used to reference this VF-Module model. Must be unique within the VNF model\n", - "default": null, - "type": "string" - }, - "max_vf_module_instances": { - "name": "max_vf_module_instances", - "value": 1, - "entrySchema": null, - "required": false, - "constraints": [], - "description": "The maximum instances of this VF-Module", - "default": null, - "type": "integer" - }, - "vfc_list": { - "name": "vfc_list", - "value": null, - "entrySchema": { - "description": ":", - "type": "string" - }, - "required": false, - "constraints": [], - "description": "Identifies the set of VM types and their count included in the VF-Module\n", - "default": null, - "type": "map" - }, - "vf_module_type": { - "name": "vf_module_type", - "value": "Base", - "entrySchema": null, - "required": true, - "constraints": [], - "description": "", - "default": null, - "type": "string" - }, - "vf_module_description": { - "name": "vf_module_description", - "value": null, - "entrySchema": null, - "required": true, - "constraints": [], - "description": "Description of the VF-modules contents and purpose (e.g. \"Front-End\" or \"Database Cluster\")\n", - "default": null, - "type": "string" - }, - "initial_count": { - "name": "initial_count", - "value": 1, - "entrySchema": null, - "required": false, - "constraints": [], - "description": "The initial count of instances of the VF-Module. The value must be in the range between min_vfmodule_instances and max_vfmodule_instances. If no value provided the initial count is the min_vfmodule_instances.\n", - "default": null, - "type": "integer" - }, - "volume_group": { - "name": "volume_group", - "value": false, - "entrySchema": null, - "required": true, - "constraints": [], - "description": "\"true\" indicates that this VF Module model requires attachment to a Volume Group. VID operator must select the Volume Group instance to attach to a VF-Module at deployment time.\n", - "default": false, - "type": "boolean" - }, - "availability_zone_count": { - "name": "availability_zone_count", - "value": null, - "entrySchema": null, - "required": false, - "constraints": [], - "description": "Quantity of Availability Zones needed for this VF-Module (source: Extracted from VF-Module HEAT template)\n", - "default": null, - "type": "integer" - }, - "isBase": { - "name": "isBase", - "value": false, - "entrySchema": null, - "required": true, - "constraints": [], - "description": "Whether this module should be deployed before other modules", - "default": false, - "type": "boolean" - } - } - } - }, - "volumeGroups": {} - } - }, - "networks": {}, - "configurations": {}, - "serviceProxies": {}, - "vfModules": { - "95e654c0676b43868a690..95e654c0676b43868a69..base_vpkg..module-0": { - "uuid": "12082e9d-a854-48cc-8243-e24b26199856", - "invariantUuid": "239419df-3375-49fe-9dd4-73b3393858ba", - "customizationUuid": "32c824f7-5910-4d7a-88ad-188d4905675d", - "description": null, - "name": "95e654c0676b43868a69..base_vpkg..module-0", - "version": "1", - "volumeGroupAllowed": false, - "commands": {}, - "modelCustomizationName": "95e654c0676b43868a69..base_vpkg..module-0", - "properties": { - "min_vf_module_instances": { - "name": "min_vf_module_instances", - "value": 1, - "entrySchema": null, - "required": true, - "constraints": [], - "description": "The minimum instances of this VF-Module", - "default": null, - "type": "integer" - }, - "vf_module_label": { - "name": "vf_module_label", - "value": "base_vpkg", - "entrySchema": null, - "required": true, - "constraints": [], - "description": "Alternate textual key used to reference this VF-Module model. Must be unique within the VNF model\n", - "default": null, - "type": "string" - }, - "max_vf_module_instances": { - "name": "max_vf_module_instances", - "value": 1, - "entrySchema": null, - "required": false, - "constraints": [], - "description": "The maximum instances of this VF-Module", - "default": null, - "type": "integer" - }, - "vfc_list": { - "name": "vfc_list", - "value": null, - "entrySchema": { - "description": ":", - "type": "string" - }, - "required": false, - "constraints": [], - "description": "Identifies the set of VM types and their count included in the VF-Module\n", - "default": null, - "type": "map" - }, - "vf_module_type": { - "name": "vf_module_type", - "value": "Base", - "entrySchema": null, - "required": true, - "constraints": [], - "description": "", - "default": null, - "type": "string" - }, - "vf_module_description": { - "name": "vf_module_description", - "value": null, - "entrySchema": null, - "required": true, - "constraints": [], - "description": "Description of the VF-modules contents and purpose (e.g. \"Front-End\" or \"Database Cluster\")\n", - "default": null, - "type": "string" - }, - "initial_count": { - "name": "initial_count", - "value": 1, - "entrySchema": null, - "required": false, - "constraints": [], - "description": "The initial count of instances of the VF-Module. The value must be in the range between min_vfmodule_instances and max_vfmodule_instances. If no value provided the initial count is the min_vfmodule_instances.\n", - "default": null, - "type": "integer" - }, - "volume_group": { - "name": "volume_group", - "value": false, - "entrySchema": null, - "required": true, - "constraints": [], - "description": "\"true\" indicates that this VF Module model requires attachment to a Volume Group. VID operator must select the Volume Group instance to attach to a VF-Module at deployment time.\n", - "default": false, - "type": "boolean" - }, - "availability_zone_count": { - "name": "availability_zone_count", - "value": null, - "entrySchema": null, - "required": false, - "constraints": [], - "description": "Quantity of Availability Zones needed for this VF-Module (source: Extracted from VF-Module HEAT template)\n", - "default": null, - "type": "integer" - }, - "isBase": { - "name": "isBase", - "value": false, - "entrySchema": null, - "required": true, - "constraints": [], - "description": "Whether this module should be deployed before other modules", - "default": false, - "type": "boolean" - } - } - } - }, - "volumeGroups": {}, - "pnfs": {} -} \ No newline at end of file diff --git a/tests/vid/resources/simulators/so_post_response.json b/tests/vid/resources/simulators/so_post_response.json new file mode 100644 index 00000000..391231dc --- /dev/null +++ b/tests/vid/resources/simulators/so_post_response.json @@ -0,0 +1,9 @@ +{ + "status": 202, + "entity": { + "requestReferences": { + "instanceId": "fffcbb6c-1983-42df-9ca8-89ae8b3a46c1", + "requestId": "b2197d7e-3a7d-410e-82ba-7b7e8191bc46" + } + } +} \ No newline at end of file -- cgit 1.2.3-korg