From 4b97e33295086748108ecb042461719fb09600ba Mon Sep 17 00:00:00 2001 From: rajendrajaiswal Date: Thu, 27 Sep 2018 16:21:19 +0100 Subject: Renaming 5G Bulk PM to usecase/5G-bulkpm Issue-ID: INT-649 Change-Id: I4921756a70952ce42e36af023d1131227fc29ecc Signed-off-by: Rajendra Jaiswal --- .../tests/dcae-bulkpm/testcases/BulkpmE2E.robot | 69 ---------------------- .../tests/dcae-bulkpm/testcases/__init__.robot | 2 - .../assets/json_events/FileExistNotification.json | 33 ----------- .../dcae-bulkpm/testcases/resources/VesLibrary.py | 25 -------- .../testcases/resources/ves_keywords.robot | 39 ------------ test/csit/tests/usecases/5G-bulkpm/BulkpmE2E.robot | 69 ++++++++++++++++++++++ test/csit/tests/usecases/5G-bulkpm/__init__.robot | 2 + .../assets/json_events/FileExistNotification.json | 33 +++++++++++ .../5G-bulkpm/resources/bulkpm_keywords.robot | 38 ++++++++++++ .../usecases/5G-bulkpm/resources/xNFLibrary.py | 25 ++++++++ 10 files changed, 167 insertions(+), 168 deletions(-) delete mode 100644 test/csit/tests/dcae-bulkpm/testcases/BulkpmE2E.robot delete mode 100644 test/csit/tests/dcae-bulkpm/testcases/__init__.robot delete mode 100644 test/csit/tests/dcae-bulkpm/testcases/assets/json_events/FileExistNotification.json delete mode 100644 test/csit/tests/dcae-bulkpm/testcases/resources/VesLibrary.py delete mode 100644 test/csit/tests/dcae-bulkpm/testcases/resources/ves_keywords.robot create mode 100644 test/csit/tests/usecases/5G-bulkpm/BulkpmE2E.robot create mode 100644 test/csit/tests/usecases/5G-bulkpm/__init__.robot create mode 100644 test/csit/tests/usecases/5G-bulkpm/assets/json_events/FileExistNotification.json create mode 100644 test/csit/tests/usecases/5G-bulkpm/resources/bulkpm_keywords.robot create mode 100644 test/csit/tests/usecases/5G-bulkpm/resources/xNFLibrary.py (limited to 'test/csit/tests') diff --git a/test/csit/tests/dcae-bulkpm/testcases/BulkpmE2E.robot b/test/csit/tests/dcae-bulkpm/testcases/BulkpmE2E.robot deleted file mode 100644 index aa391ad8c..000000000 --- a/test/csit/tests/dcae-bulkpm/testcases/BulkpmE2E.robot +++ /dev/null @@ -1,69 +0,0 @@ -*** Settings *** -Documentation Testing E2E VES,Dmaap,DFC,DR with File Ready event feed from xNF -Library RequestsLibrary -Library OperatingSystem -Library Collections -Library Process -Resource resources/ves_keywords.robot - - -*** Variables *** -${VESC_URL} http://%{VESC_IP}:8080 -${GLOBAL_APPLICATION_ID} robot-ves -${VES_ANY_EVENT_PATH} /eventListener/v7 -${HEADER_STRING} content-type=application/json -${EVENT_DATA_FILE} %{WORKSPACE}/test/csit/tests/dcae-bulkpm/testcases/assets/json_events/FileExistNotificationUpdated.json - -${TARGETURL_TOPICS} http://${DMAAP_MR_IP}:3904/topics -${TARGETURL_SUBSCR} http://${DMAAP_MR_IP}:3904/events/unauthenticated.VES_NOTIFICATION_OUTPUT/OpenDcae-c12/C12?timeout=1000 -${CLI_EXEC_CLI} curl -k https://${DR_PROV_IP}:8443/internal/prov -${CLI_EXEC_CLI_DFC} docker exec dfc /bin/sh -c "ls /target | grep .gz" - -*** Test Cases *** - -Send VES File Ready Event to VES Collector - [Tags] Bulk_PM_E2E_01 - [Documentation] Send VES File Ready Event - ${evtdata}= Get Event Data From File ${EVENT_DATA_FILE} - ${headers}= Create Header From String ${HEADER_STRING} - ${resp}= Publish Event To VES Collector ${VESC_URL} ${VES_ANY_EVENT_PATH} ${headers} ${evtdata} - Sleep 2s - ${resp}= Publish Event To VES Collector ${VESC_URL} ${VES_ANY_EVENT_PATH} ${headers} ${evtdata} - Sleep 2s - ${resp}= Publish Event To VES Collector ${VESC_URL} ${VES_ANY_EVENT_PATH} ${headers} ${evtdata} - Sleep 2s - ${resp}= Publish Event To VES Collector ${VESC_URL} ${VES_ANY_EVENT_PATH} ${headers} ${evtdata} - Log Receive HTTP Status code ${resp.status_code} - Should Be Equal As Strings ${resp.status_code} 202 - -Check VES Notification Topic is existing in Message Router - [Tags] Bulk_PM_E2E_02 - [Documentation] Get the VES Notification topic on message router - [Timeout] 1 minute - Sleep 10s - ${resp}= GetCall ${TARGETURL_TOPICS} - log ${TARGETURL_TOPICS} - log 'JSON Response Code :'${resp} - ${topics}= Evaluate $resp.json().get('topics') - log ${topics} - ${ListLength}= Get Length ${topics} - log ${ListLength} - List Should Contain Value ${topics} unauthenticated.VES_NOTIFICATION_OUTPUT - -Verify Downloaded PM file from xNF exist on Data File Collector - [Tags] Bulk_PM_E2E_03 - [Documentation] Check the PM XML file exists on the File Consumer Simulator - ${cli_cmd_output}= Run Process ${CLI_EXEC_CLI_DFC} shell=yes - Log ${cli_cmd_output.stdout} - Should Be Equal As Strings ${cli_cmd_output.rc} 0 - Should Contain ${cli_cmd_output.stdout} xNF.pm.xml.gz - - -Verify Default Feed And File Consumer Subscription On Datarouter - [Tags] Bulk_PM_E2E_04 - [Documentation] Verify Default Feed And File Consumer Subscription On Datarouter - ${cli_cmd_output}= Run Process ${CLI_EXEC_CLI} shell=yes - Log ${cli_cmd_output.stdout} - Should Be Equal As Strings ${cli_cmd_output.rc} 0 - Should Contain ${cli_cmd_output.stdout} https://dmaap-dr-prov/publish/1 - Should Contain ${cli_cmd_output.stdout} http://${DR_SUBSCIBER_IP}:7070 \ No newline at end of file diff --git a/test/csit/tests/dcae-bulkpm/testcases/__init__.robot b/test/csit/tests/dcae-bulkpm/testcases/__init__.robot deleted file mode 100644 index 7114fd447..000000000 --- a/test/csit/tests/dcae-bulkpm/testcases/__init__.robot +++ /dev/null @@ -1,2 +0,0 @@ -*** Settings *** -Documentation 5G Bulk PM E2E Testcases diff --git a/test/csit/tests/dcae-bulkpm/testcases/assets/json_events/FileExistNotification.json b/test/csit/tests/dcae-bulkpm/testcases/assets/json_events/FileExistNotification.json deleted file mode 100644 index 4064ea312..000000000 --- a/test/csit/tests/dcae-bulkpm/testcases/assets/json_events/FileExistNotification.json +++ /dev/null @@ -1,33 +0,0 @@ -{ - "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": "xNF.pm.xml.gz", - "hashMap":{ - "location": "sftp://admin:admin@sftpserver:22/xNF.pm.xml.gz", - "compression": "gzip", - "fileFormatType": "org.3GPP.32.435#measCollec", - "fileFormatVersion": "V10" - } - } - ] - } -} -} \ No newline at end of file diff --git a/test/csit/tests/dcae-bulkpm/testcases/resources/VesLibrary.py b/test/csit/tests/dcae-bulkpm/testcases/resources/VesLibrary.py deleted file mode 100644 index d1ec9811d..000000000 --- a/test/csit/tests/dcae-bulkpm/testcases/resources/VesLibrary.py +++ /dev/null @@ -1,25 +0,0 @@ -''' -Created on Aug 18, 2017 - -@author: sw6830 -''' -from robot.api import logger -from Queue import Queue -import uuid, time, json, threading,os, platform, subprocess,paramiko - -class VesLibrary(object): - - def __init__(self): - pass - - def create_header_from_string(self, dictStr): - logger.info("Enter create_header_from_string: dictStr") - return dict(u.split("=") for u in dictStr.split(",")) - - def Generate_UUID(self): - """generate a uuid""" - return uuid.uuid4() - -if __name__ == '__main__': - lib = VesLibrary() - time.sleep(100000) \ No newline at end of file diff --git a/test/csit/tests/dcae-bulkpm/testcases/resources/ves_keywords.robot b/test/csit/tests/dcae-bulkpm/testcases/resources/ves_keywords.robot deleted file mode 100644 index 76bc33f47..000000000 --- a/test/csit/tests/dcae-bulkpm/testcases/resources/ves_keywords.robot +++ /dev/null @@ -1,39 +0,0 @@ - *** Settings *** -Documentation The main interface for interacting with VES. It handles low level stuff like managing the http request library and VES required fields -Library RequestsLibrary -Library ../resources/VesLibrary.py -Library OperatingSystem -Library Collections -Library requests -Library Collections -Library String - -*** Variables *** - -*** Keywords *** - -Get Event Data From File - [Arguments] ${jsonfile} - ${data}= OperatingSystem.Get File ${jsonfile} - #Should Not Be_Equal ${data} None - [return] ${data} - -Publish Event To VES Collector - [Documentation] Send an event to VES Collector - [Arguments] ${url} ${evtpath} ${httpheaders} ${evtdata} - Log Creating session ${url} - ${session}= Create Session dcaegen2-d1 ${url} - ${resp}= Post Request dcaegen2-d1 ${evtpath} data=${evtdata} headers=${httpheaders} - #Log Received response from dcae ${resp.json()} - [return] ${resp} -PostCall - [Arguments] ${url} ${data} - ${headers}= Create Dictionary Accept=application/json Content-Type=application/json - ${resp}= Evaluate requests.post('${url}',data='${data}', headers=${headers},verify=False) requests - [Return] ${resp} - -GetCall - [Arguments] ${url} - ${resp}= Evaluate requests.get('${url}') requests - [Return] ${resp} - \ No newline at end of file diff --git a/test/csit/tests/usecases/5G-bulkpm/BulkpmE2E.robot b/test/csit/tests/usecases/5G-bulkpm/BulkpmE2E.robot new file mode 100644 index 000000000..9098b1abe --- /dev/null +++ b/test/csit/tests/usecases/5G-bulkpm/BulkpmE2E.robot @@ -0,0 +1,69 @@ +*** Settings *** +Documentation Testing E2E VES,Dmaap,DFC,DR with File Ready event feed from xNF +Library RequestsLibrary +Library OperatingSystem +Library Collections +Library Process +Resource resources/bulkpm_keywords.robot + + +*** Variables *** +${VESC_URL} http://%{VESC_IP}:8080 +${GLOBAL_APPLICATION_ID} robot-ves +${VES_ANY_EVENT_PATH} /eventListener/v7 +${HEADER_STRING} content-type=application/json +${EVENT_DATA_FILE} %{WORKSPACE}/test/csit/tests/usecases/5G-bulkpm/assets/json_events/FileExistNotificationUpdated.json + +${TARGETURL_TOPICS} http://${DMAAP_MR_IP}:3904/topics +${TARGETURL_SUBSCR} http://${DMAAP_MR_IP}:3904/events/unauthenticated.VES_NOTIFICATION_OUTPUT/OpenDcae-c12/C12?timeout=1000 +${CLI_EXEC_CLI} curl -k https://${DR_PROV_IP}:8443/internal/prov +${CLI_EXEC_CLI_DFC} docker exec dfc /bin/sh -c "ls /target | grep .gz" + +*** Test Cases *** + +Send VES File Ready Event to VES Collector + [Tags] Bulk_PM_E2E_01 + [Documentation] Send VES File Ready Event + ${evtdata}= Get Event Data From File ${EVENT_DATA_FILE} + ${headers}= Create Header From String ${HEADER_STRING} + ${resp}= Publish Event To VES Collector ${VESC_URL} ${VES_ANY_EVENT_PATH} ${headers} ${evtdata} + Sleep 2s + ${resp}= Publish Event To VES Collector ${VESC_URL} ${VES_ANY_EVENT_PATH} ${headers} ${evtdata} + Sleep 2s + ${resp}= Publish Event To VES Collector ${VESC_URL} ${VES_ANY_EVENT_PATH} ${headers} ${evtdata} + Sleep 2s + ${resp}= Publish Event To VES Collector ${VESC_URL} ${VES_ANY_EVENT_PATH} ${headers} ${evtdata} + Log Receive HTTP Status code ${resp.status_code} + Should Be Equal As Strings ${resp.status_code} 202 + +Check VES Notification Topic is existing in Message Router + [Tags] Bulk_PM_E2E_02 + [Documentation] Get the VES Notification topic on message router + [Timeout] 1 minute + Sleep 10s + ${resp}= GetCall ${TARGETURL_TOPICS} + log ${TARGETURL_TOPICS} + log 'JSON Response Code :'${resp} + ${topics}= Evaluate $resp.json().get('topics') + log ${topics} + ${ListLength}= Get Length ${topics} + log ${ListLength} + List Should Contain Value ${topics} unauthenticated.VES_NOTIFICATION_OUTPUT + +Verify Downloaded PM file from xNF exist on Data File Collector + [Tags] Bulk_PM_E2E_03 + [Documentation] Check the PM XML file exists on the File Consumer Simulator + ${cli_cmd_output}= Run Process ${CLI_EXEC_CLI_DFC} shell=yes + Log ${cli_cmd_output.stdout} + Should Be Equal As Strings ${cli_cmd_output.rc} 0 + Should Contain ${cli_cmd_output.stdout} xNF.pm.xml.gz + + +Verify Default Feed And File Consumer Subscription On Datarouter + [Tags] Bulk_PM_E2E_04 + [Documentation] Verify Default Feed And File Consumer Subscription On Datarouter + ${cli_cmd_output}= Run Process ${CLI_EXEC_CLI} shell=yes + Log ${cli_cmd_output.stdout} + Should Be Equal As Strings ${cli_cmd_output.rc} 0 + Should Contain ${cli_cmd_output.stdout} https://dmaap-dr-prov/publish/1 + Should Contain ${cli_cmd_output.stdout} http://${DR_SUBSCIBER_IP}:7070 \ No newline at end of file diff --git a/test/csit/tests/usecases/5G-bulkpm/__init__.robot b/test/csit/tests/usecases/5G-bulkpm/__init__.robot new file mode 100644 index 000000000..7114fd447 --- /dev/null +++ b/test/csit/tests/usecases/5G-bulkpm/__init__.robot @@ -0,0 +1,2 @@ +*** Settings *** +Documentation 5G Bulk PM E2E Testcases diff --git a/test/csit/tests/usecases/5G-bulkpm/assets/json_events/FileExistNotification.json b/test/csit/tests/usecases/5G-bulkpm/assets/json_events/FileExistNotification.json new file mode 100644 index 000000000..4064ea312 --- /dev/null +++ b/test/csit/tests/usecases/5G-bulkpm/assets/json_events/FileExistNotification.json @@ -0,0 +1,33 @@ +{ + "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": "xNF.pm.xml.gz", + "hashMap":{ + "location": "sftp://admin:admin@sftpserver:22/xNF.pm.xml.gz", + "compression": "gzip", + "fileFormatType": "org.3GPP.32.435#measCollec", + "fileFormatVersion": "V10" + } + } + ] + } +} +} \ No newline at end of file diff --git a/test/csit/tests/usecases/5G-bulkpm/resources/bulkpm_keywords.robot b/test/csit/tests/usecases/5G-bulkpm/resources/bulkpm_keywords.robot new file mode 100644 index 000000000..6859ea0df --- /dev/null +++ b/test/csit/tests/usecases/5G-bulkpm/resources/bulkpm_keywords.robot @@ -0,0 +1,38 @@ + *** Settings *** +Documentation The main interface for interacting with VES. It handles low level stuff like managing the http request library and VES required fields +Library RequestsLibrary +Library ../resources/xNFLibrary.py +Library OperatingSystem +Library Collections +Library requests +Library Collections +Library String + +*** Variables *** + +*** Keywords *** + +Get Event Data From File + [Arguments] ${jsonfile} + ${data}= OperatingSystem.Get File ${jsonfile} + #Should Not Be_Equal ${data} None + [return] ${data} + +Publish Event To VES Collector + [Documentation] Send an event to VES Collector + [Arguments] ${url} ${evtpath} ${httpheaders} ${evtdata} + Log Creating session ${url} + ${session}= Create Session dcaegen2-d1 ${url} + ${resp}= Post Request dcaegen2-d1 ${evtpath} data=${evtdata} headers=${httpheaders} + #Log Received response from dcae ${resp.json()} + [return] ${resp} +PostCall + [Arguments] ${url} ${data} + ${headers}= Create Dictionary Accept=application/json Content-Type=application/json + ${resp}= Evaluate requests.post('${url}',data='${data}', headers=${headers},verify=False) requests + [Return] ${resp} + +GetCall + [Arguments] ${url} + ${resp}= Evaluate requests.get('${url}') requests + [Return] ${resp} diff --git a/test/csit/tests/usecases/5G-bulkpm/resources/xNFLibrary.py b/test/csit/tests/usecases/5G-bulkpm/resources/xNFLibrary.py new file mode 100644 index 000000000..01574f778 --- /dev/null +++ b/test/csit/tests/usecases/5G-bulkpm/resources/xNFLibrary.py @@ -0,0 +1,25 @@ +''' +Created on Aug 18, 2017 + +@author: sw6830 +''' +from robot.api import logger +from Queue import Queue +import uuid, time, json, threading,os, platform, subprocess,paramiko + +class xNFLibrary(object): + + def __init__(self): + pass + + def create_header_from_string(self, dictStr): + logger.info("Enter create_header_from_string: dictStr") + return dict(u.split("=") for u in dictStr.split(",")) + + def Generate_UUID(self): + """generate a uuid""" + return uuid.uuid4() + +if __name__ == '__main__': + lib = xNFLibrary() + time.sleep(100000) \ No newline at end of file -- cgit 1.2.3-korg