Add multicloud starlingx plugin support
Change-Id: Id933b9cf742aa1a4b77db4b1bbba81981e373b5f
Issue-ID: MULTICLOUD-428
Signed-off-by: Haibin Huang <haibin.huang@intel.com>
diff --git a/plans/multicloud-starlingx/functionality1/setup.sh b/plans/multicloud-starlingx/functionality1/setup.sh
new file mode 100644
index 0000000..63c435a
--- /dev/null
+++ b/plans/multicloud-starlingx/functionality1/setup.sh
@@ -0,0 +1,34 @@
+#!/bin/bash
+#
+# Copyright (c) 2019 Intel Corporation.tems, Inc.
+#
+# 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.
+
+#
+# Place the scripts in run order:
+# Start all process required for executing test case
+
+source ${SCRIPTS}/common_functions.sh
+
+# start multicloud-starlingx
+docker run -d --name multicloud-starlingx nexus3.onap.org:10001/onap/multicloud/openstack-starlingx
+SERVICE_IP=`get-instance-ip.sh multicloud-starlingx`
+SERVICE_PORT=9009
+
+for i in {1..50}; do
+ curl -sS ${SERVICE_IP}:${SERVICE_PORT} && break
+ echo sleep $i
+ sleep $i
+done
+
+echo SCRIPTS
+# Pass any variables required by Robot test suites in ROBOT_VARIABLES
+ROBOT_VARIABLES+="-v SERVICE_IP:${SERVICE_IP} "
+ROBOT_VARIABLES+="-v SERVICE_PORT:${SERVICE_PORT} "
diff --git a/plans/multicloud-starlingx/functionality1/teardown.sh b/plans/multicloud-starlingx/functionality1/teardown.sh
new file mode 100644
index 0000000..45e7e6d
--- /dev/null
+++ b/plans/multicloud-starlingx/functionality1/teardown.sh
@@ -0,0 +1,15 @@
+#!/bin/bash
+#
+# Copyright (c) 2019 Intel 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.
+
+# This script is sourced by run-csit.sh after Robot test completion.
+kill-instance.sh multicloud-starlingx
diff --git a/plans/multicloud-starlingx/functionality1/testplan.txt b/plans/multicloud-starlingx/functionality1/testplan.txt
new file mode 100644
index 0000000..07d2c5b
--- /dev/null
+++ b/plans/multicloud-starlingx/functionality1/testplan.txt
@@ -0,0 +1,3 @@
+# Test suites are relative paths under [integration/csit.git]/tests/.
+# Place the suites in run order.
+multicloud-starlingx/provision/sanity_test_multicloud.robot
diff --git a/tests/multicloud-starlingx/provision/sanity_test_multicloud.robot b/tests/multicloud-starlingx/provision/sanity_test_multicloud.robot
new file mode 100644
index 0000000..ba70776
--- /dev/null
+++ b/tests/multicloud-starlingx/provision/sanity_test_multicloud.robot
@@ -0,0 +1,22 @@
+*** settings ***
+Library Collections
+Library RequestsLibrary
+Library OperatingSystem
+Library json
+
+*** Variables ***
+@{return_ok_list}= 200 201 202
+${queryswagger_starlingx_url} /api/multicloud-starlingx/v0/swagger.json
+
+
+*** Test Cases ***
+TitaniumCloudSwaggerTest
+ [Documentation] query swagger info rest test
+ ${headers} Create Dictionary Content-Type=application/json Accept=application/json
+ Create Session web_session http://${SERVICE_IP}:${SERVICE_PORT} headers=${headers}
+ ${resp}= Get Request web_session ${queryswagger_starlingx_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