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