From 55d368698ab39f8a039831f9d244f01742aac419 Mon Sep 17 00:00:00 2001 From: pkaras Date: Wed, 17 Oct 2018 15:08:34 +0200 Subject: [PATCH] SSL setup for AAI and simulator Change-Id: I6b29013032809e8ded110d06d132f765cfc13a7d Issue-ID: DCAEGEN2-878 Signed-off-by: piotr.karas --- plans/dcaegen2/prh-testsuites/setup.sh | 25 ++++++++--- plans/dcaegen2/prh-testsuites/teardown.sh | 1 + tests/dcaegen2/prh-testcases/prh_tests.robot | 4 +- .../prh-testcases/resources/docker-compose.yml | 26 ++++++++++++ .../prh-testcases/resources/prh_library.robot | 13 ++++-- .../prh-testcases/resources/simulator/AAI.py | 48 +++++++++++++++------- .../resources/simulator/AAI_simulator | 3 +- .../prh-testcases/resources/simulator/DMaaP.py | 2 +- .../resources/simulator/certs/client.crt | 18 ++++++++ .../resources/simulator/certs/client.key | 27 ++++++++++++ .../resources/simulator/certs/server.crt | 19 +++++++++ .../resources/simulator/certs/server.key | 27 ++++++++++++ tests/dcaegen2/prh-testcases/ssl_prh_tests.robot | 31 ++++++++++++++ 13 files changed, 215 insertions(+), 29 deletions(-) create mode 100644 tests/dcaegen2/prh-testcases/resources/simulator/certs/client.crt create mode 100644 tests/dcaegen2/prh-testcases/resources/simulator/certs/client.key create mode 100644 tests/dcaegen2/prh-testcases/resources/simulator/certs/server.crt create mode 100644 tests/dcaegen2/prh-testcases/resources/simulator/certs/server.key create mode 100644 tests/dcaegen2/prh-testcases/ssl_prh_tests.robot diff --git a/plans/dcaegen2/prh-testsuites/setup.sh b/plans/dcaegen2/prh-testsuites/setup.sh index 00892d6b..096c695b 100644 --- a/plans/dcaegen2/prh-testsuites/setup.sh +++ b/plans/dcaegen2/prh-testsuites/setup.sh @@ -2,7 +2,19 @@ source ${SCRIPTS}/common_functions.sh +function check_heartbeat () +{ + local port=$1 + + for i in {1..10}; do + curl -sS -m 1 localhost:$port/heartbeat && break + echo sleep ${i} + sleep ${i} + done +} + export PRH_SERVICE="prh" +export SSL_PRH_SERVICE="ssl_prh" export DMAAP_SIMULATOR="dmaap_simulator" export AAI_SIMULATOR="aai_simulator" @@ -14,23 +26,24 @@ pip install -U docker docker-compose up -d --build PRH_IP=$(docker inspect --format='{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' ${PRH_SERVICE}) +SSL_PRH_IP=$(docker inspect --format='{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' ${SSL_PRH_SERVICE}) DMAAP_SIMULATOR_IP=$(docker inspect --format='{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' ${DMAAP_SIMULATOR}) AAI_SIMULATOR_IP=$(docker inspect --format='{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' ${AAI_SIMULATOR}) bypass_ip_adress ${PRH_IP} +bypass_ip_adress ${SSL_PRH_IP} bypass_ip_adress ${DMAAP_SIMULATOR_IP} bypass_ip_adress ${AAI_SIMULATOR_IP} echo PRH_IP=${PRH_IP} +echo SSL_PRH_IP=${SSL_PRH_IP} echo DMAAP_SIMULATOR_IP=${DMAAP_SIMULATOR_IP} echo AAI_SIMULATOR_IP=${AAI_SIMULATOR_IP} # Wait for initialization of PRH services -for i in {1..10}; do - curl -sS -m 1 localhost:8100/heartbeat && break - echo sleep ${i} - sleep ${i} -done +check_heartbeat 8100 +check_heartbeat 8200 # #Pass any variables required by Robot test suites in ROBOT_VARIABLES -ROBOT_VARIABLES="-v DMAAP_SIMULATOR:${DMAAP_SIMULATOR_IP}:2222 -v AAI_SIMULATOR:${AAI_SIMULATOR_IP}:3333 -v PRH:${PRH_IP}:8100" +ROBOT_VARIABLES="-v DMAAP_SIMULATOR:${DMAAP_SIMULATOR_IP}:2222 -v AAI_SIMULATOR:${AAI_SIMULATOR_IP}:3333 -v SSL_AAI_SIMULATOR:${AAI_SIMULATOR_IP}:3334 -v AAI_SIMULATOR_SETUP:${AAI_SIMULATOR_IP}:3335" + diff --git a/plans/dcaegen2/prh-testsuites/teardown.sh b/plans/dcaegen2/prh-testsuites/teardown.sh index bd1e5ba0..45a3b8b1 100644 --- a/plans/dcaegen2/prh-testsuites/teardown.sh +++ b/plans/dcaegen2/prh-testsuites/teardown.sh @@ -16,5 +16,6 @@ # kill-instance.sh prh +kill-instance.sh ssl_prh kill-instance.sh dmaap_simulator kill-instance.sh aai_simulator diff --git a/tests/dcaegen2/prh-testcases/prh_tests.robot b/tests/dcaegen2/prh-testcases/prh_tests.robot index 62698455..d81efe6e 100644 --- a/tests/dcaegen2/prh-testcases/prh_tests.robot +++ b/tests/dcaegen2/prh-testcases/prh_tests.robot @@ -2,14 +2,14 @@ Documentation Integration tests for PRH. ... PRH receive events from DMaaP and produce or not PNF_READY notification depends on required fields in received event. Suite Setup Run keywords Create header Create sessions +Test Setup Run keywords Reset Simulators Library resources/PrhLibrary.py Resource resources/prh_library.robot Resource ../../common.robot *** Variables *** ${DMAAP_SIMULATOR_URL} http://${DMAAP_SIMULATOR} -${AAI_SIMULATOR_URL} http://${AAI_SIMULATOR} -${PRH_URL} http://${PRH} +${AAI_SIMULATOR_SETUP_URL} http://${AAI_SIMULATOR_SETUP} ${EVENT_WITH_ALL_VALID_REQUIRED_FIELDS} %{WORKSPACE}/tests/dcaegen2/prh-testcases/assets/json_events/event_with_all_fields.json ${EVENT_WITH_IPV4} %{WORKSPACE}/tests/dcaegen2/prh-testcases/assets/json_events/event_with_IPV4.json ${EVENT_WITH_IPV6} %{WORKSPACE}/tests/dcaegen2/prh-testcases/assets/json_events/event_with_IPV6.json diff --git a/tests/dcaegen2/prh-testcases/resources/docker-compose.yml b/tests/dcaegen2/prh-testcases/resources/docker-compose.yml index 67921e8e..04d5763f 100644 --- a/tests/dcaegen2/prh-testcases/resources/docker-compose.yml +++ b/tests/dcaegen2/prh-testcases/resources/docker-compose.yml @@ -24,6 +24,30 @@ services: - dmaap - aai + ssl_prh: + image: nexus3.onap.org:10001/onap/org.onap.dcaegen2.services.prh.prh-app-server:latest + command: > + --dmaap.dmaapConsumerConfiguration.dmaapHostName=dmaap + --dmaap.dmaapConsumerConfiguration.dmaapPortNumber=2222 + --dmaap.dmaapProducerConfiguration.dmaapHostName=dmaap + --dmaap.dmaapProducerConfiguration.dmaapPortNumber=2222 + --aai.aaiClientConfiguration.aaiHostPortNumber=3334 + --aai.aaiClientConfiguration.aaiHost=aai + --aai.aaiClientConfiguration.aaiProtocol=https + entrypoint: + - java + - -Dspring.profiles.active=dev + - -Dlogging.level.org.onap.dcaegen2.services.prh=TRACE + - -jar + - /opt/prh-app-server.jar + ports: + - "8200:8100" + - "8533:8433" + container_name: ssl_prh + depends_on: + - dmaap + - aai + dmaap: build: context: simulator @@ -38,4 +62,6 @@ services: dockerfile: AAI_simulator ports: - "3333:3333" + - "3334:3334" + - "3335:3335" container_name: aai_simulator diff --git a/tests/dcaegen2/prh-testcases/resources/prh_library.robot b/tests/dcaegen2/prh-testcases/resources/prh_library.robot index fcad88d7..b7653671 100644 --- a/tests/dcaegen2/prh-testcases/resources/prh_library.robot +++ b/tests/dcaegen2/prh-testcases/resources/prh_library.robot @@ -12,8 +12,11 @@ Create header Create sessions Create Session dmaap_session ${DMAAP_SIMULATOR_URL} Set Suite Variable ${suite_dmaap_session} dmaap_session - Create Session aai_session ${AAI_SIMULATOR_URL} - Set Suite Variable ${suite_aai_session} aai_session + Create Session aai_setup_session ${AAI_SIMULATOR_SETUP_URL} + Set Suite Variable ${aai_setup_session} aai_setup_session + +Reset Simulators + Reset AAI simulator Invalid event processing [Arguments] ${input_invalid_event_in_dmaap} @@ -47,10 +50,14 @@ Check PNF_READY notification Set PNF name in AAI [Arguments] ${pnfs_name} ${headers}= Create Dictionary Accept=application/json Content-Type=text/html - ${resp}= Put Request ${suite_aai_session} /set_pnfs headers=${headers} data=${pnfs_name} + ${resp}= Put Request ${aai_setup_session} /set_pnfs headers=${headers} data=${pnfs_name} Should Be Equal As Strings ${resp.status_code} 200 Set event in DMaaP [Arguments] ${event_in_dmaap} ${resp}= Put Request ${suite_dmaap_session} /set_get_event headers=${suite_headers} data=${event_in_dmaap} Should Be Equal As Strings ${resp.status_code} 200 + +Reset AAI simulator + ${resp}= Post Request ${aai_setup_session} /reset + Should Be Equal As Strings ${resp.status_code} 200 diff --git a/tests/dcaegen2/prh-testcases/resources/simulator/AAI.py b/tests/dcaegen2/prh-testcases/resources/simulator/AAI.py index c57903c3..b6c9c0f9 100644 --- a/tests/dcaegen2/prh-testcases/resources/simulator/AAI.py +++ b/tests/dcaegen2/prh-testcases/resources/simulator/AAI.py @@ -1,12 +1,11 @@ from http.server import BaseHTTPRequestHandler from http.server import HTTPServer -import re -import sys +import _thread, ssl, time, re pnfs = 'Empty' -class AAIHandler(BaseHTTPRequestHandler): +class AAISetup(BaseHTTPRequestHandler): def do_PUT(self): if re.search('/set_pnfs', self.path): @@ -14,9 +13,19 @@ class AAIHandler(BaseHTTPRequestHandler): content_length = int(self.headers['Content-Length']) pnfs = self.rfile.read(content_length) _header_200_and_json(self) - + + return + + def do_POST(self): + if re.search('/reset', self.path): + global pnfs + pnfs = 'Empty' + _header_200_and_json(self) + return +class AAIHandler(BaseHTTPRequestHandler): + def do_PATCH(self): pnfs_name = '/aai/v12/network/pnfs/pnf/' + pnfs.decode() if re.search('wrong_aai_record', self.path): @@ -35,21 +44,30 @@ def _header_200_and_json(self): self.end_headers() -def _main_(handler_class=AAIHandler, server_class=HTTPServer, protocol="HTTP/1.0"): +def _main_(handler_class=AAIHandler, protocol="HTTP/1.0"): + handler_class.protocol_version = protocol + _thread.start_new_thread(_init_http_endpoints, (3333, AAIHandler)) + _thread.start_new_thread(_init_https_endpoints, (3334, AAIHandler)) + _thread.start_new_thread(_init_http_endpoints, (3335, AAISetup)) + while 1: + time.sleep(10) - if sys.argv[1:]: - port = int(sys.argv[1]) - else: - port = 3333 - server_address = ('', port) +def _init_http_endpoints(port, handler_class, server_class=HTTPServer): + server = server_class(('', port), handler_class) + sa = server.socket.getsockname() + print("Serving HTTP on", sa[0], "port", sa[1], "for", handler_class, "...") + server.serve_forever() - handler_class.protocol_version = protocol - httpd = server_class(server_address, handler_class) - sa = httpd.socket.getsockname() - print("Serving HTTP on", sa[0], "port", sa[1], "...") - httpd.serve_forever() +def _init_https_endpoints(port, handler_class, server_class=HTTPServer): + server = server_class(('', port), handler_class) + server.socket = ssl.wrap_socket(server.socket, + keyfile="certs/server.key", certfile="certs/server.crt", + ca_certs="certs/client.crt", server_side=True) + sa = server.socket.getsockname() + print("Serving HTTPS on", sa[0], "port", sa[1], "for", handler_class, "...") + server.serve_forever() if __name__ == '__main__': diff --git a/tests/dcaegen2/prh-testcases/resources/simulator/AAI_simulator b/tests/dcaegen2/prh-testcases/resources/simulator/AAI_simulator index 89a266eb..b44add60 100644 --- a/tests/dcaegen2/prh-testcases/resources/simulator/AAI_simulator +++ b/tests/dcaegen2/prh-testcases/resources/simulator/AAI_simulator @@ -9,7 +9,6 @@ RUN apk add --no-cache python3 && \ rm -r /root/.cache ADD AAI.py / - -EXPOSE 3333 +COPY certs/* /certs/ CMD [ "python", "./AAI.py" ] diff --git a/tests/dcaegen2/prh-testcases/resources/simulator/DMaaP.py b/tests/dcaegen2/prh-testcases/resources/simulator/DMaaP.py index 96e22a14..85c36109 100644 --- a/tests/dcaegen2/prh-testcases/resources/simulator/DMaaP.py +++ b/tests/dcaegen2/prh-testcases/resources/simulator/DMaaP.py @@ -4,7 +4,7 @@ import re import sys posted_event_from_prh = b'Empty' -received_event_to_get_method = 'Empty' +received_event_to_get_method = b'Empty' class DMaaPHandler(BaseHTTPRequestHandler): diff --git a/tests/dcaegen2/prh-testcases/resources/simulator/certs/client.crt b/tests/dcaegen2/prh-testcases/resources/simulator/certs/client.crt new file mode 100644 index 00000000..35123683 --- /dev/null +++ b/tests/dcaegen2/prh-testcases/resources/simulator/certs/client.crt @@ -0,0 +1,18 @@ +-----BEGIN CERTIFICATE----- +MIIC+DCCAeCgAwIBAgIJAKCcXOpDPyjQMA0GCSqGSIb3DQEBCwUAMBExDzANBgNV +BAMMBmNsaWVudDAeFw0xODEwMTgwNzU1NDlaFw0zODEwMTMwNzU1NDlaMBExDzAN +BgNVBAMMBmNsaWVudDCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAM/V +zZE2xloz06wO+Fj6GA26pzEFhTHpMOG20woWIkzL7N/TuTyPi24ZqzhyFvGmn71K +eDC14zYeZVTj+8OoJKRSPYcPiyGqMK46hkUNJ9LjVCLGBhqqgTGYd4YTn2FeTAiR +2/rduOD4N7AzYiJlZHcd1zls+QQOyQkFcuO4xKQiwjyC2djDx7W9qUsPZVha/9v9 +u7PcPZ7LnsAPdDSaL/bBz5aYFTX8IMo1nBIujpETCPyQoNc3h+lMilFhY4A1Nj0F +hkwF7GB9Xh7aLC2rEobVbn6s6biUq9+hg7OgTYZtQX7/SfD+6nioXSHMJNGYm7j9 +Z4Yf26BfQStd0cL9GwkCAwEAAaNTMFEwHQYDVR0OBBYEFK+hMFIwHNrVNqudmcQ+ +sLABdVMuMB8GA1UdIwQYMBaAFK+hMFIwHNrVNqudmcQ+sLABdVMuMA8GA1UdEwEB +/wQFMAMBAf8wDQYJKoZIhvcNAQELBQADggEBAMzawFZ8j99zdWhavqBpTeulsisL +IthHkRT8sIBnAkimS5Bujjix8NHsaqUc/1d56KPerDWJ4tXx7Sd4+F7aNIpIkp+1 +lFxKLPU4Fnsbq/IEWAJOuVOWZ0Lug/8UcJbp0Ma/ac1t76uHBQ/mmiJUu/22FUrA +X0Udg3q/xAT2H0QLLK/s2jfR511rNOY5u9zcdKArmHoN13ZuVeZ6HMVO6U78rqZk +TTbdhO9BieARIhoPC+/G9eTV7uJyzi4n60HDpxA0j+ZsH5L6CdU5M3XATMCxpxm4 +xAnHVb0fcudNzIsqZlP0jrJdrNOKkX8qij1poKvvJ2Ap/vKtZZVPL76GHCk= +-----END CERTIFICATE----- diff --git a/tests/dcaegen2/prh-testcases/resources/simulator/certs/client.key b/tests/dcaegen2/prh-testcases/resources/simulator/certs/client.key new file mode 100644 index 00000000..17eebd2a --- /dev/null +++ b/tests/dcaegen2/prh-testcases/resources/simulator/certs/client.key @@ -0,0 +1,27 @@ +-----BEGIN RSA PRIVATE KEY----- +MIIEowIBAAKCAQEAz9XNkTbGWjPTrA74WPoYDbqnMQWFMekw4bbTChYiTMvs39O5 +PI+LbhmrOHIW8aafvUp4MLXjNh5lVOP7w6gkpFI9hw+LIaowrjqGRQ0n0uNUIsYG +GqqBMZh3hhOfYV5MCJHb+t244Pg3sDNiImVkdx3XOWz5BA7JCQVy47jEpCLCPILZ +2MPHtb2pSw9lWFr/2/27s9w9nsuewA90NJov9sHPlpgVNfwgyjWcEi6OkRMI/JCg +1zeH6UyKUWFjgDU2PQWGTAXsYH1eHtosLasShtVufqzpuJSr36GDs6BNhm1Bfv9J +8P7qeKhdIcwk0ZibuP1nhh/boF9BK13Rwv0bCQIDAQABAoIBAA2Fs6JHFhC4XoVL +VA01+GqsQkSGP2xH585HvuNhHUox2m+Vru+px0CamvFJOwTt+mauebNxoh7bS2yC +iNbqEbg/QZGQCVVfZVtwo1vKx1SJRegdSjhh75XyfZRTooMLR5cnJlDkLCs2+yiT +r0bdofO+FUq/NFR3Qc08dYUreF/VZQzGT86vgpxTqFE1xdVX3mL5X/RFYED25s/n +nw+v8uRVcb21OGsEnHar4wV5VyyG6g0nZGk4uAfLGvvYKwcmMTtKulYtqnZ+0RNI +Iqu3siXOq6BcKly+TzKZ6kpqn+hsD9V9plQ45yPOswboToOnOBanZUxsEJ1mT5lO +wbpqYoECgYEA9IbxrWMri2b5kXz8o6O33RsG6qLrkaOU8M4PJOvxn7LaD9WLbsZZ +J6vv6eXAbHqF1ZfXv52sSZu9Bug3x8cv0ItOiOCPf5T6nTrdLjnCthivNUfLHVJ8 +nonzA2YJWaYe6u5sFtUSifQaHnrAMKqoX2D1qY7SD1QWWbSoK7cRxY0CgYEA2ZYl +T7OYKGKP8Ra2mLFpwY/84n+Rx/A3p0rzZ1cge9Xldo8pGbGduI+aII+XKPC4/lDx +dhS7rbOtIA08aF8htkunSErNUiDtZ+i386KYR3JsQuDruKbk51YYWpRhBPvs0mOT +7lBSeqbJZEJ2vDMU/oNJyUOW+0eL2Jjo28URdm0CgYEA2yucsPFDVVZ9+LZTZ4TV +xvtzjplqlYZOeCvpjQlh7+cJ5slbiXWE8bb9eeLxPwnurUzFFz2G8A8ENY2seYcC +R2Slhq/oTs1Ed+sL1mP1LuwfFp1745NMmXlB9NjfJphr+9ypyyk9zaKaSplxa+16 +rsqkRk753r1arxrq5QvYhP0CgYB8nJW/wI4qys++9hAbALgdh7X/janSxMtKvw0J +KQfMhCKHNNQICAXY9j0B2tpqMvrvgzHWO2eEwnsq+QmYiKsI+OjT6SsPlxX/xXLc +UEk/2dMQtjmppcNAjbki3wl1TkZB8498E3o5Dh4Wkk3n2KV0YYI3hsMII+B+aowp +mQI4PQKBgH8MZj1WDB05mgxC3jK6wNEM+0V08xL8sooYCEST11uZ1Pj7vZmRNjWn +/4pUrIOp1P9EnrS9RsWlVgRKUo6+yvPqdmenq5k7w7dSSowmAnW68rUV+HHuueXQ +9V98fkg3hAnI7ioV19bDaL6EtMvYLg+xSq2GmKvUqRcBRmlObW1L +-----END RSA PRIVATE KEY----- diff --git a/tests/dcaegen2/prh-testcases/resources/simulator/certs/server.crt b/tests/dcaegen2/prh-testcases/resources/simulator/certs/server.crt new file mode 100644 index 00000000..e154aee0 --- /dev/null +++ b/tests/dcaegen2/prh-testcases/resources/simulator/certs/server.crt @@ -0,0 +1,19 @@ +-----BEGIN CERTIFICATE----- +MIIC/jCCAeagAwIBAgIJALu8otyWP3z1MA0GCSqGSIb3DQEBCwUAMBQxEjAQBgNV +BAMMCWxvY2FsaG9zdDAeFw0xODEwMTgwNzU1MzNaFw0zODEwMTMwNzU1MzNaMBQx +EjAQBgNVBAMMCWxvY2FsaG9zdDCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoC +ggEBAMILA9ZYh8vo1ui3mNYtF185/qauRgJ5EP1ROqD445hX5T014BrlWzpsRD6B +/uGCxSwNnIE+tGChk4zQBnOSC2Pah2QjMGWUPjgWXgnL4vp1Mb4rKrVNQsaqMi7I +8aCdbO66rZirK04RD2hp09Vy7KGsK6TKjAnQn6UJJD2agHZtcMfQ5Kf/B0yZvlb6 +T3Yet+gefXH/iCZ+bzz4P1Ij6zetetw5S++SzsgxWJECfkk3ISkqu9DBLjfzacKz +ixq+twq5f+kzg3zhUBtpJ4BvC9HKiJ5ZTi/NjapmgJG1WEyhI4cVcpVwoBylJwpV +TyuVaSjVOoqprnvYre6ch9vz2JUCAwEAAaNTMFEwHQYDVR0OBBYEFGG+MZfFt5OH +Kxr4GyBu7mYArZ5aMB8GA1UdIwQYMBaAFGG+MZfFt5OHKxr4GyBu7mYArZ5aMA8G +A1UdEwEB/wQFMAMBAf8wDQYJKoZIhvcNAQELBQADggEBACoxYrR17mEPOhOxxyRp +ulAxTIbkhiskAI1YF4XRK3FtuWhiuivSyTWmNYfbuhl01U75tyQjd9TCKYKZsaM7 +MaaYWFaSlynFx9SZdKWMPv84re7xdUIzhH9dH+YsGij/ocdedfg/kyhdto88zB5C ++BGEopkOnXEZGZnuhgWVlwT9Aw4MCt9P/+3baJMU0MOSjLX+CnJZ7TsXpnupH3ej +kTPJaooiVig7V84e2jmLx4iuxDgtDSnxYN9fZeDW0SJq+7b7VlyJ9QIpQYt3kUIn +FMAtnxv6FEeMi6k5hUXmRg/XKt/K0WQ2dopwq9XQKMiyHlA4rIJ1Ar3jX3trDyCh +qBU= +-----END CERTIFICATE----- diff --git a/tests/dcaegen2/prh-testcases/resources/simulator/certs/server.key b/tests/dcaegen2/prh-testcases/resources/simulator/certs/server.key new file mode 100644 index 00000000..e86fdc42 --- /dev/null +++ b/tests/dcaegen2/prh-testcases/resources/simulator/certs/server.key @@ -0,0 +1,27 @@ +-----BEGIN RSA PRIVATE KEY----- +MIIEogIBAAKCAQEAwgsD1liHy+jW6LeY1i0XXzn+pq5GAnkQ/VE6oPjjmFflPTXg +GuVbOmxEPoH+4YLFLA2cgT60YKGTjNAGc5ILY9qHZCMwZZQ+OBZeCcvi+nUxvisq +tU1CxqoyLsjxoJ1s7rqtmKsrThEPaGnT1XLsoawrpMqMCdCfpQkkPZqAdm1wx9Dk +p/8HTJm+VvpPdh636B59cf+IJn5vPPg/UiPrN6163DlL75LOyDFYkQJ+STchKSq7 +0MEuN/NpwrOLGr63Crl/6TODfOFQG2kngG8L0cqInllOL82NqmaAkbVYTKEjhxVy +lXCgHKUnClVPK5VpKNU6iqmue9it7pyH2/PYlQIDAQABAoIBAAlOS+3QqxqNXRkm +DO9glDld56eIvhTKR5VOevhTV17sADNyTQAdNcXUgWVaCKY6Bki5kmLkZfQoa5Ia +O+T5ARDV3x5fTafhdyZrdDEWFRmb2znaih7NyMEMUoHJ40SnqBy+2Sp0Mwx4ZvvD +74PSEiUiw6kQiazC05UvngxSR4zmV1pimJAKmKxQynWAeAAFZNl7CDG+aeoaI483 +ipaPaxNc/2i1bi+dva9Hsc1q5C4+hQZIbCdHpbZfZj5bA36vyBo/NcRcicomfuVh +IBFRM8J7jaet68KWqNE3db+ji3xwHwJoypwF/yKtmFueWByv/HrZnaHS2gnKQQ4K +lYbW24ECgYEA5UiqxCeZGiWW+QU3X99hUkE3FlRRp6CWlw58ffn2Ztc5uZsXf0is +EsNHT47jIKFUqkHxBHCX4vSuAcphT/FGeXo6QkRhcSfrlQrifFGfTMbNGbrGnOZU +FVjknQUig3GLfm99Ed4jpyf7ps+iqIXQXlt2F2FRWygnqOVmK2AA2KECgYEA2Kcl +PDlxBuXk0LLbVIxIMymkZS3re1Gw+WJw21GpRUUpAGcZ6EKPUC0zlB4A75rLoucb +i0DmgUNX7T5ZFczrRCjduP7MhUjM64m5Ib0/Pwci46umnLhLf6i3+Z0/QLK3iGDV +8/6FUtKOX/UU5xKUe96MysBlnPzXUG92arQed3UCgYBHB+cXU6kjp4eI5+vKwLo2 +sEtvmHmfc6mTbIJ2yIxkOcMBVCHIZewg9+xMoliM0E4ZXMpc9MCpJ+IMXfUdvgJ2 +Ob54rxR86MAb8T5PAz5Vm7UIhotnKhfccSiJ2IBjtjZf2gwmD+p9q25TtDmQ+bue +r7j670Qz+FGpCkBHqbs5YQKBgEj9Lqc2duSrCMZiq0+1nxFVgyPvL3kxUV0DFCBf +R5alsSWIlorP+bY6NDk/TnNqhBZSo83rRHzh8jpkGeElU1F4LxKHDOIOX7Muh+dc ++XTDc7ad+pir4guVDL4Ugt3KF9jjPtFfuwznEL41NCCQ+uMsW+RmoxUbfXKEyrEy +E12NAoGAGBeR3ghlmhyasnbe7TyJbCAPU/Yut1NI4Rgb4sZcN8gwI5/wkRk0QryQ +eo9th+0e98Y8Rxa0t9k0dkmGOM9WwVdBHZCyzgs6ihLzgy7nZAGi86+pe4BiqDmb +NyfiL8LW+EADax5koWLQpPqrVQ66Gy2BAx4/ODBNzr3ox64jQpE= +-----END RSA PRIVATE KEY----- diff --git a/tests/dcaegen2/prh-testcases/ssl_prh_tests.robot b/tests/dcaegen2/prh-testcases/ssl_prh_tests.robot new file mode 100644 index 00000000..3fd0faf1 --- /dev/null +++ b/tests/dcaegen2/prh-testcases/ssl_prh_tests.robot @@ -0,0 +1,31 @@ +*** Settings *** +Documentation Integration tests for PRH. +... PRH receive events from DMaaP and produce or not PNF_READY notification depends on required fields in received event. +Suite Setup Run keywords Create header Create sessions +Library resources/PrhLibrary.py +Resource resources/prh_library.robot +Resource ../../common.robot + +*** Variables *** +${DMAAP_SIMULATOR_URL} http://${DMAAP_SIMULATOR} +${AAI_SIMULATOR_SETUP_URL} http://${AAI_SIMULATOR_SETUP} +${EVENT_WITH_ALL_VALID_REQUIRED_FIELDS} %{WORKSPACE}/tests/dcaegen2/prh-testcases/assets/json_events/event_with_all_fields.json +${EVENT_WITH_IPV4} %{WORKSPACE}/tests/dcaegen2/prh-testcases/assets/json_events/event_with_IPV4.json +${EVENT_WITH_IPV6} %{WORKSPACE}/tests/dcaegen2/prh-testcases/assets/json_events/event_with_IPV6.json +${EVENT_WITH_MISSING_IPV4_AND_IPV6} %{WORKSPACE}/tests/dcaegen2/prh-testcases/assets/json_events/event_with_missing_IPV4_and_IPV6.json +${EVENT_WITH_MISSING_SOURCENAME} %{WORKSPACE}/tests/dcaegen2/prh-testcases/assets/json_events/event_with_missing_sourceName.json +${EVENT_WITH_MISSING_SOURCENAME_AND_IPV4} %{WORKSPACE}/tests/dcaegen2/prh-testcases/assets/json_events/event_with_missing_sourceName_and_IPV4.json +${EVENT_WITH_MISSING_SOURCENAME_AND_IPV6} %{WORKSPACE}/tests/dcaegen2/prh-testcases/assets/json_events/event_with_missing_sourceName_and_IPV6.json +${EVENT_WITH_MISSING_SOURCENAME_IPV4_AND_IPV6} %{WORKSPACE}/tests/dcaegen2/prh-testcases/assets/json_events/event_with_missing_sourceName_IPV4_and_IPV6.json +${EVENT_WITHOUT_IPV6_FILED} %{WORKSPACE}/tests/dcaegen2/prh-testcases/assets/json_events/event_without_IPV6_field.json +${Not_json_format} %{WORKSPACE}/tests/dcaegen2/prh-testcases/assets/json_events/not_json_format.json + +*** Test Cases *** +#Valid DMaaP event can be converted to PNF_READY notification with ssl connection to AAI +# [Documentation] PRH get valid event from DMaaP with required fields - PRH produce PNF_READY notification +# [Tags] PRH Valid event +# [Template] Valid event processing +# ${EVENT_WITH_ALL_VALID_REQUIRED_FIELDS} +# ${EVENT_WITH_IPV4} +# ${EVENT_WITH_IPV6} +# ${EVENT_WITHOUT_IPV6_FILED} -- 2.16.6