diff options
author | econwar <conor.ward@ericsson.com> | 2018-07-31 13:46:27 +0000 |
---|---|---|
committer | econwar <conor.ward@ericsson.com> | 2018-07-31 14:24:39 +0000 |
commit | 929249771e6948ad0fc96af983e168af5117f77a (patch) | |
tree | 2938eb703e400acf91c5119652d02e042dbbc6ed | |
parent | 3cbe54761c77812594cf6c497482373e814792c1 (diff) |
Add CSIT test for DMaaP Data Router component
Change-Id: Icaf961e3f71ceeaa2732b53b9d446b22f50932d0
Signed-off-by: Conor Ward <conor.ward@ericsson.com>
Issue-ID: DMAAP-156
4 files changed, 79 insertions, 0 deletions
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} |