diff options
author | Dominic Lunanuova <dgl@research.att.com> | 2018-08-23 21:49:47 +0000 |
---|---|---|
committer | Dominic Lunanuova <dgl@research.att.com> | 2018-08-24 23:10:30 +0000 |
commit | bfb3ea4aed9d1727338f475fab5349f07723aca5 (patch) | |
tree | db65074394cc63e6e944c92b6c533adc7f4f9421 | |
parent | 2e310fe144e326f16c95e7ac5ebc9d41c78a7e48 (diff) |
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>
11 files changed, 194 insertions, 21 deletions
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 000000000..e40f62dea --- /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 000000000..1b041a425 --- /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 000000000..e106e7b66 --- /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 3b604fe99..bcd19b5ac 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 @@ else 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 f35b02259..3feebe07c 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 @@ if [ "$KEEP_DMAAP" != "Y" ] 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 96ac40f18..c7cf03ef4 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 @@ cat << EOF > $JSON { "version": "1", "topicNsRoot": "org.onap.dmaap", - "drProvUrl": "http://${2}:8080", + "drProvUrl": "http://${2}:${DRPORT}", "dmaapName": "onapCSIT", "bridgeAdminTopic": "MM_AGENT_PROV" @@ -18,7 +33,7 @@ cat << EOF > $JSON 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 @@ cat << EOF > $JSON 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 @@ cat << EOF > $JSON "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 58432e6a7..db865818e 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 c439a97ad..64f1720b6 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 @@ source ${SCRIPTS}/common_functions.sh # (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 @@ function dmaap_mr_launch() { # 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 @@ function dmaap_mr_launch() { 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 @@ function dmaap_mr_launch() { # 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 f57385707..ac6d798c9 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 000000000..41c7a0037 --- /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 000000000..999c6baf8 --- /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} + |