CSIT Buscontroller SSL endpoints
Change-Id: I3de5b48f1d471f6c5e067deba7a06c19c3585de5
Signed-off-by: Dominic Lunanuova <dgl@research.att.com>
Issue-ID: DMAAP-319
Signed-off-by: Dominic Lunanuova <dgl@research.att.com>
diff --git a/test/csit/plans/dmaap-buscontroller/ssl/setup.sh b/test/csit/plans/dmaap-buscontroller/ssl/setup.sh
new file mode 100755
index 0000000..e40f62d
--- /dev/null
+++ b/test/csit/plans/dmaap-buscontroller/ssl/setup.sh
@@ -0,0 +1,45 @@
+#!/bin/bash
+#
+# ============LICENSE_START=======================================================
+# org.onap.dmaap
+# ================================================================================
+# Copyright (C) 2018 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.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+# ============LICENSE_END=========================================================
+#
+#
+
+
+# Place the scripts in run order:
+source ${WORKSPACE}/test/csit/scripts/dmaap-buscontroller/start-mock.sh
+start_mock "aaf"
+AAF_IP=${IP}
+start_mock "mrc" 3905
+MRC_IP=${IP}
+start_mock "drps" 8443
+DRPS_IP=${IP}
+
+source ${WORKSPACE}/test/csit/scripts/dmaap-buscontroller/dmaapbc-launch.sh
+dmaapbc_launch $AAF_IP $MRC_IP $DRPS_IP
+DMAAPBC_IP=${IP}
+
+
+echo "AAF_IP=$AAF_IP MRC_IP=$MRC_IP DRPS_IP=$DRPS_IP DMAAPBC_IP=$DMAAPBC_IP"
+
+# Pass any variables required by Robot test suites in ROBOT_VARIABLES
+ROBOT_VARIABLES="-v AAF_IP:${AAF_IP} -v MRC_IP:${MRC_IP} -v DRPS_IP:${DRPS_IP} -v DMAAPBC_IP:${DMAAPBC_IP}"
+
+set -x
+${WORKSPACE}/test/csit/scripts/dmaap-buscontroller/dmaapbc-init.sh ${DMAAPBC_IP} ${DRPS_IP} ${MRC_IP} https
+set +x
diff --git a/test/csit/plans/dmaap-buscontroller/ssl/teardown.sh b/test/csit/plans/dmaap-buscontroller/ssl/teardown.sh
new file mode 100644
index 0000000..1b041a4
--- /dev/null
+++ b/test/csit/plans/dmaap-buscontroller/ssl/teardown.sh
@@ -0,0 +1,26 @@
+#!/bin/bash
+#
+# ============LICENSE_START=======================================================
+# org.onap.dmaap
+# ================================================================================
+# Copyright (C) 2018 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.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+# ============LICENSE_END=========================================================
+#
+#
+kill-instance.sh aaf-mock
+kill-instance.sh drps-mock
+kill-instance.sh mrc-mock
+kill-instance.sh dmaapbc
+
diff --git a/test/csit/plans/dmaap-buscontroller/ssl/testplan.txt b/test/csit/plans/dmaap-buscontroller/ssl/testplan.txt
new file mode 100644
index 0000000..e106e7b
--- /dev/null
+++ b/test/csit/plans/dmaap-buscontroller/ssl/testplan.txt
@@ -0,0 +1,4 @@
+# Test suites are relative paths under [integration.git]/test/csit/tests/.
+# Place the suites in run order.
+dmaap-buscontroller/ssl_suite
+
diff --git a/test/csit/plans/dmaap-buscontroller/with_mr/setup.sh b/test/csit/plans/dmaap-buscontroller/with_mr/setup.sh
index 3b604fe..bcd19b5 100755
--- a/test/csit/plans/dmaap-buscontroller/with_mr/setup.sh
+++ b/test/csit/plans/dmaap-buscontroller/with_mr/setup.sh
@@ -31,9 +31,9 @@
MRC_IP=${IP}
source ${WORKSPACE}/test/csit/scripts/dmaap-buscontroller/start-mock.sh
- #start_mock "aaf"
- #AAF_IP=${IP}
- AAF_IP=0.0.0.0
+ start_mock "aaf"
+ AAF_IP=${IP}
+ #AAF_IP=0.0.0.0
#start_mock "drps"
#DRPS_IP=${IP}
DRPS_IP=0.0.0.0
diff --git a/test/csit/plans/dmaap-buscontroller/with_mr/teardown.sh b/test/csit/plans/dmaap-buscontroller/with_mr/teardown.sh
index f35b022..3feebe0 100644
--- a/test/csit/plans/dmaap-buscontroller/with_mr/teardown.sh
+++ b/test/csit/plans/dmaap-buscontroller/with_mr/teardown.sh
@@ -25,5 +25,6 @@
then
dmaap_mr_teardown
kill-instance.sh dmaapbc
+kill-instance.sh aaf-mock
fi
diff --git a/test/csit/scripts/dmaap-buscontroller/dmaapbc-init.sh b/test/csit/scripts/dmaap-buscontroller/dmaapbc-init.sh
index 96ac40f..c7cf03e 100755
--- a/test/csit/scripts/dmaap-buscontroller/dmaapbc-init.sh
+++ b/test/csit/scripts/dmaap-buscontroller/dmaapbc-init.sh
@@ -3,6 +3,21 @@
# $1 is the IP address of the buscontroller
# $2 is the IP address of the DRPS
# $3 is the IP address of the MRC
+# $4 is the protocol (defaults to http)
+
+PROTO=${4:-http}
+if [ "$PROTO" = "http" ]
+then
+ PORT=8080
+ CURLOPT="-v"
+ MRPORT=3904
+ DRPORT=8080
+else
+ PORT=8443
+ CURLOPT="-v -k"
+ MRPORT=3905
+ DRPORT=8443
+fi
# INITIALIZE: dmaap object
JSON=/tmp/$$.dmaap
@@ -10,7 +25,7 @@
{
"version": "1",
"topicNsRoot": "org.onap.dmaap",
- "drProvUrl": "http://${2}:8080",
+ "drProvUrl": "http://${2}:${DRPORT}",
"dmaapName": "onapCSIT",
"bridgeAdminTopic": "MM_AGENT_PROV"
@@ -18,7 +33,7 @@
EOF
echo "Initializing /dmaap endpoint"
-curl -v -X POST -d @${JSON} -H "Content-Type: application/json" http://$1:8080/webapi/dmaap
+curl ${CURLOPT} -X POST -d @${JSON} -H "Content-Type: application/json" ${PROTO}://$1:${PORT}/webapi/dmaap
@@ -35,7 +50,7 @@
EOF
echo "Initializing /dcaeLocations endpoint"
-curl -v -X POST -d @${JSON} -H "Content-Type: application/json" http://$1:8080/webapi/dcaeLocations
+curl ${CURLOPT} -X POST -d @${JSON} -H "Content-Type: application/json" ${PROTO}://$1:${PORT}/webapi/dcaeLocations
# INITIALIZE: MR object in 1 site
@@ -52,10 +67,10 @@
"dcaeLocationName": "csit-sanfrancisco",
"fqdn": "$DOCKER_HOST",
"topicProtocol" : "http",
- "topicPort": "3904"
+ "topicPort": "${MRPORT}"
}
EOF
echo "Initializing /mr_clusters endpoint"
-curl -v -X POST -d @${JSON} -H "Content-Type: application/json" http://$1:8080/webapi/mr_clusters
+curl ${CURLOPT} -X POST -d @${JSON} -H "Content-Type: application/json" ${PROTO}://$1:${PORT}/webapi/mr_clusters
diff --git a/test/csit/scripts/dmaap-buscontroller/onapCSIT.env b/test/csit/scripts/dmaap-buscontroller/onapCSIT.env
index 58432e6..db86581 100644
--- a/test/csit/scripts/dmaap-buscontroller/onapCSIT.env
+++ b/test/csit/scripts/dmaap-buscontroller/onapCSIT.env
@@ -8,7 +8,7 @@
# Only need to set values where defaults aren't appropriate
#
cat <<!EOF
-DMAAPBC_INT_HTTPS_PORT=0
+DMAAPBC_INT_HTTPS_PORT=8443
DMAAPBC_PG_ENABLED=false
DMAAPBC_INSTANCE_NAME=ONAP-CSIT
DMAAPBC_AAF_URL=https://${1}:1080/proxy/
diff --git a/test/csit/scripts/dmaap-message-router/dmaap-mr-launch.sh b/test/csit/scripts/dmaap-message-router/dmaap-mr-launch.sh
index c439a97..64f1720 100755
--- a/test/csit/scripts/dmaap-message-router/dmaap-mr-launch.sh
+++ b/test/csit/scripts/dmaap-message-router/dmaap-mr-launch.sh
@@ -31,6 +31,7 @@
# (kafka and zk containers are not called externally)
function dmaap_mr_launch() {
+ COMPOSE_PREFIX=docker-compose
# Clone DMaaP Message Router repo
mkdir -p $WORKSPACE/archives/dmaapmr
cd $WORKSPACE/archives/dmaapmr
@@ -45,12 +46,13 @@
# start DMaaP MR containers with docker compose and configuration from docker-compose.yml
docker login -u docker -p docker nexus3.onap.org:10001
docker-compose up -d
+ docker ps
# Wait for initialization of Docker contaienr for DMaaP MR, Kafka and Zookeeper
for i in {1..50}; do
- if [ $(docker inspect --format '{{ .State.Running }}' dockercompose_dmaap_1) ] && \
- [ $(docker inspect --format '{{ .State.Running }}' dockercompose_zookeeper_1) ] && \
- [ $(docker inspect --format '{{ .State.Running }}' dockercompose_dmaap_1) ]
+ if [ $(docker inspect --format '{{ .State.Running }}' ${COMPOSE_PREFIX}_dmaap_1) ] && \
+ [ $(docker inspect --format '{{ .State.Running }}' ${COMPOSE_PREFIX}_zookeeper_1) ] && \
+ [ $(docker inspect --format '{{ .State.Running }}' ${COMPOSE_PREFIX}_dmaap_1) ]
then
echo "DMaaP Service Running"
break
@@ -61,10 +63,10 @@
done
- DMAAP_MR_IP=$(docker inspect --format='{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' dockercompose_dmaap_1)
+ DMAAP_MR_IP=$(docker inspect --format='{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' ${COMPOSE_PREFIX}_dmaap_1)
IP=${DMAAP_MR_IP}
- KAFKA_IP=$(docker inspect --format='{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' dockercompose_kafka_1)
- ZOOKEEPER_IP=$(docker inspect --format='{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' dockercompose_zookeeper_1)
+ KAFKA_IP=$(docker inspect --format='{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' ${COMPOSE_PREFIX}_kafka_1)
+ ZOOKEEPER_IP=$(docker inspect --format='{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' ${COMPOSE_PREFIX}_zookeeper_1)
echo DMAAP_MR_IP=${DMAAP_MR_IP}
echo IP=${IP}
@@ -84,9 +86,9 @@
# Wait for initialization of Docker containers
for i in {1..50}; do
- if [ $(docker inspect --format '{{ .State.Running }}' dockercompose_dmaap_1) ] && \
- [ $(docker inspect --format '{{ .State.Running }}' dockercompose_zookeeper_1) ] && \
- [ $(docker inspect --format '{{ .State.Running }}' dockercompose_dmaap_1) ]
+ if [ $(docker inspect --format '{{ .State.Running }}' ${COMPOSE_PREFIX}_dmaap_1) ] && \
+ [ $(docker inspect --format '{{ .State.Running }}' ${COMPOSE_PREFIX}_zookeeper_1) ] && \
+ [ $(docker inspect --format '{{ .State.Running }}' ${COMPOSE_PREFIX}_dmaap_1) ]
then
echo "DMaaP Service Running"
break
diff --git a/test/csit/scripts/dmaap-message-router/dmaap-mr-teardown.sh b/test/csit/scripts/dmaap-message-router/dmaap-mr-teardown.sh
index f573857..ac6d798 100755
--- a/test/csit/scripts/dmaap-message-router/dmaap-mr-teardown.sh
+++ b/test/csit/scripts/dmaap-message-router/dmaap-mr-teardown.sh
@@ -18,7 +18,7 @@
#
function dmaap_mr_teardown() {
-kill-instance.sh dockercompose_dmaap_1
-kill-instance.sh dockercompose_kafka_1
-kill-instance.sh dockercompose_zookeeper_1
+kill-instance.sh docker-compose_dmaap_1
+kill-instance.sh docker-compose_kafka_1
+kill-instance.sh docker-compose_zookeeper_1
}
diff --git a/test/csit/tests/dmaap-buscontroller/ssl_suite/__init__.robot b/test/csit/tests/dmaap-buscontroller/ssl_suite/__init__.robot
new file mode 100644
index 0000000..41c7a00
--- /dev/null
+++ b/test/csit/tests/dmaap-buscontroller/ssl_suite/__init__.robot
@@ -0,0 +1,3 @@
+*** Settings ***
+Documentation dmaap-buscontroller - Suite 1
+
diff --git a/test/csit/tests/dmaap-buscontroller/ssl_suite/test1.robot b/test/csit/tests/dmaap-buscontroller/ssl_suite/test1.robot
new file mode 100644
index 0000000..999c6ba
--- /dev/null
+++ b/test/csit/tests/dmaap-buscontroller/ssl_suite/test1.robot
@@ -0,0 +1,77 @@
+*** Settings ***
+Library OperatingSystem
+Library RequestsLibrary
+Library HttpLibrary.HTTP
+Library Collections
+Library String
+
+*** Variables ***
+${MESSAGE} Hello, world!
+${DBC_URI} /webapi
+
+*** Test Cases ***
+String Equality Test
+ Should Be Equal ${MESSAGE} Hello, world!
+
+Dir Test
+ [Documentation] Check if /tmp exists
+ Log ${MESSAGE}
+ CheckDir /tmp
+
+Url Test
+ [Documentation] Check if www.onap.org can be reached
+ Create Session openo http://www.onap.org
+ CheckUrl openo / 200
+
+HTTPS Heartbeat Test
+ [Documentation] Check ${DBC_URI}/info SSL endpoint
+ Create Session heartbeat https://${DMAAPBC_IP}:8443
+ CheckUrl heartbeat ${DBC_URI}/info 204
+
+HTTPS Dmaap Init Test
+ [Documentation] Check ${DBC_URI}/dmaap SSL endpoint
+ Create Session heartbeat https://${DMAAPBC_IP}:8443
+ CheckStatus heartbeat ${DBC_URI}/dmaap "VALID"
+
+HTTPS Dmaap dcaeLocations Test
+ [Documentation] Check ${DBC_URI}/dcaeLocations SSL endpoint
+ Create Session heartbeat https://${DMAAPBC_IP}:8443
+ CheckStatus0 heartbeat ${DBC_URI}/dcaeLocations "VALID"
+
+HTTPS Dmaap mr_clusters Test
+ [Documentation] Check ${DBC_URI}/mr_clusters SSL endpoint
+ Create Session heartbeat https://${DMAAPBC_IP}:8443
+ CheckStatus0 heartbeat ${DBC_URI}/mr_clusters "VALID"
+
+
+*** Keywords ***
+CheckDir
+ [Arguments] ${path}
+ Directory Should Exist ${path}
+
+CheckUrl
+ [Arguments] ${session} ${path} ${expect}
+ ${resp}= Get Request ${session} ${path}
+ Should Be Equal As Integers ${resp.status_code} ${expect}
+
+CheckStatus
+ [Arguments] ${session} ${path} ${expect}
+ ${resp}= Get Request ${session} ${path}
+ log ${resp.content}
+ ${val}= Get Json value ${resp.content} /status
+ log ${val}
+ should be equal as strings ${val} ${expect}
+
+CheckStatus0
+ [Arguments] ${session} ${path} ${expect}
+ ${resp}= Get Request ${session} ${path}
+ log ${resp.json()}
+ log ${resp.content}
+# silliness to strip off the brackets returned for a List to get a Dict
+ ${t1}= Remove String ${resp.content} [
+ ${dict}= Remove String ${t1} ]
+ log ${dict}
+ ${val}= Get Json value ${dict} /status
+ log ${val}
+ should be equal as strings ${val} ${expect}
+