2 Documentation Testing E2E VES,Dmaap,DFC,DR with File Ready event feed from xNF
3 Library RequestsLibrary
4 Library OperatingSystem
7 Resource resources/bulkpm_keywords.robot
11 ${VESC_URL} http://%{VESC_IP}:%{VESC_PORT}
12 ${GLOBAL_APPLICATION_ID} robot-ves
13 ${VES_ANY_EVENT_PATH} /eventListener/v7
14 ${HEADER_STRING} content-type=application/json
15 ${EVENT_DATA_FILE} %{WORKSPACE}/tests/usecases/5G-bulkpm/assets/json_events/FileExistNotificationUpdated.json
17 ${TARGETURL_TOPICS} http://${DMAAP_MR_IP}:3904/topics
18 ${TARGETURL_SUBSCR} http://${DMAAP_MR_IP}:3904/events/unauthenticated.VES_NOTIFICATION_OUTPUT/OpenDcae-c12/C12?timeout=1000
19 ${CLI_EXEC_CLI} curl -k https://${DR_PROV_IP}:8443/internal/prov
20 ${CLI_EXEC_CLI_FILECONSUMER} docker exec fileconsumer-node /bin/sh -c "ls /opt/app/subscriber/delivery | grep .xml"
21 ${CLI_EXEC_CLI_DFC_LOG} docker exec dfc /bin/sh -c "cat /var/log/ONAP/application.log" > /tmp/dfc_docker.log.robot
22 ${CLI_EXEC_CLI_DFC_LOG_GREP} grep "Datafile file published" /tmp/dfc_docker.log.robot
23 ${CLI_EXEC_CLI_FILECONSUMER_CP} docker cp fileconsumer-node:/opt/app/subscriber/delivery/A20181002.0000-1000-0015-1000_5G.xml.M %{WORKSPACE}
24 ${CLI_EXEC_RENAME_METADATA} mv %{WORKSPACE}/A20181002.0000-1000-0015-1000_5G.xml.M %{WORKSPACE}/metadata.json
25 ${CLI_EXEC_CLI_PMMAPPER_LOG} docker exec pmmapper /bin/sh -c "cat /var/log/ONAP/dcaegen2/services/pm-mapper/pm-mapper_output.log" > /tmp/pmmapper_docker.log.robot
26 ${CLI_EXEC_CLI_PMMAPPER_LOG_GREP} grep "XML validation successful Event" /tmp/pmmapper_docker.log.robot
27 ${CLI_EXEC_CLI_PMMAPPER_LOG_GREP_VES} grep "Successfully published VES events to messagerouter" /tmp/pmmapper_docker.log.robot
28 ${metadataSchemaPath} %{WORKSPACE}/tests/usecases/5G-bulkpm/assets/metadata.schema.json
29 ${metadataJsonPath} %{WORKSPACE}/metadata.json
33 Send VES File Ready Event to VES Collector
35 [Documentation] Send VES File Ready Event
36 ${evtdata}= Get Event Data From File ${EVENT_DATA_FILE}
37 ${headers}= Create Header From String ${HEADER_STRING}
38 ${resp}= Publish Event To VES Collector ${VESC_URL} ${VES_ANY_EVENT_PATH} ${headers} ${evtdata}
40 ${resp}= Publish Event To VES Collector ${VESC_URL} ${VES_ANY_EVENT_PATH} ${headers} ${evtdata}
42 ${resp}= Publish Event To VES Collector ${VESC_URL} ${VES_ANY_EVENT_PATH} ${headers} ${evtdata}
44 ${resp}= Publish Event To VES Collector ${VESC_URL} ${VES_ANY_EVENT_PATH} ${headers} ${evtdata}
46 Log Receive HTTP Status code ${resp.status_code}
47 Should Be Equal As Strings ${resp.status_code} 202
49 Check VES Notification Topic is existing in Message Router
51 [Documentation] Get the VES Notification topic on message router
54 ${resp}= GetCall ${TARGETURL_TOPICS}
55 log ${TARGETURL_TOPICS}
56 log 'JSON Response Code :'${resp}
57 ${topics}= Evaluate $resp.json().get('topics')
59 ${ListLength}= Get Length ${topics}
61 List Should Contain Value ${topics} unauthenticated.VES_NOTIFICATION_OUTPUT
63 Verify Data File Collector successfully publishes the PM XML file to the Data Router
65 [Documentation] Check that DFC publishes the PM XML to the Data Router
66 ${cli_cmd_output}= Run Process ${CLI_EXEC_CLI_DFC_LOG} shell=yes
67 Log ${cli_cmd_output.stdout}
68 Should Be Equal As Strings ${cli_cmd_output.rc} 0
69 ${cli_cmd_output}= Run Process ${CLI_EXEC_CLI_DFC_LOG_GREP} shell=yes
70 Log ${cli_cmd_output.stdout}
71 Should Be Equal As Strings ${cli_cmd_output.rc} 0
72 Should Contain ${cli_cmd_output.stdout} Datafile file published
75 Verify Default Feed And File Consumer Subscription On Datarouter
77 [Documentation] Verify Default Feed And File Consumer Subscription On Datarouter
78 ${cli_cmd_output}= Run Process ${CLI_EXEC_CLI} shell=yes
79 Log ${cli_cmd_output.stdout}
80 Should Be Equal As Strings ${cli_cmd_output.rc} 0
81 Should Contain ${cli_cmd_output.stdout} https://dmaap-dr-prov/publish/1
82 Should Contain ${cli_cmd_output.stdout} http://${DR_SUBSCIBER_IP}:7070
85 Verify Fileconsumer Receive PM file from Data Router
87 [Documentation] Check PM XML file exists on the File Consumer Simulator
88 ${cli_cmd_output}= Run Process ${CLI_EXEC_CLI_FILECONSUMER} shell=yes
89 Log ${cli_cmd_output.stdout}
90 Should Be Equal As Strings ${cli_cmd_output.rc} 0
91 Should Contain ${cli_cmd_output.stdout} A20181002.0000-1000-0015-1000_5G.xml
93 Verify File Consumer Receive valid metadata from Data Router
95 [Documentation] Check PM XML file is delivered to the FileConsumer Simulator with valid metadata
96 ${cli_cmd_output}= Run Process ${CLI_EXEC_CLI_FILECONSUMER} shell=yes
97 Log ${cli_cmd_output.stdout}
98 Should Be Equal As Strings ${cli_cmd_output.rc} 0
99 Should Contain ${cli_cmd_output.stdout} A20181002.0000-1000-0015-1000_5G.xml.M
100 ${cli_cmd_output}= Run Process ${CLI_EXEC_CLI_FILECONSUMER_CP} shell=yes
101 ${cli_cmd_output}= Run Process ${CLI_EXEC_RENAME_METADATA} shell=yes
102 ${validation_result}= Validate ${metadataSchemaPath} ${metadataJsonPath}
103 Should Be Equal As Strings ${validation_result} 0
105 Verify PM-Mapper successfully receives uncompressed the PM XML file
106 [Tags] Bulk_PM_E2E_07
107 [Documentation] Check that PM-Mapper receives the uncompressed PM XML file
108 ${cli_cmd_output}= Run Process ${CLI_EXEC_CLI_PMMAPPER_LOG} shell=yes
109 Log ${cli_cmd_output.stdout}
110 Should Be Equal As Strings ${cli_cmd_output.rc} 0
111 ${cli_cmd_output}= Run Process ${CLI_EXEC_CLI_PMMAPPER_LOG_GREP} shell=yes
112 Log ${cli_cmd_output.stdout}
113 Should Be Equal As Strings ${cli_cmd_output.rc} 0
114 Should Contain ${cli_cmd_output.stdout} XML validation successful Event
116 Verify PM-Mapper successfully publishes VES event the Message Router
117 [Tags] Bulk_PM_E2E_08
118 [Documentation] Check that PM-Mapper publishes VES onto the Message Router
119 ${cli_cmd_output}= Run Process ${CLI_EXEC_CLI_PMMAPPER_LOG} shell=yes
120 Log ${cli_cmd_output.stdout}
121 Should Be Equal As Strings ${cli_cmd_output.rc} 0
122 ${cli_cmd_output}= Run Process ${CLI_EXEC_CLI_PMMAPPER_LOG_GREP_VES} shell=yes
123 Should Contain ${cli_cmd_output.stdout} Successfully published VES events to messagerouter