aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorfujinhua <fu.jinhua@zte.com.cn>2019-04-04 15:17:31 +0800
committerfujinhua <fu.jinhua@zte.com.cn>2019-04-04 15:17:56 +0800
commitfafc92246143082b662e9dc401d9116076425f82 (patch)
tree76f8ceb9badadd83c687bb8bbc88e95e4a790b05
parent8ba19f301c61074ebfa34022a60cc5a3d0b2294b (diff)
Add csit for vnfmgr
Change-Id: I194261874da771dc6b207618ed6af34efbde945e Issue-ID: INT-1015 Signed-off-by: fujinhua <fu.jinhua@zte.com.cn>
-rwxr-xr-xplans/vfc-gvnfm-vnfmgr/sanity-check/setup.sh67
-rwxr-xr-xplans/vfc-gvnfm-vnfmgr/sanity-check/teardown.sh23
-rw-r--r--plans/vfc-gvnfm-vnfmgr/sanity-check/testplan.txt3
-rw-r--r--tests/vfc/gvnfm-vnfmgr/test.robot33
4 files changed, 126 insertions, 0 deletions
diff --git a/plans/vfc-gvnfm-vnfmgr/sanity-check/setup.sh b/plans/vfc-gvnfm-vnfmgr/sanity-check/setup.sh
new file mode 100755
index 00000000..0c4efcc1
--- /dev/null
+++ b/plans/vfc-gvnfm-vnfmgr/sanity-check/setup.sh
@@ -0,0 +1,67 @@
+#!/bin/bash
+#
+# Copyright 2019 ZTE Corporation.
+#
+# 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.
+#
+# Place the scripts in run order:
+# Start all process required for executing test case
+
+source ${SCRIPTS}/common_functions.sh
+
+
+#start msb
+docker run -d -p 8500:8500 --name msb_consul consul:0.9.3
+MSB_CONSUL_IP=`get-instance-ip.sh msb_consul`
+echo MSB_CONSUL_IP=${MSB_CONSUL_IP}
+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 MSB_DISCOVERY_IP=${MSB_DISCOVERY_IP}
+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}
+
+docker run -d -p 3306:3306 --name vfc-db nexus3.onap.org:10001/onap/vfc/db
+VFC_DB_IP=`get-instance-ip.sh vfc-db`
+echo VFC_DB_IP=${VFC_DB_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
+
+# Wait for initialization(3306 DB)
+for i in {1..3}; do
+ curl -sS -m 1 ${VFC_DB_IP}:3306 && break
+ echo sleep $i
+ sleep $i
+done
+
+# wait for container initalization
+echo sleep 60
+sleep 60
+# start vfc-vnfres
+docker run -d --name vfc-vnfmgr -e MSB_ADDR=${MSB_IAG_IP}:80 -e MYSQL_ADDR=${VFC_DB_IP}:3306 nexus3.onap.org:10001/onap/vfc/vnfmgr
+VNFMGR_IP=`get-instance-ip.sh vfc-vnfmgr`
+
+# Wait for initialization
+for i in {1..10}; do
+ curl -sS ${VNFMGR_IP}:8803 && break
+ echo sleep $i
+ sleep $i
+done
+
+# Pass any variables required by Robot test suites in ROBOT_VARIABLES
+ROBOT_VARIABLES="-v MSB_IAG_IP:${MSB_IAG_IP} -v VNFMGR_IP:${VNFMGR_IP} -v SCRIPTS:${SCRIPTS}"
diff --git a/plans/vfc-gvnfm-vnfmgr/sanity-check/teardown.sh b/plans/vfc-gvnfm-vnfmgr/sanity-check/teardown.sh
new file mode 100755
index 00000000..09db55b5
--- /dev/null
+++ b/plans/vfc-gvnfm-vnfmgr/sanity-check/teardown.sh
@@ -0,0 +1,23 @@
+#!/bin/bash
+#
+# Copyright 2017 ZTE Corporation.
+#
+# 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.
+#
+
+# This script is sourced by run-csit.sh after Robot test completion.
+kill-instance.sh msb_internal_apigateway
+kill-instance.sh msb_discovery
+kill-instance.sh msb_consul
+kill-instance.sh vfc-db
+kill-instance.sh vfc-vnfres
diff --git a/plans/vfc-gvnfm-vnfmgr/sanity-check/testplan.txt b/plans/vfc-gvnfm-vnfmgr/sanity-check/testplan.txt
new file mode 100644
index 00000000..ac51e674
--- /dev/null
+++ b/plans/vfc-gvnfm-vnfmgr/sanity-check/testplan.txt
@@ -0,0 +1,3 @@
+# Test suites are relative paths under [integration/csit.git]/tests/.
+# Place the suites in run order.
+vfc/gvnfm-vnfres/test.robot
diff --git a/tests/vfc/gvnfm-vnfmgr/test.robot b/tests/vfc/gvnfm-vnfmgr/test.robot
new file mode 100644
index 00000000..773d83a1
--- /dev/null
+++ b/tests/vfc/gvnfm-vnfmgr/test.robot
@@ -0,0 +1,33 @@
+*** settings ***
+Library Collections
+Library RequestsLibrary
+Library OperatingSystem
+Library json
+
+*** Variables ***
+@{return_ok_list}= 200 201 202
+${queryswagger_url} /api/vnfmgr/v1/swagger.json
+${healthcheck_url} /api/vnfmgr/v1/health_check
+
+*** Test Cases ***
+VnfMgrSwaggerTest
+ [Documentation] query vnfmgr swagger info rest test
+ ${headers} Create Dictionary Content-Type=application/json Accept=application/json
+ Create Session web_session http://${VNFMGR_IP}:8802 headers=${headers}
+ ${resp}= Get Request web_session ${queryswagger_url}
+ ${responese_code}= Convert To String ${resp.status_code}
+ List Should Contain Value ${return_ok_list} ${responese_code}
+ ${response_json} json.loads ${resp.content}
+ ${swagger_version}= Convert To String ${response_json['swagger']}
+ Should Be Equal ${swagger_version} 2.0
+
+VnfMgrHealthCheckTest
+ [Documentation] check health for vnfmgr by MSB
+ ${headers} Create Dictionary Content-Type=application/json Accept=application/json
+ Create Session web_session http://${VNFMGR_IP}:8803 headers=${headers}
+ ${resp}= Get Request web_session ${healthcheck_url}
+ ${responese_code}= Convert To String ${resp.status_code}
+ List Should Contain Value ${return_ok_list} ${responese_code}
+ ${response_json} json.loads ${resp.content}
+ ${health_status}= Convert To String ${response_json['status']}
+ Should Be Equal ${health_status} active