From 96b3c98b55b7c38902319064acc064e416d4717e Mon Sep 17 00:00:00 2001 From: rajendrajaiswal Date: Tue, 25 Sep 2018 16:50:26 +0100 Subject: New test case and it's setup files Issue-ID: INT-649 Change-Id: I5f5809a200637b01fe234156f48f94dbefdbc52b Signed-off-by: Rajendra Jaiswal --- .../bulkpm-suite/assets/datafile_endpoints.json | 28 +++++++++ .../dcae-bulkpm/bulkpm-suite/assets/xNF.pm.xml.gz | Bin 0 -> 63 bytes .../composefile/docker-compose-e2e.yml | 2 +- test/csit/plans/dcae-bulkpm/bulkpm-suite/setup.sh | 26 +++++--- .../plans/dcae-bulkpm/bulkpm-suite/teardown.sh | 2 +- .../tests/dcae-bulkpm/testcases/BulkpmE2E.robot | 69 +++++++++++++++++++++ .../assets/json_events/FileExistNotification.json | 4 +- test/csit/tests/dcae-bulkpm/testcases/e2e.robot | 53 ---------------- 8 files changed, 120 insertions(+), 64 deletions(-) create mode 100644 test/csit/plans/dcae-bulkpm/bulkpm-suite/assets/datafile_endpoints.json create mode 100644 test/csit/plans/dcae-bulkpm/bulkpm-suite/assets/xNF.pm.xml.gz create mode 100644 test/csit/tests/dcae-bulkpm/testcases/BulkpmE2E.robot delete mode 100644 test/csit/tests/dcae-bulkpm/testcases/e2e.robot (limited to 'test') diff --git a/test/csit/plans/dcae-bulkpm/bulkpm-suite/assets/datafile_endpoints.json b/test/csit/plans/dcae-bulkpm/bulkpm-suite/assets/datafile_endpoints.json new file mode 100644 index 000000000..17c7078e9 --- /dev/null +++ b/test/csit/plans/dcae-bulkpm/bulkpm-suite/assets/datafile_endpoints.json @@ -0,0 +1,28 @@ +{ + "configs": { + "dmaap": { + "dmaapConsumerConfiguration": { + "dmaapHostName": "dmaapmrhost", + "dmaapPortNumber": 3904, + "dmaapTopicName": "/events/unauthenticated.VES_NOTIFICATION_OUTPUT", + "dmaapProtocol": "http", + "dmaapUserName": "admin", + "dmaapUserPassword": "admin", + "dmaapContentType": "application/json", + "consumerId": "C12", + "consumerGroup": "OpenDcae-c12", + "timeoutMS": -1, + "messageLimit": 1 + }, + "dmaapProducerConfiguration": { + "dmaapHostName": "dmaapdrhost", + "dmaapPortNumber": 8443, + "dmaapTopicName": "publish", + "dmaapProtocol": "https", + "dmaapUserName": "dradmin", + "dmaapUserPassword": "dradmin", + "dmaapContentType": "application/octet-stream" + } + } + } +} \ No newline at end of file diff --git a/test/csit/plans/dcae-bulkpm/bulkpm-suite/assets/xNF.pm.xml.gz b/test/csit/plans/dcae-bulkpm/bulkpm-suite/assets/xNF.pm.xml.gz new file mode 100644 index 000000000..2f527c275 Binary files /dev/null and b/test/csit/plans/dcae-bulkpm/bulkpm-suite/assets/xNF.pm.xml.gz differ diff --git a/test/csit/plans/dcae-bulkpm/bulkpm-suite/composefile/docker-compose-e2e.yml b/test/csit/plans/dcae-bulkpm/bulkpm-suite/composefile/docker-compose-e2e.yml index 435ff4904..16db4afad 100644 --- a/test/csit/plans/dcae-bulkpm/bulkpm-suite/composefile/docker-compose-e2e.yml +++ b/test/csit/plans/dcae-bulkpm/bulkpm-suite/composefile/docker-compose-e2e.yml @@ -36,7 +36,7 @@ services: datarouter-subscriber: image: nexus3.onap.org:10001/onap/dmaap/datarouter-subscriber - container_name: subscriber-node + container_name: fileconsumer-node hostname: subscriber.com ports: - "7070:7070" diff --git a/test/csit/plans/dcae-bulkpm/bulkpm-suite/setup.sh b/test/csit/plans/dcae-bulkpm/bulkpm-suite/setup.sh index 24027e911..b0ea68195 100644 --- a/test/csit/plans/dcae-bulkpm/bulkpm-suite/setup.sh +++ b/test/csit/plans/dcae-bulkpm/bulkpm-suite/setup.sh @@ -85,10 +85,10 @@ done sleep 5 -# Get IP address of datarrouger-prov, datarouter-node, subscriber-node, subscriber-node. +# Get IP address of datarrouger-prov, datarouter-node, fileconsumer-node. DR_PROV_IP=$(docker inspect -f '{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' datarouter-prov) DR_NODE_IP=$(docker inspect -f '{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' datarouter-node) -DR_SUBSCIBER_IP=$(docker inspect -f '{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' subscriber-node) +DR_SUBSCIBER_IP=$(docker inspect -f '{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' fileconsumer-node) DR_GATEWAY_IP=$(docker inspect -f '{{range .NetworkSettings.Networks}}{{.Gateway}}{{end}}' datarouter-prov) echo DR_PROV_IP=${DR_PROV_IP} @@ -119,11 +119,23 @@ ROBOT_VARIABLES="-v DR_PROV_IP:${DR_PROV_IP} -v DR_NODE_IP:${DR_NODE_IP} -v DMAA pip install jsonschema uuid # Wait container ready sleep 2 -# Update the File Ready Notification with actual sftp ip address -sed -i 's/sftpserver/'${SFTP_IP}'/g' $WORKSPACE/test/csit/tests/dcae-bulkpm/testcases/assets/json_events/FileExistNotification.json -#Create default feed in data router. + +# Data File Collector configuration : +cp $WORKSPACE/test/csit/plans/dcae-bulkpm/bulkpm-suite/assets/datafile_endpoints.json /tmp/ +sed -i 's/dmaapmrhost/'${DMAAP_MR_IP}'/g' /tmp/datafile_endpoints.json +sed -i 's/dmaapdrhost/'${DR_PROV_IP}'/g' /tmp/datafile_endpoints.json +docker cp /tmp/datafile_endpoints.json dfc:/config/ +docker restart dfc + +# SFTP Configuration: +# Update the File Ready Notification with actual sftp ip address and copy pm files to sftp server. +cp $WORKSPACE/test/csit/tests/dcae-bulkpm/testcases/assets/json_events/FileExistNotification.json $WORKSPACE/test/csit/tests/dcae-bulkpm/testcases/assets/json_events/FileExistNotificationUpdated.json +sed -i 's/sftpserver/'${SFTP_IP}'/g' $WORKSPACE/test/csit/tests/dcae-bulkpm/testcases/assets/json_events/FileExistNotificationUpdated.json +docker cp $WORKSPACE/test/csit/plans/dcae-bulkpm/bulkpm-suite/assets/xNF.pm.xml.gz sftp:/home/admin/ + +# Data Router Configuration: +# Create default feed and create file consumer subscriber on data router curl -v -X POST -H "Content-Type:application/vnd.att-dr.feed" -H "X-ATT-DR-ON-BEHALF-OF:dradmin" --data-ascii @$WORKSPACE/test/csit/plans/dcae-bulkpm/bulkpm-suite/assets/createFeed.json --post301 --location-trusted -k https://${DR_PROV_IP}:8443 -#create file consumer subscriber on data router. cp $WORKSPACE/test/csit/plans/dcae-bulkpm/bulkpm-suite/assets/addSubscriber.json /tmp/addSubscriber.json sed -i 's/fileconsumer/'${DR_SUBSCIBER_IP}'/g' /tmp/addSubscriber.json -curl -v -X POST -H "Content-Type:application/vnd.att-dr.subscription" -H "X-ATT-DR-ON-BEHALF-OF:dradmin" --data-ascii @/tmp/addSubscriber.json --post301 --location-trusted -k https://${DR_PROV_IP}:8443/subscribe/1 +curl -v -X POST -H "Content-Type:application/vnd.att-dr.subscription" -H "X-ATT-DR-ON-BEHALF-OF:dradmin" --data-ascii @/tmp/addSubscriber.json --post301 --location-trusted -k https://${DR_PROV_IP}:8443/subscribe/1 \ No newline at end of file diff --git a/test/csit/plans/dcae-bulkpm/bulkpm-suite/teardown.sh b/test/csit/plans/dcae-bulkpm/bulkpm-suite/teardown.sh index e11616ed3..c55f43989 100644 --- a/test/csit/plans/dcae-bulkpm/bulkpm-suite/teardown.sh +++ b/test/csit/plans/dcae-bulkpm/bulkpm-suite/teardown.sh @@ -6,7 +6,7 @@ kill-instance.sh $ZOOKEEPER kill-instance.sh vescollector kill-instance.sh datarouter-node kill-instance.sh datarouter-prov -kill-instance.sh subscriber-node +kill-instance.sh fileconsumer-node kill-instance.sh mariadb kill-instance.sh dfc kill-instance.sh sftp \ No newline at end of file diff --git a/test/csit/tests/dcae-bulkpm/testcases/BulkpmE2E.robot b/test/csit/tests/dcae-bulkpm/testcases/BulkpmE2E.robot new file mode 100644 index 000000000..aa391ad8c --- /dev/null +++ b/test/csit/tests/dcae-bulkpm/testcases/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/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/assets/json_events/FileExistNotification.json b/test/csit/tests/dcae-bulkpm/testcases/assets/json_events/FileExistNotification.json index 1cfc78a25..4064ea312 100644 --- a/test/csit/tests/dcae-bulkpm/testcases/assets/json_events/FileExistNotification.json +++ b/test/csit/tests/dcae-bulkpm/testcases/assets/json_events/FileExistNotification.json @@ -19,9 +19,9 @@ "changeType": "FileReady", "notificationFieldsVersion": "2.0", "arrayOfNamedHashMap": [ - { "name": "pm.xml.gz", + { "name": "xNF.pm.xml.gz", "hashMap":{ - "location": "sftp://admin:admin@sftpserver:22/pm.xml.gz", + "location": "sftp://admin:admin@sftpserver:22/xNF.pm.xml.gz", "compression": "gzip", "fileFormatType": "org.3GPP.32.435#measCollec", "fileFormatVersion": "V10" diff --git a/test/csit/tests/dcae-bulkpm/testcases/e2e.robot b/test/csit/tests/dcae-bulkpm/testcases/e2e.robot deleted file mode 100644 index 210012cb6..000000000 --- a/test/csit/tests/dcae-bulkpm/testcases/e2e.robot +++ /dev/null @@ -1,53 +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/FileExistNotification.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 - -*** 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} - 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 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 -- cgit 1.2.3-korg