diff options
Diffstat (limited to 'tests/dcaegen2/prh-testcases/resources')
4 files changed, 85 insertions, 37 deletions
diff --git a/tests/dcaegen2/prh-testcases/resources/PrhLibrary.py b/tests/dcaegen2/prh-testcases/resources/PrhLibrary.py index 6667bd78..597f8647 100644 --- a/tests/dcaegen2/prh-testcases/resources/PrhLibrary.py +++ b/tests/dcaegen2/prh-testcases/resources/PrhLibrary.py @@ -41,16 +41,10 @@ class PrhLibrary(object): def create_pnf_ready_notification_as_pnf_ready(json_file): json_to_python = json.loads(json_file) correlation_id = PrhLibrary.extract_correlation_id_value(json_to_python, "correlationId") - serial_number = PrhLibrary.extract_value_from_pnfRegistrationFields(json_to_python, "serial-number", "serialNumber") - vendor_name = PrhLibrary.extract_value_from_pnfRegistrationFields(json_to_python, "equip-vendor", "vendorName") - model_number = PrhLibrary.extract_value_from_pnfRegistrationFields(json_to_python, "equip-model", "modelNumber") - unit_type = PrhLibrary.extract_value_from_pnfRegistrationFields(json_to_python, "equip-type", "unitType") additional_fields = PrhLibrary.extract_additional_fields_value(json_to_python) - nf_role = json_to_python.get("event").get("commonEventHeader").get("nfNamingCode") if "nfNamingCode" in json_to_python["event"]["commonEventHeader"] else "" - - str_json = '{' + correlation_id + serial_number + vendor_name + model_number + unit_type + '"nf-role":"' + nf_role + '","sw-version":"",' + additional_fields + str_json = '{' + correlation_id + additional_fields return json.dumps(str_json.rstrip(',') + '}').replace("\\", "")[1:-1] @@ -91,7 +85,7 @@ class PrhLibrary(object): @staticmethod def create_pnf_name(json_file): json_to_python = json.loads(json_file) - correlation_id = json_to_python.get("sourceName") + correlation_id = json_to_python.get("event").get("commonEventHeader").get("sourceName") + '",' if "sourceName" in json_to_python["event"]["commonEventHeader"] else '",' return correlation_id @staticmethod diff --git a/tests/dcaegen2/prh-testcases/resources/docker-compose.yml b/tests/dcaegen2/prh-testcases/resources/docker-compose.yml index 8b6ea128..b49a14ba 100644 --- a/tests/dcaegen2/prh-testcases/resources/docker-compose.yml +++ b/tests/dcaegen2/prh-testcases/resources/docker-compose.yml @@ -3,9 +3,9 @@ services: prh: image: nexus3.onap.org:10001/onap/org.onap.dcaegen2.services.prh.prh-app-server:latest command: > - --dmaap.dmaapConsumerConfiguration.dmaapHostName=dmaap-bc + --dmaap.dmaapConsumerConfiguration.dmaapHostName=dmaap-mr --dmaap.dmaapConsumerConfiguration.dmaapPortNumber=2222 - --dmaap.dmaapProducerConfiguration.dmaapHostName=dmaap-bc + --dmaap.dmaapProducerConfiguration.dmaapHostName=dmaap-mr --dmaap.dmaapProducerConfiguration.dmaapPortNumber=2222 --aai.aaiClientConfiguration.aaiHostPortNumber=3333 --aai.aaiClientConfiguration.aaiHost=aai @@ -19,16 +19,16 @@ services: container_name: prh depends_on: - cbs - - dmaap-bc + - dmaap-mr - aai ssl_prh: image: nexus3.onap.org:10001/onap/org.onap.dcaegen2.services.prh.prh-app-server:latest command: > - --dmaap.dmaapConsumerConfiguration.dmaapHostName=dmaap-bc + --dmaap.dmaapConsumerConfiguration.dmaapHostName=dmaap-mr --dmaap.dmaapConsumerConfiguration.dmaapPortNumber=2223 --dmaap.dmaapConsumerConfiguration.dmaapProtocol=https - --dmaap.dmaapProducerConfiguration.dmaapHostName=dmaap-bc + --dmaap.dmaapProducerConfiguration.dmaapHostName=dmaap-mr --dmaap.dmaapProducerConfiguration.dmaapPortNumber=2223 --dmaap.dmaapProducerConfiguration.dmaapProtocol=https --aai.aaiClientConfiguration.aaiHostPortNumber=3334 @@ -54,10 +54,10 @@ services: container_name: ssl_prh depends_on: - cbs - - dmaap-bc + - dmaap-mr - aai - dmaap-bc: + dmaap-mr: build: context: simulator dockerfile: DMaaP_simulator @@ -89,21 +89,74 @@ services: image: docker.io/consul:1.0.6 restart: on-failure command: ["kv", "put", "-http-addr=http://consul-server:8500", "dcae-prh", '{ - "dmaap.dmaapConsumerConfiguration.dmaapHostName":"dmaap-bc", + "dmaap.dmaapConsumerConfiguration.dmaapUrl":"http://dmaap-mr:2222/events/unauthenticated.VES_PNFREG_OUTPUT", + "dmaap.dmaapConsumerConfiguration.dmaapHostName":"dmaap-mr", "dmaap.dmaapConsumerConfiguration.dmaapPortNumber":2223, - "dmaap.dmaapConsumerConfiguration.dmaapProtocol":"https", - "dmaap.dmaapProducerConfiguration.dmaapHostName":"dmaap-bc", + "dmaap.dmaapConsumerConfiguration.dmaapTopicName": "events/unauthenticated.VES_PNFREG_OUTPUT", + "dmaap.dmaapConsumerConfiguration.dmaapProtocol":"http", + "dmaap.dmaapConsumerConfiguration.dmaapUserName":"admin", + "dmaap.dmaapConsumerConfiguration.dmaapUserPassword":"admin", + "dmaap.dmaapConsumerConfiguration.dmaapContentType": "application/json", + "dmaap.dmaapConsumerConfiguration.consumerId": "c12", + "dmaap.dmaapConsumerConfiguration.consumerGroup": "OpenDCAE-c12", + "dmaap.dmaapConsumerConfiguration.timeoutMs": -1, + "dmaap.dmaapConsumerConfiguration.messageLimit": -1, + + "dmaap.dmaapProducerConfiguration.dmaapUrl":"http://dmaap-mr:2222/events/unauthenticated.PNF_READY", + "dmaap.dmaapProducerConfiguration.dmaapHostName":"dmaap-mr", "dmaap.dmaapProducerConfiguration.dmaapPortNumber":2223, - "dmaap.dmaapProducerConfiguration.dmaapProtocol":"https", - "aai.aaiClientConfiguration.aaiHostPortNumber":3334, + "dmaap.dmaapProducerConfiguration.dmaapTopicName": "events/unauthenticated.PNF_READY", + "dmaap.dmaapProducerConfiguration.dmaapProtocol":"http", + "dmaap.dmaapProducerConfiguration.dmaapUserName":"admin", + "dmaap.dmaapProducerConfiguration.dmaapUserPassword":"admin", + "dmaap.dmaapProducerConfiguration.dmaapContentType": "application/json", + + "dmaap.dmaapUpdateProducerConfiguration.dmaapUrl":"http://dmaap-mr:2222/events/unauthenticated.PNF_UPDATE", + "dmaap.dmaapUpdateProducerConfiguration.dmaapHostName": "dmaap-mr", + "dmaap.dmaapUpdateProducerConfiguration.dmaapPortNumber": 2223, + "dmaap.dmaapUpdateProducerConfiguration.dmaapTopicName": "events/unauthenticated.PNF_UPDATE", + "dmaap.dmaapUpdateProducerConfiguration.dmaapProtocol": "http", + "dmaap.dmaapUpdateProducerConfiguration.dmaapUserName": "admin", + "dmaap.dmaapUpdateProducerConfiguration.dmaapUserPassword": "admin", + "dmaap.dmaapUpdateProducerConfiguration.dmaapContentType": "application/json", + + "aai.aaiClientConfiguration.pnfUrl":"https://aai:3333/aai/v12/network/pnfs/pnf" "aai.aaiClientConfiguration.aaiHost":"aai", + "aai.aaiClientConfiguration.aaiHostPortNumber":3334, "aai.aaiClientConfiguration.aaiProtocol":"https", - "security.enableAaiCertAuth":"true", - "security.enableDmaapCertAuth":"true", - "security.keyStorePath":"/tmp/certs/org.onap.dcae.jks", - "security.keyStorePasswordPath":"/tmp/certs/keystore.password", - "security.trustStorePath":"/tmp/certs/org.onap.dcae.trust.jks", - "security.trustStorePasswordPath":"/tmp/certs/truststore.password" + "aai.aaiClientConfiguration.aaiUserName": "DCAE", + "aai.aaiClientConfiguration.aaiUserPassword": "DCAE", + "aai.aaiClientConfiguration.aaiIgnoreSslCertificateErrors": true, + "aai.aaiClientConfiguration.aaiBasePath": "/aai/v12", + "aai.aaiClientConfiguration.aaiPnfPath": "/network/pnfs/pnf", + "aai.aaiClientConfiguration.aaiServiceInstancePath":"/business/customers/customer/${customer}/service-subscriptions/service-subscription/${serviceType}/service-instances/service-instance/${serviceInstanceId}", + + "security.trustStorePath":"change it", + "security.trustStorePasswordPath":"change it", + "security.keyStorePath":"change it", + "security.keyStorePasswordPath":"change it", + "security.enableAaiCertAuth":false, + "security.enableDmaapCertAuth":false, + + "streams_publishes":{ + "pnf-update":{ + "dmaap_info":{ + "topic_url":"http://dmaap-mr:2222/events/unauthenticated.PNF_UPDATE" + } + }, + "pnf-ready":{ + "dmaap_info":{ + "topic_url":"http://dmaap-mr:2222/events/unauthenticated.PNF_READY" + } + } + }, + "streams_subscribes":{ + "ves-reg-output":{ + "dmaap_info":{ + "topic_url":"http://dmaap-mr:2222/events/unauthenticated.VES_PNFREG_OUTPUT" + } + } + } }' ] depends_on: diff --git a/tests/dcaegen2/prh-testcases/resources/prh_library.robot b/tests/dcaegen2/prh-testcases/resources/prh_library.robot index a6a01eb9..c2311852 100644 --- a/tests/dcaegen2/prh-testcases/resources/prh_library.robot +++ b/tests/dcaegen2/prh-testcases/resources/prh_library.robot @@ -33,9 +33,9 @@ Valid event processing [Arguments] ${input_valid__ves_event_in_dmaap} [Timeout] 30s ${data}= Get Data From File ${input_valid__ves_event_in_dmaap} + Set event in DMaaP ${data} ${pnf_name}= Create PNF name ${data} Set PNF name in AAI ${pnf_name} - Set event in DMaaP ${data} ${expected_event_pnf_ready_in_dpaap}= create pnf ready_notification as pnf ready ${data} #TODO to fix after CBS merge #Wait Until Keyword Succeeds 100x 300ms Check PNF_READY notification ${expected_event_pnf_ready_in_dpaap} diff --git a/tests/dcaegen2/prh-testcases/resources/simulator/AAI.py b/tests/dcaegen2/prh-testcases/resources/simulator/AAI.py index bd76c616..baa81651 100644 --- a/tests/dcaegen2/prh-testcases/resources/simulator/AAI.py +++ b/tests/dcaegen2/prh-testcases/resources/simulator/AAI.py @@ -16,7 +16,7 @@ logging.basicConfig( logger = logging.getLogger('AAI-simulator-logger') -pnfs = 'Empty' +pnf_name = 'Empty' pnf_entry = {} @@ -29,10 +29,10 @@ class AAISetup(BaseHTTPRequestHandler): def do_PUT(self): logger.info('AAI SIM Setup Put execution') - if re.search('/set_pnf$', self.path): - global pnfs + if re.search('/set_pnf$', self.path): # to avoid regex collisions '$' must be added + global pnf_name content_length = self._get_content_length() - pnfs = self.rfile.read(content_length) + pnf_name = self.rfile.read(content_length).decode() _mark_response_as_http_ok(self) if re.search('/set_pnf_entry',self.path): @@ -46,8 +46,8 @@ class AAISetup(BaseHTTPRequestHandler): def do_POST(self): logger.info('AAI SIM Setup Post execution') if re.search('/reset', self.path): - global pnfs - pnfs = 'Empty' + global pnf_name + pnf_name = 'Empty' _mark_response_as_http_ok(self) return @@ -60,17 +60,18 @@ class AAIHandler(BaseHTTPRequestHandler): def do_GET(self): logger.info('AAI SIM Get execution') - if re.search('/get_pnf_entry', self.path): + full_request_path = '/aai/v12/network/pnfs/pnf/' + pnf_name + if re.search(full_request_path, self.path): _mark_response_as_http_ok(self) body = json.dumps(pnf_entry) + logger.info('AAI SIM Get json prepared') self.wfile.write(body.encode()) - return def do_PATCH(self): logger.info('AAI SIM Patch execution') - pnfs_name = '/aai/v12/network/pnfs/pnf/' + pnfs.decode() + pnfs_name = '/aai/v12/network/pnfs/pnf/' + pnf_name if re.search('wrong_aai_record', self.path): self.send_response(400) logger.info('Execution status 400') @@ -93,4 +94,4 @@ def _main_(handler_class=AAIHandler, protocol="HTTP/1.0"): if __name__ == '__main__': - _main_() + _main_()
\ No newline at end of file |