From 8d000c3c464c9d07e048a8f5dbe9d88ef27b2dd4 Mon Sep 17 00:00:00 2001 From: Marcin Migdal Date: Wed, 12 Jun 2019 11:55:05 +0200 Subject: Remove unused exposed ports Rename methods Arm DMaaP SIM for new endpoints Add new test file - resource Arm test case Development is not finished yet Change-Id: I888a24c9d6d8bb8240b151c6c0f2f08c41df5b65 Issue-ID: INT-1100 Signed-off-by: Marcin Migdal --- .../re-registration/expected-pnf-update-event.json | 8 ++++ .../prh-testcases/resources/prh_library.robot | 26 ++++++++--- .../prh-testcases/resources/simulator/AAI.py | 3 +- .../prh-testcases/resources/simulator/DMaaP.py | 54 +++++++++++++--------- 4 files changed, 61 insertions(+), 30 deletions(-) create mode 100644 tests/dcaegen2/prh-testcases/assets/re-registration/expected-pnf-update-event.json (limited to 'tests/dcaegen2/prh-testcases') diff --git a/tests/dcaegen2/prh-testcases/assets/re-registration/expected-pnf-update-event.json b/tests/dcaegen2/prh-testcases/assets/re-registration/expected-pnf-update-event.json new file mode 100644 index 00000000..5c77e125 --- /dev/null +++ b/tests/dcaegen2/prh-testcases/assets/re-registration/expected-pnf-update-event.json @@ -0,0 +1,8 @@ +[ + { + "additionalFields": { + "attachment-point": "bbs-link" + }, + "correlationId": "NOK6061ZW9" + } +] \ No newline at end of file diff --git a/tests/dcaegen2/prh-testcases/resources/prh_library.robot b/tests/dcaegen2/prh-testcases/resources/prh_library.robot index 86c10954..bd426db3 100644 --- a/tests/dcaegen2/prh-testcases/resources/prh_library.robot +++ b/tests/dcaegen2/prh-testcases/resources/prh_library.robot @@ -13,13 +13,13 @@ Verify PNF ready sent Add PNF entry in AAI ${pnf_entry} Set VES event in DMaaP ${ves_event} Wait Until Keyword Succeeds 10x 3000ms Check CBS ready - Wait Until Keyword Succeeds 10x 3000ms Check recorded PNF_READY notification ${expected_pnf_ready_event} + Wait Until Keyword Succeeds 10x 3000ms Check created PNF_READY notification ${expected_pnf_ready_event} Verify PNF ready sent and logical link created [Arguments] ${test_case_directory} ${expected_logical_link}= Get Data From File ${test_case_directory}/expected-logical-link.json Verify PNF ready sent ${test_case_directory} - Check recorded Logical Link ${expected_logical_link} + Check created Logical Link ${expected_logical_link} Verify event with missing required field is logged [Arguments] ${test_case_directory} @@ -59,7 +59,12 @@ Verify PNF re registration [Arguments] ${test_case_directory} ${expected_logical_link}= Get Data From File ${test_case_directory}/expected-logical-link.json Verify PNF ready sent ${test_case_directory} - Check recorded Logical Link ${expected_logical_link} + Check created Logical Link ${expected_logical_link} + + ${ves_event}= Get Data From File ${test_case_directory}/ves-event.json + Set VES event in DMaaP ${ves_event} + ${expected_pnf_update_event}= Get Data From File ${test_case_directory}/expected-pnf-update-event.json + Wait Until Keyword Succeeds 10x 3000ms Check created PNF_UPDATE notification ${expected_pnf_update_event} Check CBS ready ${resp}= Get Request ${consul_setup_session} /v1/catalog/services @@ -67,15 +72,22 @@ Check CBS ready Log Service Catalog response: ${resp.content} Dictionary Should Contain Key ${resp.json()} cbs |Consul service catalog should contain CBS entry -Check recorded PNF_READY notification +Check created PNF_READY notification [Arguments] ${expected_event_pnf_ready_in_dpaap} - ${resp}= Get Request ${dmaap_setup_session} /setup/pnf_ready headers=${suite_headers} + ${resp}= Get Request ${dmaap_setup_session} /verify/pnf_ready headers=${suite_headers} Should Be Equal As Strings ${resp.status_code} 200 Should Be Equal As JSON ${resp.content} ${expected_event_pnf_ready_in_dpaap} -Check recorded Logical Link +Check created PNF_UPDATE notification + [Arguments] ${expected_event_pnf_update_in_dpaap} + ${resp}= Get Request ${dmaap_setup_session} /verify/pnf_update headers=${suite_headers} + Log Response from DMaaP: ${resp.content} + Should Be Equal As Strings ${resp.status_code} 200 + #Should Be Equal As JSON ${resp.content} ${expected_event_pnf_ready_in_dpaap} + +Check created Logical Link [Arguments] ${expected_logical_link_in_aai} - ${resp}= Get Request ${aai_setup_session} /setup/created_logical_link headers=${suite_headers} + ${resp}= Get Request ${aai_setup_session} /verify/created_logical_link headers=${suite_headers} Should Be Equal As Strings ${resp.status_code} 200 Should Be Equal As JSON ${resp.content} ${expected_logical_link_in_aai} diff --git a/tests/dcaegen2/prh-testcases/resources/simulator/AAI.py b/tests/dcaegen2/prh-testcases/resources/simulator/AAI.py index ff368034..9b76adf8 100644 --- a/tests/dcaegen2/prh-testcases/resources/simulator/AAI.py +++ b/tests/dcaegen2/prh-testcases/resources/simulator/AAI.py @@ -30,7 +30,7 @@ class AAISetup(BaseHTTPRequestHandler): if re.search('/setup/patched_pnf', self.path): httpServerLib.set_response_200_ok(self, payload = patched_pnf) logger.debug('AAISetup GET /setup/patched_pnf -> 200 OK') - elif re.search('/setup/created_logical_link', self.path): + elif re.search('/verify/created_logical_link', self.path): httpServerLib.set_response_200_ok(self, payload = created_logical_link) logger.debug('AAISetup GET /setup/created_logical_link -> 200 OK') else: @@ -142,7 +142,6 @@ class AAIHandler(BaseHTTPRequestHandler): def _main_(handler_class=AAIHandler, protocol="HTTP/1.0"): handler_class.protocol_version = protocol - httpServerLib.start_http_endpoint(3333, AAIHandler) httpServerLib.start_https_endpoint(3334, AAIHandler, keyfile="certs/aai.key", certfile="certs/aai.crt", ca_certs="certs/root.crt") httpServerLib.start_http_endpoint(3335, AAISetup) while 1: diff --git a/tests/dcaegen2/prh-testcases/resources/simulator/DMaaP.py b/tests/dcaegen2/prh-testcases/resources/simulator/DMaaP.py index ce9858d6..43d0bca0 100644 --- a/tests/dcaegen2/prh-testcases/resources/simulator/DMaaP.py +++ b/tests/dcaegen2/prh-testcases/resources/simulator/DMaaP.py @@ -17,17 +17,22 @@ logger = logging.getLogger('DMaaP-simulator-logger') DMAAP_EMPTY = b'[]' -ves_event = DMAAP_EMPTY -captured_prh_event = DMAAP_EMPTY +event_ves = DMAAP_EMPTY +event_pnf_ready = DMAAP_EMPTY +event_pnf_update = DMAAP_EMPTY class DmaapSetup(BaseHTTPRequestHandler): def do_GET(self): try: - if re.search('/setup/pnf_ready', self.path): - global captured_prh_event - httpServerLib.set_response_200_ok(self, payload = captured_prh_event) - logger.debug('DmaapSetup GET /setup/pnf_ready -> 200 OK') + if re.search('/verify/pnf_ready', self.path): + global event_pnf_ready + httpServerLib.set_response_200_ok(self, payload = event_pnf_ready) + logger.debug('DmaapSetup GET /verify/pnf_ready -> 200 OK') + elif re.search('/verify/pnf_update', self.path): + global event_pnf_update + httpServerLib.set_response_200_ok(self, payload = event_pnf_update) + logger.debug('DmaapSetup GET /verify/pnf_ready -> 200 OK') else: httpServerLib.set_response_404_not_found(self) logger.info('DmaapSetup GET ' + self.path + ' -> 404 Not found') @@ -38,10 +43,10 @@ class DmaapSetup(BaseHTTPRequestHandler): def do_PUT(self): try: if re.search('/setup/ves_event', self.path): - global ves_event - ves_event = httpServerLib.get_payload(self) + global event_ves + event_ves = httpServerLib.get_payload(self) httpServerLib.set_response_200_ok(self) - logger.debug('DmaapSetup PUT /setup/ves_event -> 200 OK, content: ' + ves_event.decode("utf-8")) + logger.debug('DmaapSetup PUT /setup/ves_event -> 200 OK, content: ' + event_ves.decode("utf-8")) else: httpServerLib.set_response_404_not_found(self) logger.info('DmaapSetup PUT ' + self.path + ' -> 404 Not found') @@ -52,10 +57,12 @@ class DmaapSetup(BaseHTTPRequestHandler): def do_POST(self): try: if re.search('/reset', self.path): - global ves_event - global captured_prh_event - ves_event = DMAAP_EMPTY - captured_prh_event = DMAAP_EMPTY + global event_ves + global event_pnf_ready + global event_pnf_update + event_ves = DMAAP_EMPTY + event_pnf_ready = DMAAP_EMPTY + event_pnf_update = DMAAP_EMPTY httpServerLib.set_response_200_ok(self) logger.debug('DmaapSetup POST /reset -> 200 OK') else: @@ -70,11 +77,17 @@ class DMaaPHandler(BaseHTTPRequestHandler): def do_POST(self): try: if re.search('/events/unauthenticated.PNF_READY', self.path): - global captured_prh_event - captured_prh_event = httpServerLib.get_payload(self) + global event_pnf_ready + event_pnf_ready = httpServerLib.get_payload(self) httpServerLib.set_response_200_ok(self) logger.debug('DMaaPHandler POST /events/unauthenticated.PNF_READY -> 200, content: ' - + captured_prh_event.decode("utf-8")) + + event_pnf_ready.decode("utf-8")) + elif re.search('/events/unauthenticated.PNF_UPDATE', self.path): + global event_pnf_update + event_pnf_update = httpServerLib.get_payload(self) + httpServerLib.set_response_200_ok(self) + logger.debug('DMaaPHandler POST /events/unauthenticated.PNF_READY -> 200, content: ' + + event_pnf_update.decode("utf-8")) else: httpServerLib.set_response_404_not_found(self) logger.info('DMaaPHandler POST ' + self.path + ' -> 404 Not found') @@ -85,12 +98,12 @@ class DMaaPHandler(BaseHTTPRequestHandler): def do_GET(self): try: if re.search('/events/unauthenticated.VES_PNFREG_OUTPUT/OpenDCAE-c12/c12', self.path): - global ves_event - httpServerLib.set_response_200_ok(self, payload = ves_event) + global event_ves + httpServerLib.set_response_200_ok(self, payload = event_ves) logger.debug( 'DMaaPHandler GET /events/unauthenticated.VES_PNFREG_OUTPUT/OpenDcae-c12/c12 -> 200, content: ' - + ves_event.decode("utf-8")) - ves_event = DMAAP_EMPTY + + event_ves.decode("utf-8")) + event_ves = DMAAP_EMPTY logger.debug('DMaaPHandler GET /events/unauthenticated.VES_PNFREG_OUTPUT/OpenDcae-c12/c12 -> 200') else: httpServerLib.set_response_404_not_found(self) @@ -101,7 +114,6 @@ class DMaaPHandler(BaseHTTPRequestHandler): def _main_(handler_class=DMaaPHandler, protocol="HTTP/1.0"): handler_class.protocol_version = protocol - httpServerLib.start_http_endpoint(2222, DMaaPHandler) httpServerLib.start_https_endpoint(2223, DMaaPHandler, keyfile="certs/dmaap-mr.key", certfile="certs/dmaap-mr.crt", ca_certs="certs/root.crt") httpServerLib.start_http_endpoint(2224, DmaapSetup) while 1: -- cgit 1.2.3-korg