Fix 5g_bulk_PM and pnf_registrate test case errors
[testsuite.git] / robot / resources / usecases / 5gbulkpm_interface.robot
1 *** Settings ***
2 Documentation     The main interface for interacting with 5G Bulkpm.
3 Library               RequestsLibrary
4 Library           OperatingSystem
5 Library           String
6
7 *** Variables ***
8 ${INVENTORY_SERVER}                                 ${GLOBAL_INVENTORY_SERVER_PROTOCOL}://${GLOBAL_INVENTORY_SERVER_NAME}:${GLOBAL_INVENTORY_SERVER_PORT}
9 ${DEPLOYMENT_SERVER}                                ${GLOBAL_DEPLOYMENT_HANDLER_SERVER_PROTOCOL}://${GLOBAL_DEPLOYMENT_HANDLER_SERVER_NAME}:${GLOBAL_DEPLOYMENT_HANDLER_SERVER_PORT}
10 ${DR_ENDPOINT}                                      ${GLOBAL_DMAAP_DR_PROV_SERVER_PROTOCOL}://${GLOBAL_INJECTED_DMAAP_DR_PROV_IP_ADDR}:${GLOBAL_DMAAP_DR_PROV_SERVER_PORT}
11 ${DMAAP_BC_SERVER}                                  ${GLOBAL_BC_SERVER_PROTOCOL}://${GLOBAL_INJECTED_BC_IP_ADDR}:${GLOBAL_BC_HTTPS_SERVER_PORT}
12 ${VES_HEALTH_CHECK_PATH}                            ${GLOBAL_DCAE_VES_HTTPS_PROTOCOL}://${GLOBAL_INJECTED_DCAE_VES_HOST}:${GLOBAL_DCAE_VES_HTTPS_SERVER_PORT}
13 ${MR_PUBLISH_TEMPLATE}                              mr/mr_publish.jinja
14
15 *** Keywords ***
16 Undeploy Service
17     [Arguments]         ${server}                   ${endpoint}
18     ${session}=         Create Session              deployment                 ${server}
19     ${resp}=            Delete Request              deployment                 ${endpoint}
20     [Return]            ${resp}
21
22 Deployment Status
23     [Arguments]         ${server}                   ${endpoint}            ${deployment}      ${operationId}
24     ${session}=         Create Session              deployment-status      ${server}
25     ${resp}=            Get Request                 deployment-status      /${endpoint}/${deployment}/operation/${operationId}
26     ${status}           Set Variable                ${resp.json().get('status')}
27     Should Be Equal As Strings                      ${status}               succeeded
28
29 xNF PM File Validate
30     [Arguments]         ${value}
31     ${resp}=            Run MR Auth Get Request     ${MR_TOPIC_URL_PATH}     ${GLOBAL_DCAE_USERNAME}      ${GLOBAL_DCAE_PASSWORD}
32     Should Contain      ${resp.text}                ${value}
33
34 Topic Validate
35     [Arguments]                         ${value}
36     ${timestamp}=                       Get Current Date
37     ${dict}=                            Create Dictionary                           timestamp=${timestamp}
38     Templating.Create Environment       mr                                          ${GLOBAL_TEMPLATE_FOLDER}
39     ${data}=                            Templating.Apply Template                   mr                                  ${MR_PUBLISH_TEMPLATE}              ${dict}
40     ${resp}=                            Run MR Auth Post Request (User And Pass)    ${MR_TOPIC_URL_PATH_FOR_POST}       ${GLOBAL_DCAE_USERNAME}             ${GLOBAL_DCAE_PASSWORD}       ${data}
41     Should Be Equal As Strings          ${resp.status_code}                         200
42     ${resp}=                            Run MR Auth Get Request                     ${MR_TOPIC_URL_PATH}                ${GLOBAL_DCAE_USERNAME}             ${GLOBAL_DCAE_PASSWORD}
43     Should Contain                      ${resp.text}                                ${value}
44
45
46 Usecase Teardown
47     Undeploy Service                    ${DEPLOYMENT_SERVER}                 /${DEPLOYMENT_ENDPOINT}/pmmapper
48     Undeploy Service                    ${DEPLOYMENT_SERVER}                 /${DEPLOYMENT_ENDPOINT}/sftpserver
49     Undeploy Service                    ${INVENTORY_SERVER}                  ${INVENTORY_ENDPOINT}/${serviceTypeId-Sftp}
50     Undeploy Service                    ${DEPLOYMENT_SERVER}                  /${DEPLOYMENT_ENDPOINT}/datafile
51
52
53 Send File Ready Event to VES Collector
54     [Arguments]                         ${epoch}
55     ${headers}=                         Create Dictionary                   content-type=application/json
56     ${fileready}=                       OperatingSystem.Get File            ${JSON_DATA_FILE}
57     ${auth}=                            Create List                         ${GLOBAL_DCAE_VES_USERNAME}     ${GLOBAL_DCAE_VES_PASSWORD}
58     ${session}=                         Create Session                      ves                             ${VES_HEALTH_CHECK_PATH}      auth=${auth}
59     ${resp}=                            Post Request                        ves                             ${VES_LISTENER_PATH}          data=${fileready}   headers=${headers}
60     Should Be Equal As Strings          ${resp.status_code}                 202
61     ${VES_FILE_READY_NOTIFICATION}      Set Variable                        {"event":{"commonEventHeader":{"version":"4.0.1","vesEventListenerVersion":"7.0.1","domain":"notification","eventName":"Noti_RnNode-Ericsson_FileReady","eventId":"FileReady_1797490e-10ae-4d48-9ea7-3d7d790b25e1","lastEpochMicrosec":8745745764578,"priority":"Normal","reportingEntityName":"otenb5309","sequence":0,"sourceName":"oteNB5309","startEpochMicrosec":8745745764578,"timeZoneOffset":"UTC+05.30"},"notificationFields":{"changeIdentifier":"PM_MEAS_FILES","changeType":"FileReady","notificationFieldsVersion":"2.0","arrayOfNamedHashMap":[{"name":"A${epoch}.xml.gz","hashMap":{"location":"sftp://bulkpm:bulkpm@sftpserver:22/upload/A${epoch}.xml.gz","compression":"gzip","fileFormatType":"org.3GPP.32.435#measCollec","fileFormatVersion":"V10"}}]}}}
62     ${resp}=                            Post Request                        ves                             ${VES_LISTENER_PATH}          data=${VES_FILE_READY_NOTIFICATION}   headers=${headers}
63     Should Be Equal As Strings          ${resp.status_code}                 202