Merge "Updated Setup files for 5G Bulk PM"
diff --git a/tests/dcaegen2/prh-testcases/assets/json_events/event_without_IPV6_field.json b/tests/dcaegen2/prh-testcases/assets/json_events/event_without_IPV6_field.json
new file mode 100644
index 0000000..0aa0372
--- /dev/null
+++ b/tests/dcaegen2/prh-testcases/assets/json_events/event_without_IPV6_field.json
@@ -0,0 +1,10 @@
+{
+ "event": {
+ "commonEventHeader": {
+ "sourceName":"NOK6061ZW9"
+ },
+ "pnfRegistrationFields": {
+ "oamV4IpAddress":"10.17.123.24"
+ }
+ }
+}
diff --git a/tests/dcaegen2/prh-testcases/prh_tests.robot b/tests/dcaegen2/prh-testcases/prh_tests.robot
index 55f484f..6269845 100644
--- a/tests/dcaegen2/prh-testcases/prh_tests.robot
+++ b/tests/dcaegen2/prh-testcases/prh_tests.robot
@@ -18,6 +18,7 @@
${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 ***
@@ -28,6 +29,7 @@
${EVENT_WITH_ALL_VALID_REQUIRED_FIELDS}
${EVENT_WITH_IPV4}
${EVENT_WITH_IPV6}
+ ${EVENT_WITHOUT_IPV6_FILED}
Invalid DMaaP event cannot be converted to PNF_READY notification
[Documentation] PRH get invalid event from DMaaP with missing required fields - PRH does not produce PNF_READY notification
diff --git a/tests/dcaegen2/prh-testcases/resources/PrhLibrary.py b/tests/dcaegen2/prh-testcases/resources/PrhLibrary.py
index 6a95c71..656f6fc 100644
--- a/tests/dcaegen2/prh-testcases/resources/PrhLibrary.py
+++ b/tests/dcaegen2/prh-testcases/resources/PrhLibrary.py
@@ -21,18 +21,18 @@
@staticmethod
def create_pnf_ready_notification(json_file):
json_to_python = json.loads(json_file)
- ipv4 = json_to_python["event"]["pnfRegistrationFields"]["oamV4IpAddress"]
- ipv6 = json_to_python["event"]["pnfRegistrationFields"]["oamV6IpAddress"]
- correlationId = json_to_python["event"]["commonEventHeader"]["sourceName"]
- str_json = '{"correlationId":"' + correlationId + '","ipaddress-v4-oam":"' + ipv4 + '","ipaddress-v6-oam":"' + ipv6 + '"}'
+ ipv4 = json_to_python.get("event").get("pnfRegistrationFields").get("oamV4IpAddress")
+ ipv6 = json_to_python.get("event").get("pnfRegistrationFields").get("oamV6IpAddress") if "oamV6IpAddress" in json_to_python["event"]["pnfRegistrationFields"] else ""
+ correlation_id = json_to_python.get("event").get("commonEventHeader").get("sourceName")
+ str_json = '{"correlationId":"' + correlation_id + '","ipaddress-v4-oam":"' + ipv4 + '","ipaddress-v6-oam":"' + ipv6 + '"}'
python_to_json = json.dumps(str_json)
return python_to_json.replace("\\", "")[1:-1]
@staticmethod
def create_pnf_name(json_file):
json_to_python = json.loads(json_file)
- correlationId = json_to_python["event"]["commonEventHeader"]["sourceName"]
- return correlationId
+ correlation_id = json_to_python.get("sourceName")
+ return correlation_id
@staticmethod
def stop_aai():