From 929249771e6948ad0fc96af983e168af5117f77a Mon Sep 17 00:00:00 2001 From: econwar Date: Tue, 31 Jul 2018 13:46:27 +0000 Subject: Add CSIT test for DMaaP Data Router component Change-Id: Icaf961e3f71ceeaa2732b53b9d446b22f50932d0 Signed-off-by: Conor Ward Issue-ID: DMAAP-156 --- test/csit/plans/dmaap-datarouter/dr-suite/setup.sh | 44 ++++++++++++++++++++++ .../plans/dmaap-datarouter/dr-suite/teardown.sh | 5 +++ .../plans/dmaap-datarouter/dr-suite/testplan.txt | 2 + .../tests/dmaap-datarouter/dr-suite/dr-suite.robot | 28 ++++++++++++++ 4 files changed, 79 insertions(+) create mode 100755 test/csit/plans/dmaap-datarouter/dr-suite/setup.sh create mode 100755 test/csit/plans/dmaap-datarouter/dr-suite/teardown.sh create mode 100755 test/csit/plans/dmaap-datarouter/dr-suite/testplan.txt create mode 100755 test/csit/tests/dmaap-datarouter/dr-suite/dr-suite.robot (limited to 'test') diff --git a/test/csit/plans/dmaap-datarouter/dr-suite/setup.sh b/test/csit/plans/dmaap-datarouter/dr-suite/setup.sh new file mode 100755 index 000000000..31e4d1fae --- /dev/null +++ b/test/csit/plans/dmaap-datarouter/dr-suite/setup.sh @@ -0,0 +1,44 @@ +#!/bin/bash + +source ${SCRIPTS}/common_functions.sh + +# Clone DMaaP Data Router repo +mkdir -p $WORKSPACE/archives/dmaapdr +cd $WORKSPACE/archives/dmaapdr + +git clone --depth 1 https://gerrit.onap.org/r/dmaap/datarouter -b master +git pull +cd $WORKSPACE/archives/dmaapdr/datarouter/datarouter-prov/src/main/resources/docker-compose/ + +# start DMaaP DR containers with docker compose and configuration from docker-compose.yml +docker login -u docker -p docker nexus3.onap.org:10001 +docker-compose up -d + +# Wait for initialization of Docker container for datarouter-node, datarouter-prov and mysql +for i in {1..50}; do + if [ $(docker inspect --format '{{ .State.Running }}' datarouter-node) ] && \ + [ $(docker inspect --format '{{ .State.Running }}' datarouter-prov) ] && \ + [ $(docker inspect --format '{{ .State.Running }}' mysql) ] + then + echo "DR Service Running" + break + else + echo sleep $i + sleep $i + fi +done + +DR_PROV_IP=$(docker inspect -f '{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' datarouter-prov) +DR_GATEWAY_IP=$(docker inspect -f '{{range .NetworkSettings.Networks}}{{.Gateway}}{{end}}' datarouter-prov) + +echo DR_PROV_IP=${DR_PROV_IP} +echo DR_GATEWAY_IP=${DR_GATEWAY_IP} + +echo "Sleep 15 seconds to allow startup script to execute on datarouter-prov container" +sleep 15 + +docker exec -i datarouter-prov sh -c "curl -k -X PUT https://$DR_PROV_IP:8443/internal/api/NODES?val=node.datarouternew.com\|$DR_GATEWAY_IP" +docker exec -i datarouter-prov sh -c "curl -k -X PUT https://$DR_PROV_IP:8443/internal/api/PROV_AUTH_ADDRESSES?val=prov.datarouternew.com\|$DR_GATEWAY_IP" + +#Pass any variables required by Robot test suites in ROBOT_VARIABLES +ROBOT_VARIABLES="-v DR_PROV_IP:${DR_PROV_IP}" diff --git a/test/csit/plans/dmaap-datarouter/dr-suite/teardown.sh b/test/csit/plans/dmaap-datarouter/dr-suite/teardown.sh new file mode 100755 index 000000000..f3ddf4774 --- /dev/null +++ b/test/csit/plans/dmaap-datarouter/dr-suite/teardown.sh @@ -0,0 +1,5 @@ +#!/bin/bash + +kill-instance.sh datarouter-node +kill-instance.sh datarouter-prov +kill-instance.sh mysql diff --git a/test/csit/plans/dmaap-datarouter/dr-suite/testplan.txt b/test/csit/plans/dmaap-datarouter/dr-suite/testplan.txt new file mode 100755 index 000000000..8349a0566 --- /dev/null +++ b/test/csit/plans/dmaap-datarouter/dr-suite/testplan.txt @@ -0,0 +1,2 @@ +# Place the suites in run order. +dmaap-datarouter/dr-suite diff --git a/test/csit/tests/dmaap-datarouter/dr-suite/dr-suite.robot b/test/csit/tests/dmaap-datarouter/dr-suite/dr-suite.robot new file mode 100755 index 000000000..d1de683ef --- /dev/null +++ b/test/csit/tests/dmaap-datarouter/dr-suite/dr-suite.robot @@ -0,0 +1,28 @@ +*** Settings *** +Library OperatingSystem +Library RequestsLibrary +Library requests +Library Collections +Library String + +*** Variables *** +${TARGETURL_FEED} https://${DR_PROV_IP}:8443 +${CREATE_FEED_DATA} {"name": "CSIT_Test", "version": "m1.0", "description": "CSIT_Test", "business_description": "CSIT_Test", "suspend": false, "deleted": false, "changeowner": true, "authorization": {"classification": "unclassified", "endpoint_addrs": ["${DR_PROV_IP}"], "endpoint_ids": [{"password": "rs873m", "id": "rs873m"}]}} + +*** Test Cases *** +Run Feed Creation + [Documentation] Feed Creation + [Timeout] 1 minute + ${resp}= PostFeed ${TARGETURL_FEED} ${CREATE_FEED_DATA} + log ${TARGETURL_FEED} + log ${resp.text} + Should Be Equal As Strings ${resp.status_code} 201 + log 'JSON Response Code:'${resp} + + +*** Keywords *** +PostFeed + [Arguments] ${url} ${data} + ${headers}= Create Dictionary X-ATT-DR-ON-BEHALF-OF=rs873m Content-Type=application/vnd.att-dr.feed + ${resp}= Evaluate requests.post('${url}',data='${data}', headers=${headers},verify=False) requests + [Return] ${resp} -- cgit 1.2.3-korg