aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDaniel Rose <dr695h@att.com>2019-10-23 21:08:47 +0000
committerGerrit Code Review <gerrit@onap.org>2019-10-23 21:08:47 +0000
commitdc56b9e2843722d7aa6eab649e26e5372e592c80 (patch)
treef5c29f4d20a9fe214ce364a7e135762f89194e7a
parentd5ba0fdc765d50d587e46279ae8c591b51a7c598 (diff)
parent3d4b2a4054f5ca21ce33a98cd13e6c24d4288628 (diff)
Merge "Updating DMaaP DR CSIT suites"
-rw-r--r--plans/dcaegen2-pmmapper/pmmapper/composefile/docker-compose-e2e.yml4
-rwxr-xr-xplans/dmaap-datarouter/dr-suite/setup.sh73
-rwxr-xr-xplans/dmaap-datarouter/dr-suite/teardown.sh4
-rwxr-xr-xplans/dmaap-datarouter/dr-suite/testplan.txt2
-rw-r--r--plans/dmaap-datarouter/ssl-dr-suite/docker-compose/docker-compose.yml (renamed from plans/dmaap-datarouter/dr-suite/docker-compose/docker-compose.yml)0
-rw-r--r--plans/dmaap-datarouter/ssl-dr-suite/docker-compose/node.properties (renamed from plans/dmaap-datarouter/dr-suite/docker-compose/node.properties)26
-rwxr-xr-xplans/dmaap-datarouter/ssl-dr-suite/docker-compose/provserver.properties (renamed from plans/dmaap-datarouter/dr-suite/docker-compose/provserver.properties)16
-rwxr-xr-xplans/dmaap-datarouter/ssl-dr-suite/setup.sh38
-rwxr-xr-xplans/dmaap-datarouter/ssl-dr-suite/teardown.sh2
-rwxr-xr-xtests/dmaap-datarouter/dr-suite/dr-suite.robot179
-rwxr-xr-xtests/dmaap-datarouter/ssl-dr-suite/ssl-dr-suite.robot145
11 files changed, 170 insertions, 319 deletions
diff --git a/plans/dcaegen2-pmmapper/pmmapper/composefile/docker-compose-e2e.yml b/plans/dcaegen2-pmmapper/pmmapper/composefile/docker-compose-e2e.yml
index a60b30b9..bf28b9fa 100644
--- a/plans/dcaegen2-pmmapper/pmmapper/composefile/docker-compose-e2e.yml
+++ b/plans/dcaegen2-pmmapper/pmmapper/composefile/docker-compose-e2e.yml
@@ -1,7 +1,7 @@
version: '2.1'
services:
datarouter-prov:
- image: nexus3.onap.org:10001/onap/dmaap/datarouter-prov:2.1.0-SNAPSHOT-latest
+ image: nexus3.onap.org:10001/onap/dmaap/datarouter-prov
container_name: datarouter-prov
hostname: dmaap-dr-prov
ports:
@@ -25,7 +25,7 @@ services:
- "dcae-pm-mapper:3.3.3.3"
datarouter-node:
- image: nexus3.onap.org:10001/onap/dmaap/datarouter-node:2.1.0-SNAPSHOT-latest
+ image: nexus3.onap.org:10001/onap/dmaap/datarouter-node
container_name: datarouter-node
hostname: dmaap-dr-node
ports:
diff --git a/plans/dmaap-datarouter/dr-suite/setup.sh b/plans/dmaap-datarouter/dr-suite/setup.sh
deleted file mode 100755
index 398eb7cd..00000000
--- a/plans/dmaap-datarouter/dr-suite/setup.sh
+++ /dev/null
@@ -1,73 +0,0 @@
-#!/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
-cd datarouter
-git pull
-cd $WORKSPACE/archives/dmaapdr/datarouter/datarouter-docker-compose/src/main/resources
-cp $WORKSPACE/plans/dmaap-datarouter/dr-suite/docker-compose/docker-compose.yml .
-cp $WORKSPACE/plans/dmaap-datarouter/dr-suite/docker-compose/provserver.properties ./prov_data/provserver.properties
-cp $WORKSPACE/plans/dmaap-datarouter/dr-suite/docker-compose/node.properties ./node_data/node.properties
-
-# 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 mariadb
-for i in {1..10}; do
- if [ $(docker inspect --format '{{ .State.Running }}' subscriber-node2) ] && \
- [ $(docker inspect --format '{{ .State.Running }}' subscriber-node) ] && \
- [ $(docker inspect --format '{{ .State.Running }}' datarouter-node) ] && \
- [ $(docker inspect --format '{{ .State.Running }}' datarouter-prov) ] && \
- [ $(docker inspect --format '{{ .State.Running }}' mariadb) ]
- then
- echo "DR Service Running"
- break
- else
- echo sleep $i
- sleep $i
- fi
-done
-
-# Wait for healthy container datarouter-prov
-for i in {1..10}; do
- if [ "$(docker inspect --format '{{ .State.Health.Status }}' datarouter-prov)" = 'healthy' ]
- then
- echo datarouter-prov.State.Health.Status is $(docker inspect --format '{{ .State.Health.Status }}' datarouter-prov)
- echo "DR Service Running, datarouter-prov container is healthy"
- break
- else
- echo datarouter-prov.State.Health.Status is $(docker inspect --format '{{ .State.Health.Status }}' datarouter-prov)
- echo sleep $i
- sleep $i
- if [ $i = 10 ]
- then
- echo datarouter-prov container is not in healthy state - the test is not made, teardown...
- cd $WORKSPACE/archives/dmaapdr/datarouter/datarouter-docker-compose/src/main/resources
- docker-compose rm -sf
- exit 1
- fi
- fi
-done
-
-DR_PROV_IP=`get-instance-ip.sh datarouter-prov`
-DR_NODE_IP=`get-instance-ip.sh datarouter-node`
-DR_SUB_IP=`get-instance-ip.sh subscriber-node`
-DR_SUB2_IP=`get-instance-ip.sh subscriber-node2`
-DR_GATEWAY_IP=$(docker inspect -f '{{range .NetworkSettings.Networks}}{{.Gateway}}{{end}}' datarouter-prov)
-
-echo DR_PROV_IP=${DR_PROV_IP}
-echo DR_NODE_IP=${DR_NODE_IP}
-echo DR_SUB_IP=${DR_SUB_IP}
-echo DR_SUB2_IP=${DR_SUB2_IP}
-echo DR_GATEWAY_IP=${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=dmaap-dr-prov\|$DR_GATEWAY_IP"
-
-#Pass any variables required by Robot test suites in ROBOT_VARIABLES
-ROBOT_VARIABLES="-v DR_PROV_IP:${DR_PROV_IP} -v DR_NODE_IP:${DR_NODE_IP} -v DR_SUB_IP:${DR_SUB_IP} -v DR_SUB2_IP:${DR_SUB2_IP}"
diff --git a/plans/dmaap-datarouter/dr-suite/teardown.sh b/plans/dmaap-datarouter/dr-suite/teardown.sh
deleted file mode 100755
index 1b20842c..00000000
--- a/plans/dmaap-datarouter/dr-suite/teardown.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/bash
-
-cd $WORKSPACE/archives/dmaapdr/datarouter/datarouter-docker-compose/src/main/resources
-docker-compose rm -sf
diff --git a/plans/dmaap-datarouter/dr-suite/testplan.txt b/plans/dmaap-datarouter/dr-suite/testplan.txt
deleted file mode 100755
index 8349a056..00000000
--- a/plans/dmaap-datarouter/dr-suite/testplan.txt
+++ /dev/null
@@ -1,2 +0,0 @@
-# Place the suites in run order.
-dmaap-datarouter/dr-suite
diff --git a/plans/dmaap-datarouter/dr-suite/docker-compose/docker-compose.yml b/plans/dmaap-datarouter/ssl-dr-suite/docker-compose/docker-compose.yml
index ed8a7c04..ed8a7c04 100644
--- a/plans/dmaap-datarouter/dr-suite/docker-compose/docker-compose.yml
+++ b/plans/dmaap-datarouter/ssl-dr-suite/docker-compose/docker-compose.yml
diff --git a/plans/dmaap-datarouter/dr-suite/docker-compose/node.properties b/plans/dmaap-datarouter/ssl-dr-suite/docker-compose/node.properties
index c692b906..1d7a5d42 100644
--- a/plans/dmaap-datarouter/dr-suite/docker-compose/node.properties
+++ b/plans/dmaap-datarouter/ssl-dr-suite/docker-compose/node.properties
@@ -2,7 +2,7 @@
# ============LICENSE_START==================================================
# * org.onap.dmaap
# * ===========================================================================
-# * Copyright � 2017 AT&T Intellectual Property. All rights reserved.
+# * Copyright © 2017 AT&T Intellectual Property. All rights reserved.
# * ===========================================================================
# * Licensed under the Apache License, Version 2.0 (the "License");
# * you may not use this file except in compliance with the License.
@@ -57,26 +57,11 @@ SpoolDir = /opt/app/datartr/spool
RedirectionFile = etc/redirections.dat
#
# The type of keystore for https
-KeyStoreType = jks
-#
-# The path to the keystore for https
-KeyStoreFile = /opt/app/datartr/aaf_certs/org.onap.dmaap-dr.jks
-#
-# The password for the https keystore
-KeyStorePassword=WGxd2P6MDo*Bi4+UdzWs{?$8
-#
-# The password for the private key in the https keystore
-KeyPassword=WGxd2P6MDo*Bi4+UdzWs{?$8
+KeyStoreType = PKCS12
#
# The type of truststore for https
TrustStoreType = jks
#
-# The path to the truststore for https
-TrustStoreFile = /opt/app/datartr/aaf_certs/org.onap.dmaap-dr.trust.jks
-#
-# The password for the https truststore
-TrustStorePassword=)OBvCd{e{aWq.^mJJdX:S:1&
-#
# The path to the file used to trigger an orderly shutdown
QuiesceFile = etc/SHUTDOWN
#
@@ -95,9 +80,8 @@ AAFInstance = legacy
# AAF action to generate permission string - default should be publish
AAFAction = publish
#
-# AAF URL to connect to AAF server
-AafUrl = https://aaf-onap-test.osaaf.org:8095
-#
# AAF CADI enabled flag
CadiEnabled = false
-
+#
+# AAF Props file path
+AAFPropsFilePath = /opt/app/osaaf/local/org.onap.dmaap-dr.props
diff --git a/plans/dmaap-datarouter/dr-suite/docker-compose/provserver.properties b/plans/dmaap-datarouter/ssl-dr-suite/docker-compose/provserver.properties
index f0edb713..3930bd09 100755
--- a/plans/dmaap-datarouter/dr-suite/docker-compose/provserver.properties
+++ b/plans/dmaap-datarouter/ssl-dr-suite/docker-compose/provserver.properties
@@ -2,7 +2,7 @@
# ============LICENSE_START==================================================
# * org.onap.dmaap
# * ===========================================================================
-# * Copyright � 2017 AT&T Intellectual Property. All rights reserved.
+# * Copyright © 2017 AT&T Intellectual Property. All rights reserved.
# * Modifications Copyright (C) 2018 Nokia. All rights reserved.
# * ===========================================================================
# * Licensed under the Apache License, Version 2.0 (the "License");
@@ -27,12 +27,7 @@ org.onap.dmaap.datarouter.provserver.http.port = 8080
org.onap.dmaap.datarouter.provserver.https.port = 8443
org.onap.dmaap.datarouter.provserver.https.relaxation = true
-org.onap.dmaap.datarouter.provserver.keystore.type = jks
-org.onap.dmaap.datarouter.provserver.keymanager.password = FZNkU,B%NJzcT1v7;^v]M#ZX
-org.onap.dmaap.datarouter.provserver.keystore.path = /opt/app/datartr/aaf_certs/org.onap.dmaap-dr.jks
-org.onap.dmaap.datarouter.provserver.keystore.password = FZNkU,B%NJzcT1v7;^v]M#ZX
-org.onap.dmaap.datarouter.provserver.truststore.path = /opt/app/datartr/aaf_certs/org.onap.dmaap-dr.trust.jks
-org.onap.dmaap.datarouter.provserver.truststore.password = +mzf@J.D^;3!![*Xr.z$c#?b
+org.onap.dmaap.datarouter.provserver.aafprops.path = /opt/app/osaaf/local/org.onap.dmaap-dr.props
org.onap.dmaap.datarouter.provserver.accesslog.dir = /opt/app/datartr/logs
org.onap.dmaap.datarouter.provserver.spooldir = /opt/app/datartr/spool
@@ -58,12 +53,9 @@ org.onap.dmaap.datarouter.provserver.https.include.protocols = TLSv1.1|TLSv1.2
# AAF config
org.onap.dmaap.datarouter.provserver.cadi.enabled = false
-org.onap.dmaap.datarouter.provserver.passwordencription = PasswordEncryptionKey#@$%^&1234#
+org.onap.dmaap.datarouter.provserver.passwordencryption = PasswordEncryptionKey#@$%^&1234#
org.onap.dmaap.datarouter.provserver.aaf.feed.type = org.onap.dmaap-dr.feed
org.onap.dmaap.datarouter.provserver.aaf.sub.type = org.onap.dmaap-dr.sub
org.onap.dmaap.datarouter.provserver.aaf.instance = legacy
org.onap.dmaap.datarouter.provserver.aaf.action.publish = publish
-org.onap.dmaap.datarouter.provserver.aaf.action.subscribe = subscribe
-
-# AAF URL to connect to AAF server
-org.onap.dmaap.datarouter.provserver.cadi.aaf.url = https://aaf-onap-test.osaaf.org:8095 \ No newline at end of file
+org.onap.dmaap.datarouter.provserver.aaf.action.subscribe = subscribe \ No newline at end of file
diff --git a/plans/dmaap-datarouter/ssl-dr-suite/setup.sh b/plans/dmaap-datarouter/ssl-dr-suite/setup.sh
index 39217991..e1f2cb46 100755
--- a/plans/dmaap-datarouter/ssl-dr-suite/setup.sh
+++ b/plans/dmaap-datarouter/ssl-dr-suite/setup.sh
@@ -18,6 +18,8 @@
# SPDX-License-Identifier: Apache-2.0
# ============LICENSE_END=========================================================
#
+
+
source ${SCRIPTS}/common_functions.sh
# Clone DMaaP Data Router repo
@@ -28,6 +30,9 @@ git clone --depth 1 https://gerrit.onap.org/r/dmaap/datarouter -b master
cd datarouter
git pull
cd $WORKSPACE/archives/dmaapdr/datarouter/datarouter-docker-compose/src/main/resources
+cp $WORKSPACE/plans/dmaap-datarouter/ssl-dr-suite/docker-compose/docker-compose.yml .
+cp $WORKSPACE/plans/dmaap-datarouter/ssl-dr-suite/docker-compose/provserver.properties ./prov_data/provserver.properties
+cp $WORKSPACE/plans/dmaap-datarouter/ssl-dr-suite/docker-compose/node.properties ./node_data/node.properties
# start DMaaP DR containers with docker compose and configuration from docker-compose.yml
docker login -u docker -p docker nexus3.onap.org:10001
@@ -35,9 +40,10 @@ docker-compose up -d
# Wait for initialization of Docker container for datarouter-node, datarouter-prov and mariadb
for i in {1..10}; do
- if [ $(docker inspect --format '{{ .State.Running }}' datarouter-node) ] && \
- [ $(docker inspect --format '{{ .State.Running }}' datarouter-prov) ] && \
+ if [ $(docker inspect --format '{{ .State.Running }}' subscriber-node2) ] && \
[ $(docker inspect --format '{{ .State.Running }}' subscriber-node) ] && \
+ [ $(docker inspect --format '{{ .State.Running }}' datarouter-node) ] && \
+ [ $(docker inspect --format '{{ .State.Running }}' datarouter-prov) ] && \
[ $(docker inspect --format '{{ .State.Running }}' mariadb) ]
then
echo "DR Service Running"
@@ -48,14 +54,37 @@ for i in {1..10}; do
fi
done
+# Wait for healthy container datarouter-prov
+for i in {1..10}; do
+ if [ "$(docker inspect --format '{{ .State.Health.Status }}' datarouter-prov)" = 'healthy' ]
+ then
+ echo datarouter-prov.State.Health.Status is $(docker inspect --format '{{ .State.Health.Status }}' datarouter-prov)
+ echo "DR Service Running, datarouter-prov container is healthy"
+ break
+ else
+ echo datarouter-prov.State.Health.Status is $(docker inspect --format '{{ .State.Health.Status }}' datarouter-prov)
+ echo sleep $i
+ sleep $i
+ if [ $i = 10 ]
+ then
+ echo datarouter-prov container is not in healthy state - the test is not made, teardown...
+ cd $WORKSPACE/archives/dmaapdr/datarouter/datarouter-docker-compose/src/main/resources
+ docker-compose rm -sf
+ exit 1
+ fi
+ fi
+done
+
DR_PROV_IP=`get-instance-ip.sh datarouter-prov`
DR_NODE_IP=`get-instance-ip.sh datarouter-node`
DR_SUB_IP=`get-instance-ip.sh subscriber-node`
+DR_SUB2_IP=`get-instance-ip.sh subscriber-node2`
DR_GATEWAY_IP=$(docker inspect -f '{{range .NetworkSettings.Networks}}{{.Gateway}}{{end}}' datarouter-prov)
echo DR_PROV_IP=${DR_PROV_IP}
echo DR_NODE_IP=${DR_NODE_IP}
echo DR_SUB_IP=${DR_SUB_IP}
+echo DR_SUB2_IP=${DR_SUB2_IP}
echo DR_GATEWAY_IP=${DR_GATEWAY_IP}
sudo sed -i "$ a $DR_PROV_IP dmaap-dr-prov" /etc/hosts
@@ -63,6 +92,7 @@ sudo sed -i "$ a $DR_NODE_IP dmaap-dr-node" /etc/hosts
python $WORKSPACE/scripts/dmaap-datarouter/update_ca.py
-docker exec -i datarouter-prov sh -c "curl -k -X PUT https://dmaap-dr-prov:8443/internal/api/PROV_AUTH_ADDRESSES?val=dmaap-dr-prov\|$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=dmaap-dr-prov\|$DR_GATEWAY_IP"
-ROBOT_VARIABLES="-v DR_SUB_IP:${DR_SUB_IP}" \ No newline at end of file
+#Pass any variables required by Robot test suites in ROBOT_VARIABLES
+ROBOT_VARIABLES="-v DR_PROV_IP:${DR_PROV_IP} -v DR_NODE_IP:${DR_NODE_IP} -v DR_SUB_IP:${DR_SUB_IP} -v DR_SUB2_IP:${DR_SUB2_IP}" \ No newline at end of file
diff --git a/plans/dmaap-datarouter/ssl-dr-suite/teardown.sh b/plans/dmaap-datarouter/ssl-dr-suite/teardown.sh
index 3cf35373..d8ec4dc9 100755
--- a/plans/dmaap-datarouter/ssl-dr-suite/teardown.sh
+++ b/plans/dmaap-datarouter/ssl-dr-suite/teardown.sh
@@ -22,5 +22,5 @@
cd $WORKSPACE/archives/dmaapdr/datarouter/datarouter-docker-compose/src/main/resources
sudo sed -i".bak" '/dmaap-dr-prov/d' /etc/hosts
sudo sed -i".bak" '/dmaap-dr-node/d' /etc/hosts
-docker-compose down -v
+docker-compose rm -sf
python $WORKSPACE/scripts/dmaap-datarouter/remove_cert_from_ca.py
diff --git a/tests/dmaap-datarouter/dr-suite/dr-suite.robot b/tests/dmaap-datarouter/dr-suite/dr-suite.robot
deleted file mode 100755
index c4379153..00000000
--- a/tests/dmaap-datarouter/dr-suite/dr-suite.robot
+++ /dev/null
@@ -1,179 +0,0 @@
-*** Settings ***
-Library OperatingSystem
-Library RequestsLibrary
-Library requests
-Library Collections
-Library Process
-Library String
-
-*** Variables ***
-${TARGET_URL} https://${DR_PROV_IP}:8443
-${TARGET_URL_FEED} https://${DR_PROV_IP}:8443/feed/1
-${TARGET_URL_EXISTS_LOGGING} https://${DR_PROV_IP}:8443/feedlog/1?type=pub&filename=csit_test
-${TARGET_URL_NOT_EXISTS_LOGGING} https://${DR_PROV_IP}:8443/feedlog/1?type=pub&filename=file_that_doesnt_exist
-${TARGET_URL_SUBSCRIBE} https://${DR_PROV_IP}:8443/subscribe/1
-${TARGET_URL_SUBSCRIPTION} https://${DR_PROV_IP}:8443/subs/1
-${TARGET_URL_PUBLISH_PROV} https://${DR_PROV_IP}:8443/publish/1/csit_test
-${TARGET_URL_PUBLISH_NODE} https://${DR_NODE_IP}:8443/publish/1/csit_test
-${TARGET_URL_DELETE_FILE} https://${DR_NODE_IP}:8443/delete/2
-
-${FEED_CONTENT_TYPE} application/vnd.dmaap-dr.feed
-${SUBSCRIBE_CONTENT_TYPE} application/vnd.dmaap-dr.subscription
-${PUBLISH_FEED_CONTENT_TYPE} application/octet-stream
-
-${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": [], "endpoint_ids": [{"password": "rs873m", "id": "rs873m"}]}}
-${UPDATE_FEED_DATA} {"name": "CSIT_Test", "version": "m1.0", "description": "UPDATED-CSIT_Test", "business_description": "CSIT_Test", "suspend": true, "deleted": false, "changeowner": true, "authorization": {"classification": "unclassified", "endpoint_addrs": [], "endpoint_ids": [{"password": "rs873m", "id": "rs873m"}]}}
-${SUBSCRIBE_DATA} {"delivery":{ "url":"http://${DR_SUB_IP}:7070/", "user":"LOGIN", "password":"PASSWORD", "use100":true}, "metadataOnly":false, "suspend":false, "groupid":29, "subscriber":"sg481n", "privilegedSubscriber":false}
-${UPDATE_SUBSCRIPTION_DATA} {"delivery":{ "url":"http://${DR_SUB_IP}:7070/", "user":"sg481n", "password":"sg481n", "use100":true}, "metadataOnly":false, "suspend":true, "groupid":29, "subscriber":"sg481n", "privilegedSubscriber":false}
-${SUBSCRIBE2_DATA} {"delivery":{ "url":"http://${DR_SUB2_IP}:7070/", "user":"LOGIN", "password":"PASSWORD", "use100":true}, "metadataOnly":false, "suspend":false, "groupid":29, "subscriber":"privileged", "privilegedSubscriber":true}
-
-${CLI_VERIFY_SUB_RECEIVED_FILE} docker exec subscriber-node /bin/sh -c "ls /opt/app/subscriber/delivery | grep csit_test"
-${CLI_VERIFY_FILE_REMAINS_ON_NODE} docker exec datarouter-node /bin/sh -c "ls /opt/app/datartr/spool/s/0/2 | grep dmaap-dr-node | grep -v .M"
-
-*** Test Cases ***
-Run Feed Creation
- [Documentation] Feed Creation
- [Timeout] 1 minute
- ${resp}= PostCall ${TARGET_URL} ${CREATE_FEED_DATA} ${FEED_CONTENT_TYPE} rs873m
- log ${TARGET_URL}
- log ${resp.text}
- Should Be Equal As Strings ${resp.status_code} 201
- log 'JSON Response Code:'${resp}
-
-Run Subscribe to Feed
- [Documentation] Subscribe to Feed
- [Timeout] 1 minute
- ${resp}= PostCall ${TARGET_URL_SUBSCRIBE} ${SUBSCRIBE_DATA} ${SUBSCRIBE_CONTENT_TYPE} sg481n
- log ${TARGET_URL_SUBSCRIBE}
- log ${resp.text}
- Should Be Equal As Strings ${resp.status_code} 201
- log 'JSON Response Code:'${resp}
-
-Run Subscribe to Feed with Privileged Subscription
- [Documentation] Subscribe to Feed with privileged subscription
- [Timeout] 1 minute
- ${resp}= PostCall ${TARGET_URL_SUBSCRIBE} ${SUBSCRIBE2_DATA} ${SUBSCRIBE_CONTENT_TYPE} privileged
- log ${TARGET_URL_SUBSCRIBE}
- log ${resp.text}
- Should Be Equal As Strings ${resp.status_code} 201
- log 'JSON Response Code:'${resp}
-
-Run Publish to Feed
- [Documentation] Publish to Feed
- [Timeout] 1 minute
- Sleep 10s Behaviour was noticed where feed was not created in time for publish to be sent
- ${resp}= PutCall ${TARGET_URL_PUBLISH_PROV} ${CREATE_FEED_DATA} ${PUBLISH_FEED_CONTENT_TYPE} rs873m
- log ${TARGET_URL_PUBLISH_PROV}
- Should Contain ${resp.headers['Location']} https://dmaap-dr-node:8443/publish/1/csit_test
- ${resp}= PutCall ${TARGET_URL_PUBLISH_NODE} ${CREATE_FEED_DATA} ${PUBLISH_FEED_CONTENT_TYPE} rs873m
- Should Be Equal As Strings ${resp.status_code} 204
- log 'JSON Response Code:'${resp}
-
-Verify Subscriber Received Published File
- [Documentation] Verify file is delivered to datarouter-subscriber
- [Timeout] 1 minute
- Sleep 5s Time to allow subscriber to receive the file
- ${cli_cmd_output}= Run Process ${CLI_VERIFY_SUB_RECEIVED_FILE} shell=yes
- Log ${cli_cmd_output.stdout}
- Should Be Equal As Strings ${cli_cmd_output.rc} 0
- Should Contain ${cli_cmd_output.stdout} csit_test
-
-
-Verify File Remains On Privileged Subscriber And Delete It
- [Documentation] Verify file has not been deleted on datarouter-node and delete it using DELETE API
- [Timeout] 1 minute
- ${cli_cmd_output}= Run Process ${CLI_VERIFY_FILE_REMAINS_ON_NODE} shell=yes
- log ${cli_cmd_output.stdout}
- Should Be Equal As Strings ${cli_cmd_output.rc} 0
- Should Contain ${cli_cmd_output.stdout} dmaap-dr-node
- ${resp}= DeleteCall ${TARGET_URL_DELETE_FILE}/${cli_cmd_output.stdout} rs873m
- Should Be Equal As Strings ${resp.status_code} 200
- log 'JSON Response Code:'${resp}
- ${cli_cmd_output}= Run Process ${CLI_VERIFY_FILE_REMAINS_ON_NODE} shell=yes
- log ${cli_cmd_output.stdout}
- Should Be Equal As Strings ${cli_cmd_output.rc} 1
-
-Run Update Subscription
- [Documentation] Update Subscription to suspend and change delivery credentials
- [Timeout] 1 minute
- ${resp}= PutCall ${TARGET_URL_SUBSCRIPTION} ${UPDATE_SUBSCRIPTION_DATA} ${SUBSCRIBE_CONTENT_TYPE} sg481n
- log ${TARGET_URL_SUBSCRIPTION}
- log ${resp.text}
- Should Be Equal As Strings ${resp.status_code} 200
- log 'JSON Response Code:'${resp}
- ${resp}= GetCall ${TARGET_URL_SUBSCRIPTION} ${SUBSCRIBE_CONTENT_TYPE} sg481n
- log ${resp.text}
- Should Contain ${resp.text} "password":"sg481n","user":"sg481n"
- log 'JSON Response Code:'${resp}
-
-Run Update Feed
- [Documentation] Update Feed description and suspend
- [Timeout] 1 minute
- ${resp}= PutCall ${TARGET_URL_FEED} ${UPDATE_FEED_DATA} ${FEED_CONTENT_TYPE} rs873m
- log ${TARGET_URL_FEED}
- log ${resp.text}
- Should Be Equal As Strings ${resp.status_code} 200
- log 'JSON Response Code:'${resp}
- ${resp}= GetCall ${TARGET_URL_FEED} ${FEED_CONTENT_TYPE} rs873m
- log ${resp.text}
- Should Contain ${resp.text} "UPDATED-CSIT_Test"
- log 'JSON Response Code:'${resp}
-
-Run Get With Filename That Exists
- [Documentation] Get publish record with a specified filename
- [Timeout] 2 minutes
- sleep 1 minute 45 seconds needed to ensure logs have been updated
- ${resp}= GetCall ${TARGET_URL_EXISTS_LOGGING} ${FEED_CONTENT_TYPE} rs873m
- log ${resp.text}
- Should Contain ${resp.text} "fileName":"csit_test"
- log 'JSON Response Code:'${resp}
-
-Run Get With Filename That Doesnt Exist
- [Documentation] Get publish record with a specified filename
- [Timeout] 1 minute
- ${resp}= GetCall ${TARGET_URL_NOT_EXISTS_LOGGING} ${FEED_CONTENT_TYPE} rs873m
- log ${resp.text}
- Should Contain ${resp.text} []
- log 'JSON Response Code:'${resp}
-
-
-Run Delete Subscription
- [Documentation] Delete Subscription
- [Timeout] 1 minute
- ${resp}= DeleteCall ${TARGET_URL_SUBSCRIPTION} sg481n
- log ${resp.text}
- Should Be Equal As Strings ${resp.status_code} 204
- log 'JSON Response Code:'${resp}
-
-Run Delete Feed
- [Documentation] Delete Feed
- [Timeout] 1 minute
- ${resp}= DeleteCall ${TARGET_URL_FEED} rs873m
- log ${resp.text}
- Should Be Equal As Strings ${resp.status_code} 204
- log 'JSON Response Code:'${resp}
-
-*** Keywords ***
-PostCall
- [Arguments] ${url} ${data} ${content_type} ${user}
- ${headers}= Create Dictionary X-DMAAP-DR-ON-BEHALF-OF=${user} Content-Type=${content_type}
- ${resp}= Evaluate requests.post('${url}', data='${data}', headers=${headers}, verify=False) requests
- [Return] ${resp}
-
-PutCall
- [Arguments] ${url} ${data} ${content_type} ${user}
- ${headers}= Create Dictionary X-DMAAP-DR-ON-BEHALF-OF=${user} Content-Type=${content_type} Authorization=Basic cnM4NzNtOnJzODczbQ==
- ${resp}= Evaluate requests.put('${url}', data='${data}', headers=${headers}, verify=False, allow_redirects=False) requests
- [Return] ${resp}
-
-GetCall
- [Arguments] ${url} ${content_type} ${user}
- ${headers}= Create Dictionary X-DMAAP-DR-ON-BEHALF-OF=${user} Content-Type=${content_type}
- ${resp}= Evaluate requests.get('${url}', headers=${headers}, verify=False) requests
- [Return] ${resp}
-
-DeleteCall
- [Arguments] ${url} ${user}
- ${headers}= Create Dictionary X-DMAAP-DR-ON-BEHALF-OF=${user}
- ${resp}= Evaluate requests.delete('${url}', headers=${headers}, verify=False) requests
- [Return] ${resp}
diff --git a/tests/dmaap-datarouter/ssl-dr-suite/ssl-dr-suite.robot b/tests/dmaap-datarouter/ssl-dr-suite/ssl-dr-suite.robot
index 74dda82e..2f96cdc8 100755
--- a/tests/dmaap-datarouter/ssl-dr-suite/ssl-dr-suite.robot
+++ b/tests/dmaap-datarouter/ssl-dr-suite/ssl-dr-suite.robot
@@ -3,17 +3,32 @@ Library OperatingSystem
Library RequestsLibrary
Library requests
Library Collections
-Library String
Library Process
+Library String
*** Variables ***
-${TARGET_URL} https://dmaap-dr-prov:8443/
-${CREATE_FEED_DATA} {"name": "CSIT_Test", "version": "v1.0.0", "description": "CSIT_Test", "business_description": "CSIT_Test", "suspend": false, "deleted": false, "changeowner": true, "authorization": {"classification": "unclassified", "endpoint_addrs": [], "endpoint_ids": [{"password": "dradmin", "id": "dradmin"}]}}
-${SUBSCRIBE_DATA} {"delivery":{ "url":"http://${DR_SUB_IP}:7070/", "user":"LOGIN", "password":"PASSWORD", "use100":true}, "metadataOnly":false, "suspend":false, "groupid":29, "subscriber":"dmaap-subscriber"}
-${FEED_CONTENT_TYPE} application/vnd.dmaap-dr.feed
-${SUBSCRIBE_CONTENT_TYPE} application/vnd.dmaap-dr.subscription
-${PUBLISH_FEED_CONTENT_TYPE} application/octet-stream
-${CLI_VERIFY_SUB_RECEIVED_FILE} docker exec subscriber-node /bin/sh -c "ls /opt/app/subscriber/delivery | grep csit_test"
+${TARGET_URL} https://dmaap-dr-prov:8443/
+${TARGET_URL_FEED} https://dmaap-dr-prov:8443/feed/1
+${TARGET_URL_EXISTS_LOGGING} https://dmaap-dr-prov:8443/feedlog/1?type=pub&filename=csit_test
+${TARGET_URL_NOT_EXISTS_LOGGING} https://dmaap-dr-prov:8443/feedlog/1?type=pub&filename=file_that_doesnt_exist
+${TARGET_URL_SUBSCRIBE} https://dmaap-dr-prov:8443/subscribe/1
+${TARGET_URL_SUBSCRIPTION} https://dmaap-dr-prov:8443/subs/1
+${TARGET_URL_PUBLISH_PROV} https://dmaap-dr-prov:8443/publish/1/csit_test
+${TARGET_URL_PUBLISH_NODE} https://dmaap-dr-node:8443/publish/1/csit_test
+${TARGET_URL_DELETE_FILE} https://dmaap-dr-node:8443/delete/2
+
+${FEED_CONTENT_TYPE} application/vnd.dmaap-dr.feed
+${SUBSCRIBE_CONTENT_TYPE} application/vnd.dmaap-dr.subscription
+${PUBLISH_FEED_CONTENT_TYPE} application/octet-stream
+
+${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": [], "endpoint_ids": [{"password": "dradmin", "id": "dradmin"}]}}
+${UPDATE_FEED_DATA} {"name": "CSIT_Test", "version": "m1.0", "description": "UPDATED-CSIT_Test", "business_description": "CSIT_Test", "suspend": true, "deleted": false, "changeowner": true, "authorization": {"classification": "unclassified", "endpoint_addrs": [], "endpoint_ids": [{"password": "dradmin", "id": "dradmin"}]}}
+${SUBSCRIBE_DATA} {"delivery":{ "url":"http://${DR_SUB_IP}:7070/", "user":"LOGIN", "password":"PASSWORD", "use100":true}, "metadataOnly":false, "suspend":false, "groupid":29, "subscriber":"dradmin", "privilegedSubscriber":false}
+${UPDATE_SUBSCRIPTION_DATA} {"delivery":{ "url":"http://${DR_SUB_IP}:7070/", "user":"dradmin", "password":"dradmin", "use100":true}, "metadataOnly":false, "suspend":true, "groupid":29, "subscriber":"dradmin", "privilegedSubscriber":false}
+${SUBSCRIBE2_DATA} {"delivery":{ "url":"http://${DR_SUB2_IP}:7070/", "user":"LOGIN", "password":"PASSWORD", "use100":true}, "metadataOnly":false, "suspend":false, "groupid":29, "subscriber":"privileged", "privilegedSubscriber":true}
+
+${CLI_VERIFY_SUB_RECEIVED_FILE} docker exec subscriber-node /bin/sh -c "ls /opt/app/subscriber/delivery | grep csit_test"
+${CLI_VERIFY_FILE_REMAINS_ON_NODE} docker exec datarouter-node /bin/sh -c "ls /opt/app/datartr/spool/s/0/2 | grep dmaap-dr-node | grep -v .M"
*** Test Cases ***
Run Feed Creation
@@ -28,8 +43,17 @@ Run Feed Creation
Run Subscribe to Feed
[Documentation] Subscribe to Feed
[Timeout] 1 minute
- ${resp}= PostCall ${TARGET_URL}subscribe/1 ${SUBSCRIBE_DATA} ${SUBSCRIBE_CONTENT_TYPE} dradmin
- log ${TARGET_URL}subscribe/1
+ ${resp}= PostCall ${TARGET_URL_SUBSCRIBE} ${SUBSCRIBE_DATA} ${SUBSCRIBE_CONTENT_TYPE} dradmin
+ log ${TARGET_URL_SUBSCRIBE}
+ log ${resp.text}
+ Should Be Equal As Strings ${resp.status_code} 201
+ log 'JSON Response Code:'${resp}
+
+Run Subscribe to Feed with Privileged Subscription
+ [Documentation] Subscribe to Feed with privileged subscription
+ [Timeout] 1 minute
+ ${resp}= PostCall ${TARGET_URL_SUBSCRIBE} ${SUBSCRIBE2_DATA} ${SUBSCRIBE_CONTENT_TYPE} privileged
+ log ${TARGET_URL_SUBSCRIBE}
log ${resp.text}
Should Be Equal As Strings ${resp.status_code} 201
log 'JSON Response Code:'${resp}
@@ -38,23 +62,96 @@ Run Publish to Feed
[Documentation] Publish to Feed
[Timeout] 1 minute
Sleep 10s Behaviour was noticed where feed was not created in time for publish to be sent
- ${resp}= PutCall ${TARGET_URL}publish/1/csit_test ${CREATE_FEED_DATA} ${PUBLISH_FEED_CONTENT_TYPE} dradmin
- log ${TARGET_URL}publish/1/csit_test
- ${redirect_location}= Set Variable ${resp.headers['Location']}
- log ${redirect_location}
- ${resp}= PutCall ${redirect_location} ${CREATE_FEED_DATA} ${PUBLISH_FEED_CONTENT_TYPE} dradmin
- log ${resp.text}
+ ${resp}= PutCall ${TARGET_URL_PUBLISH_PROV} ${CREATE_FEED_DATA} ${PUBLISH_FEED_CONTENT_TYPE} dradmin
+ log ${TARGET_URL_PUBLISH_PROV}
+ Should Contain ${resp.headers['Location']} https://dmaap-dr-node:8443/publish/1/csit_test
+ ${resp}= PutCall ${TARGET_URL_PUBLISH_NODE} ${CREATE_FEED_DATA} ${PUBLISH_FEED_CONTENT_TYPE} dradmin
Should Be Equal As Strings ${resp.status_code} 204
log 'JSON Response Code:'${resp}
Verify Subscriber Received Published File
- [Documentation] Verify file is delivered on datarouter-subscriber
+ [Documentation] Verify file is delivered to datarouter-subscriber
[Timeout] 1 minute
- Sleep 5s Time to allow subscriber to receive the file
- ${cli_cmd_output}= Run Process ${CLI_VERIFY_SUB_RECEIVED_FILE} shell=yes
+ Sleep 5s Time to allow subscriber to receive the file
+ ${cli_cmd_output}= Run Process ${CLI_VERIFY_SUB_RECEIVED_FILE} shell=yes
Log ${cli_cmd_output.stdout}
- Should Be Equal As Strings ${cli_cmd_output.rc} 0
- Should Contain ${cli_cmd_output.stdout} csit_test
+ Should Be Equal As Strings ${cli_cmd_output.rc} 0
+ Should Contain ${cli_cmd_output.stdout} csit_test
+
+
+Verify File Remains On Privileged Subscriber And Delete It
+ [Documentation] Verify file has not been deleted on datarouter-node and delete it using DELETE API
+ [Timeout] 1 minute
+ ${cli_cmd_output}= Run Process ${CLI_VERIFY_FILE_REMAINS_ON_NODE} shell=yes
+ log ${cli_cmd_output.stdout}
+ Should Be Equal As Strings ${cli_cmd_output.rc} 0
+ Should Contain ${cli_cmd_output.stdout} dmaap-dr-node
+ ${resp}= DeleteCall ${TARGET_URL_DELETE_FILE}/${cli_cmd_output.stdout} dradmin
+ Should Be Equal As Strings ${resp.status_code} 200
+ log 'JSON Response Code:'${resp}
+ ${cli_cmd_output}= Run Process ${CLI_VERIFY_FILE_REMAINS_ON_NODE} shell=yes
+ log ${cli_cmd_output.stdout}
+ Should Be Equal As Strings ${cli_cmd_output.rc} 1
+
+Run Update Subscription
+ [Documentation] Update Subscription to suspend and change delivery credentials
+ [Timeout] 1 minute
+ ${resp}= PutCall ${TARGET_URL_SUBSCRIPTION} ${UPDATE_SUBSCRIPTION_DATA} ${SUBSCRIBE_CONTENT_TYPE} dradmin
+ log ${TARGET_URL_SUBSCRIPTION}
+ log ${resp.text}
+ Should Be Equal As Strings ${resp.status_code} 200
+ log 'JSON Response Code:'${resp}
+ ${resp}= GetCall ${TARGET_URL_SUBSCRIPTION} ${SUBSCRIBE_CONTENT_TYPE} dradmin
+ log ${resp.text}
+ Should Contain ${resp.text} "password":"dradmin","user":"dradmin"
+ log 'JSON Response Code:'${resp}
+
+Run Update Feed
+ [Documentation] Update Feed description and suspend
+ [Timeout] 1 minute
+ ${resp}= PutCall ${TARGET_URL_FEED} ${UPDATE_FEED_DATA} ${FEED_CONTENT_TYPE} dradmin
+ log ${TARGET_URL_FEED}
+ log ${resp.text}
+ Should Be Equal As Strings ${resp.status_code} 200
+ log 'JSON Response Code:'${resp}
+ ${resp}= GetCall ${TARGET_URL_FEED} ${FEED_CONTENT_TYPE} dradmin
+ log ${resp.text}
+ Should Contain ${resp.text} "UPDATED-CSIT_Test"
+ log 'JSON Response Code:'${resp}
+
+Run Get With Filename That Exists
+ [Documentation] Get publish record with a specified filename
+ [Timeout] 2 minutes
+ sleep 1 minute 45 seconds needed to ensure logs have been updated
+ ${resp}= GetCall ${TARGET_URL_EXISTS_LOGGING} ${FEED_CONTENT_TYPE} dradmin
+ log ${resp.text}
+ Should Contain ${resp.text} "fileName":"csit_test"
+ log 'JSON Response Code:'${resp}
+
+Run Get With Filename That Doesnt Exist
+ [Documentation] Get publish record with a specified filename
+ [Timeout] 1 minute
+ ${resp}= GetCall ${TARGET_URL_NOT_EXISTS_LOGGING} ${FEED_CONTENT_TYPE} dradmin
+ log ${resp.text}
+ Should Contain ${resp.text} []
+ log 'JSON Response Code:'${resp}
+
+
+Run Delete Subscription
+ [Documentation] Delete Subscription
+ [Timeout] 1 minute
+ ${resp}= DeleteCall ${TARGET_URL_SUBSCRIPTION} dradmin
+ log ${resp.text}
+ Should Be Equal As Strings ${resp.status_code} 204
+ log 'JSON Response Code:'${resp}
+
+Run Delete Feed
+ [Documentation] Delete Feed
+ [Timeout] 1 minute
+ ${resp}= DeleteCall ${TARGET_URL_FEED} dradmin
+ log ${resp.text}
+ Should Be Equal As Strings ${resp.status_code} 204
+ log 'JSON Response Code:'${resp}
*** Keywords ***
PostCall
@@ -69,6 +166,12 @@ PutCall
${resp}= Evaluate requests.put('${url}', data='${data}', headers=${headers}, verify=True, allow_redirects=False) requests
[Return] ${resp}
+GetCall
+ [Arguments] ${url} ${content_type} ${user}
+ ${headers}= Create Dictionary X-DMAAP-DR-ON-BEHALF-OF=${user} Content-Type=${content_type}
+ ${resp}= Evaluate requests.get('${url}', headers=${headers}, verify=True) requests
+ [Return] ${resp}
+
DeleteCall
[Arguments] ${url} ${user}
${headers}= Create Dictionary X-DMAAP-DR-ON-BEHALF-OF=${user}