From 749d5fcaa4fbae15e7e7dde922325f755f54397e Mon Sep 17 00:00:00 2001 From: HuabingZhao Date: Fri, 8 Sep 2017 10:23:44 +0800 Subject: Add msb integration test script Add test script for rest service discovery and access Issue-Id: MSB-61 Change-Id: I038769463004a2b4688efd7297b7d45d2b8be627 Signed-off-by: HuabingZhao --- test/csit/plans/msb/rest-service/setup.sh | 55 ++++++++++++++++++++++ test/csit/plans/msb/rest-service/teardown.sh | 21 +++++++++ test/csit/plans/msb/rest-service/testplan.txt | 4 ++ .../msb/rest-service-api-gateway/__init__.robot | 2 + .../tests/msb/rest-service-api-gateway/test1.robot | 9 ++++ .../msb/rest-service-discovery/__init__.robot | 2 + .../tests/msb/rest-service-discovery/test1.robot | 14 ++++++ 7 files changed, 107 insertions(+) create mode 100644 test/csit/plans/msb/rest-service/setup.sh create mode 100644 test/csit/plans/msb/rest-service/teardown.sh create mode 100644 test/csit/plans/msb/rest-service/testplan.txt create mode 100644 test/csit/tests/msb/rest-service-api-gateway/__init__.robot create mode 100644 test/csit/tests/msb/rest-service-api-gateway/test1.robot create mode 100644 test/csit/tests/msb/rest-service-discovery/__init__.robot create mode 100644 test/csit/tests/msb/rest-service-discovery/test1.robot (limited to 'test/csit') diff --git a/test/csit/plans/msb/rest-service/setup.sh b/test/csit/plans/msb/rest-service/setup.sh new file mode 100644 index 000000000..18b17ff8f --- /dev/null +++ b/test/csit/plans/msb/rest-service/setup.sh @@ -0,0 +1,55 @@ +#!/bin/bash +# +# Copyright 2017 ZTE, Inc. and others. +# +# 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. +# + +source ${SCRIPTS}/common_functions.sh + +#start msb +sudo docker run -d -p 8500:8500 --name msb_consul consul +MSB_CONSUL_IP=`get-instance-ip.sh msb_consul` +echo MSB_CONSUL_IP=${MSB_CONSUL_IP} + +sudo docker run -d -p 10081:10081 -e CONSUL_IP=$MSB_CONSUL_IP --name msb_discovery nexus3.onap.org:10001/onap/msb/msb_discovery +MSB_DISCOVERY_IP=`get-instance-ip.sh msb_discovery` +echo DISCOVERY_IP=${MSB_DISCOVERY_IP} + +sudo docker run -d -p 80:80 -e CONSUL_IP=$MSB_CONSUL_IP -e SDCLIENT_IP=$MSB_DISCOVERY_IP -e "ROUTE_LABELS=visualRange:1" --name msb_internal_apigateway nexus3.onap.org:10001/onap/msb/msb_apigateway +MSB_IAG_IP=`get-instance-ip.sh msb_internal_apigateway` +echo MSB_IAG_IP=${MSB_IAG_IP} + +# Start rest example service +sudo docker run -d -p 9090:9090 --name i-rest-example zhaohuabing/rest-example +REST_EXAMPLE_IP=`get-instance-ip.sh i-rest-example` +echo REST_EXAMPLE_IP=${REST_EXAMPLE_IP} + + +# Wait for initialization(8500 Consul, 10081 Service Registration & Discovery, 80 api gateway) +for i in {1..10}; do + curl -sS -m 1 ${MSB_CONSUL_IP}:8500 && curl -sS -m 1 ${MSB_DISCOVERY_IP}:10081 && curl -sS -m 1 ${MSB_IAG_IP}:80 && break + echo sleep $i + sleep $i +done + +#Need some time so service info can be synced from discovery to api gateway +sleep 60 + +curl -X POST \ + -H "Content-Type: application/json" \ + -d '{"serviceName": "test", "version": "v1", "url": "/","protocol": "REST", "lb_policy":"round-robin","nodes": [ {"ip": "'${REST_EXAMPLE_IP}'","port": "9090"}]}' \ + "http://${MSB_DISCOVERY_IP}:10081/api/microservices/v1/services" + +# Pass any variables required by Robot suites in ROBOT_VARIABLES +ROBOT_VARIABLES="-v MSB_IAG_IP:${MSB_IAG_IP} -v MSB_DISCOVERY_IP:${MSB_DISCOVERY_IP} -v REST_EXAMPLE_IP:${REST_EXAMPLE_IP}" \ No newline at end of file diff --git a/test/csit/plans/msb/rest-service/teardown.sh b/test/csit/plans/msb/rest-service/teardown.sh new file mode 100644 index 000000000..d34fedbf5 --- /dev/null +++ b/test/csit/plans/msb/rest-service/teardown.sh @@ -0,0 +1,21 @@ +#!/bin/bash +# +# Copyright 2017 ZTE, Inc. and others. +# +# 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. +# + +#kill-instance.sh msb_consul +#kill-instance.sh msb_discovery +#kill-instance.sh msb_internal_apigateway +#kill-instance.sh i-rest-example diff --git a/test/csit/plans/msb/rest-service/testplan.txt b/test/csit/plans/msb/rest-service/testplan.txt new file mode 100644 index 000000000..54bb307bf --- /dev/null +++ b/test/csit/plans/msb/rest-service/testplan.txt @@ -0,0 +1,4 @@ +# Test suites are relative paths under [integration.git]/test/csit/tests/. +# Place the suites in run order. +msb/rest-service-discovery +msb/rest-service-api-gateway \ No newline at end of file diff --git a/test/csit/tests/msb/rest-service-api-gateway/__init__.robot b/test/csit/tests/msb/rest-service-api-gateway/__init__.robot new file mode 100644 index 000000000..efd2221f2 --- /dev/null +++ b/test/csit/tests/msb/rest-service-api-gateway/__init__.robot @@ -0,0 +1,2 @@ +*** Settings *** +Documentation Microservices Service Bus - Messag Broker diff --git a/test/csit/tests/msb/rest-service-api-gateway/test1.robot b/test/csit/tests/msb/rest-service-api-gateway/test1.robot new file mode 100644 index 000000000..8a15bf2be --- /dev/null +++ b/test/csit/tests/msb/rest-service-api-gateway/test1.robot @@ -0,0 +1,9 @@ +*** Settings *** +Library Collections +Library requests + +*** Test Cases *** +REST service Test1 + [Documentation] Check if test rest service can be accessed via aip gateway + ${result} = get http://${MSB_IAG_IP}/api/test/v1/people + Should Be Equal ${result.status_code} ${200} diff --git a/test/csit/tests/msb/rest-service-discovery/__init__.robot b/test/csit/tests/msb/rest-service-discovery/__init__.robot new file mode 100644 index 000000000..efd2221f2 --- /dev/null +++ b/test/csit/tests/msb/rest-service-discovery/__init__.robot @@ -0,0 +1,2 @@ +*** Settings *** +Documentation Microservices Service Bus - Messag Broker diff --git a/test/csit/tests/msb/rest-service-discovery/test1.robot b/test/csit/tests/msb/rest-service-discovery/test1.robot new file mode 100644 index 000000000..bb48d3fdc --- /dev/null +++ b/test/csit/tests/msb/rest-service-discovery/test1.robot @@ -0,0 +1,14 @@ +*** Settings *** +Library Collections +Library requests + +*** Test Cases *** +Messag Broker Test + [Documentation] Check if the test service enpoint can be get from MSB + ${result} = get http://${MSB_DISCOVERY_IP}:10081/api/microservices/v1/services/test/version/v1 + Should Be Equal ${result.status_code} ${200} + ${json} = Set Variable ${result.json()} + ${serviceName} = Get From Dictionary ${json} serviceName + ${protocol} = Get From Dictionary ${json} protocol + Should Be Equal ${serviceName} test + Should Be Equal ${protocol} REST \ No newline at end of file -- cgit 1.2.3-korg