diff options
6 files changed, 104 insertions, 14 deletions
diff --git a/tests/dcaegen2/prh-testcases/assets/re-registration/aai-entry-service-instance.json b/tests/dcaegen2/prh-testcases/assets/re-registration/aai-entry-service-instance.json new file mode 100644 index 00000000..6119ea8b --- /dev/null +++ b/tests/dcaegen2/prh-testcases/assets/re-registration/aai-entry-service-instance.json @@ -0,0 +1,25 @@ +{ + "service-instance-id": "bbs_service", + "service-instance-name": "bbs_service", + "environment-context": "General_Revenue-Bearing", + "workload-context": "Production", + "model-invariant-id": "c71827e7-42fc-46ab-b059-22584c58108b", + "model-version-id": "8efe4a8a-6646-43e2-8807-a376ff22d2e0", + "resource-version": "1554127221722", + "orchestration-status": "Active", + "relationship-list": { + "relationship": [ + { + "related-to": "pnf", + "relationship-label": "org.onap.relationships.inventory.ComposedOf", + "related-link": "/aai/v12/network/pnfs/pnf/NOK6061ZW9", + "relationship-data": [ + { + "relationship-key": "pnf.pnf-name", + "relationship-value": "NOK6061ZW9" + } + ] + } + ] + } +}
\ No newline at end of file diff --git a/tests/dcaegen2/prh-testcases/assets/re-registration/aai-entry.json b/tests/dcaegen2/prh-testcases/assets/re-registration/aai-entry.json index 8787dc1b..e01e26e6 100644 --- a/tests/dcaegen2/prh-testcases/assets/re-registration/aai-entry.json +++ b/tests/dcaegen2/prh-testcases/assets/re-registration/aai-entry.json @@ -19,5 +19,48 @@ "ipaddress-v6-oam": "example-ipaddress-v6-oam-val-92665", "inv-status": "example-inv-status-val-8477", "prov-status": "example-prov-status-val-68268", - "nf-role": "example-nf-role-val-68489" + "nf-role": "example-nf-role-val-68489", + "relationship-list": { + "relationship": [ + { + "related-to": "service-instance", + "relationship-label": "org.onap.relationships.inventory.ComposedOf", + "related-link": "/aai/v12/business/customers/customer/Demonstration/service-subscriptions/service-subscription/vFW/service-instances/service-instance/bbs_service", + "relationship-data": [ + { + "relationship-key": "customer.global-customer-id", + "relationship-value": "Demonstration" + }, + { + "relationship-key": "service-subscription.service-type", + "relationship-value": "vFW" + }, + { + "relationship-key": "service-instance.service-instance-id", + "relationship-value": "bbs_service" + } + ], + "related-to-property": [ + { + "property-key": "service-instance.service-instance-name", + "property-value": "bbs_service" + } + ] + }, + { + "related-to": "logical-link", + "relationship-label": "org.onap.relationships.inventory.BridgedTo", + "related-link": "/aai/v12/network/logical-links/logical-link/bbs-link", + "relationship-data": [ + { + "relationship-key": "logical-link.link-name", + "relationship-value": "bbs-link" + } + ] + } + ] + } + + + }
\ No newline at end of file diff --git a/tests/dcaegen2/prh-testcases/assets/re-registration/expected-logical-link.json b/tests/dcaegen2/prh-testcases/assets/re-registration/expected-logical-link.json index b75df885..0e4f6ab1 100644 --- a/tests/dcaegen2/prh-testcases/assets/re-registration/expected-logical-link.json +++ b/tests/dcaegen2/prh-testcases/assets/re-registration/expected-logical-link.json @@ -1,13 +1,22 @@ { "link-name": "bbs-link", + "in-maint": false, "link-type": "attachment-point", "relationship-list": { "relationship": [ { + "related-to": "pnf", + "relationship-label": "org.onap.relationships.inventory.BridgedTo", "related-link": "/network/pnfs/pnf/NOK6061ZW9", - "relationship-data": [] + "relationship-data": [ + { + "relationship-key": "pnf.pnf-name", + "relationship-value": "NOK6061ZW9" + } + ] } ] } } + diff --git a/tests/dcaegen2/prh-testcases/assets/re-registration/expected-pnf-ready-event.json b/tests/dcaegen2/prh-testcases/assets/re-registration/expected-pnf-ready-event.json deleted file mode 100644 index 5c77e125..00000000 --- a/tests/dcaegen2/prh-testcases/assets/re-registration/expected-pnf-ready-event.json +++ /dev/null @@ -1,8 +0,0 @@ -[ - { - "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 7bf12645..007caf37 100644 --- a/tests/dcaegen2/prh-testcases/resources/prh_library.robot +++ b/tests/dcaegen2/prh-testcases/resources/prh_library.robot @@ -58,14 +58,15 @@ Verify AAI not responding is logged Verify PNF re registration [Timeout] 100s [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 created Logical Link ${expected_logical_link} + ${aai_entry}= Get Data From File ${test_case_directory}/aai-entry.json + Add PNF entry in AAI ${aai_entry} + ${service_instance}= Get Data From File ${test_case_directory}/aai-entry-service-instance.json + Add service instance entry in AAI ${service_instance} ${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} + #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 @@ -115,6 +116,13 @@ Add PNF entry in AAI ${resp}= Put Request ${aai_setup_session} /setup/add_pnf_entry headers=${suite_headers} data=${pnf_entry} Should Be Equal As Strings ${resp.status_code} 200 +Add service instance entry in AAI + [Arguments] ${aai_service_instance} + ${headers}= Create Dictionary Accept=application/json Content-Type=application/json + Log AAI url ${AAI_SIMULATOR_SETUP_URL} + ${resp}= Put Request ${aai_setup_session} /setup/add_service_instace headers=${suite_headers} data=${aai_service_instance} + Should Be Equal As Strings ${resp.status_code} 200 + Set VES event in DMaaP [Arguments] ${ves_event} ${resp}= Put Request ${dmaap_setup_session} /setup/ves_event headers=${suite_headers} data=${ves_event} diff --git a/tests/dcaegen2/prh-testcases/resources/simulator/AAI.py b/tests/dcaegen2/prh-testcases/resources/simulator/AAI.py index 9b76adf8..f6d3b1f6 100644 --- a/tests/dcaegen2/prh-testcases/resources/simulator/AAI.py +++ b/tests/dcaegen2/prh-testcases/resources/simulator/AAI.py @@ -22,6 +22,7 @@ AAI_RESOURCE_NOT_FOUND = b'{}' pnf_entries = {} patched_pnf = AAI_RESOURCE_NOT_FOUND created_logical_link = AAI_RESOURCE_NOT_FOUND +service_instance = AAI_RESOURCE_NOT_FOUND class AAISetup(BaseHTTPRequestHandler): @@ -53,6 +54,13 @@ class AAISetup(BaseHTTPRequestHandler): httpServerLib.set_response_200_ok(self) logger.debug('AAISetup PUT /setup/add_pnf_entry [' + pnf_name + '] -> 200 OK') + elif re.search('/setup/add_service_instace', self.path): + service_instance_payload = httpServerLib.get_payload(self) + global service_instance + service_instance = json.loads(service_instance_payload) + httpServerLib.set_response_200_ok(self) + logger.debug('AAISetup PUT /setup/add_service_instace -> 200 OK') + elif re.search('/set_pnf', self.path): pnf_name = httpServerLib.get_payload(self).decode() pnf_entries[pnf_name] = AAI_RESOURCE_NOT_FOUND @@ -70,9 +78,11 @@ class AAISetup(BaseHTTPRequestHandler): global pnf_entries global patched_pnf global created_logical_link + global service_instance pnf_entries = {} patched_pnf = AAI_RESOURCE_NOT_FOUND created_logical_link = AAI_RESOURCE_NOT_FOUND + service_instance = AAI_RESOURCE_NOT_FOUND httpServerLib.set_response_200_ok(self) logger.debug('AAISetup POST /reset -> 200 OK') @@ -95,6 +105,9 @@ class AAIHandler(BaseHTTPRequestHandler): else: httpServerLib.set_response_404_not_found(self) logger.info('AAIHandler GET /aai/v12/network/pnfs/pnf/' + pnf_name + ' -> 404 Not found, actual entries: ' + str(pnf_entries.keys())) + elif re.search('aai/v12/business/customers/customer/Demonstration/service-subscriptions/service-subscription/vFW/service-instances/service-instance/bbs_service', self.path): + httpServerLib.set_response_200_ok(self, payload = service_instance) + logger.debug('AAIHandler GET aai/v12/business/customers/customer/Demonstration/service-subscriptions/service-subscription/vFW/service-instances/service-instance/bbs_service -> 200 OK') else: httpServerLib.set_response_404_not_found(self) logger.info('AAIHandler GET ' + self.path + ' -> 404 Not found') |