Add CSIT test for MultiCloud

Add sanity test for MultiCloud broker

Change-Id: I635411b447158ec0e1dcf276abd09aad37d22e43
Signed-off-by: Ethan Lynn <ethanlynnl@vmware.com>
diff --git a/test/csit/plans/multivim/functionality1/setup.sh b/test/csit/plans/multivim/functionality1/setup.sh
new file mode 100755
index 0000000..df8113f
--- /dev/null
+++ b/test/csit/plans/multivim/functionality1/setup.sh
@@ -0,0 +1,34 @@
+#!/bin/bash
+#
+# Copyright 2016-2017 Huawei Technologies Co., Ltd.
+#
+# 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 multivim-broker
+run-instance.sh openoint/multivim-broker multivim-broker  " -i -t -e MSB_ADDR=${MSB_IP}:80"
+extsys_ip=`get-instance-ip.sh multivim-broker`
+sleep_msg="Waiting_for_multivim-broker"
+curl_path='http://'${MSB_IP}':80/openoapi/multivim/v1/swagger.json'
+wait_curl_driver CURL_COMMAND=$curl_path WAIT_MESSAGE='"$sleep_msg"' REPEAT_NUMBER=25 GREP_STRING="swagger"
+
+echo SCRIPTS
+# Pass any variables required by Robot test suites in ROBOT_VARIABLES
+ROBOT_VARIABLES="-v MSB_IP:${MSB_IP}  -v SCRIPTS:${SCRIPTS}"
+
+
+
diff --git a/test/csit/plans/multivim/functionality1/teardown.sh b/test/csit/plans/multivim/functionality1/teardown.sh
new file mode 100755
index 0000000..4ca6dbc
--- /dev/null
+++ b/test/csit/plans/multivim/functionality1/teardown.sh
@@ -0,0 +1,20 @@
+#!/bin/bash
+#
+# Copyright 2016-2017 Huawei Technologies Co., Ltd.
+#
+# 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 i-msb
+kill-instance.sh multivim-broker
diff --git a/test/csit/plans/multivim/functionality1/testplan.txt b/test/csit/plans/multivim/functionality1/testplan.txt
new file mode 100644
index 0000000..5319166
--- /dev/null
+++ b/test/csit/plans/multivim/functionality1/testplan.txt
@@ -0,0 +1,3 @@
+# Test suites are relative paths under [integration.git]/test/csit/tests/.
+# Place the suites in run order.
+multivim/provision/sanity_test_multivim.robot
diff --git a/test/csit/tests/multivim/provision/sanity_test_multivim.robot b/test/csit/tests/multivim/provision/sanity_test_multivim.robot
new file mode 100644
index 0000000..4d9cabf
--- /dev/null
+++ b/test/csit/tests/multivim/provision/sanity_test_multivim.robot
@@ -0,0 +1,26 @@
+*** settings ***
+Resource    ../../common.robot
+Library     Collections
+Library     RequestsLibrary
+Library     OperatingSystem
+Library     json
+Library     HttpLibrary.HTTP
+
+*** Variables ***
+@{return_ok_list}=   200  201  202
+${queryswagger_broker_url}    /openoapi/multivim/v1/swagger.json
+${queryswagger_kilo_url}    /openoapi/multivim-kilo/v1/swagger.json
+${queryswagger_newton_url}    /openoapi/multivim-newton/v1/swagger.json
+
+
+*** Test Cases ***
+BrokerSwaggerTest
+    [Documentation]    query swagger info rest test
+    ${headers}    Create Dictionary    Content-Type=application/json    Accept=application/json
+    Create Session    web_session    http://${MSB_IP}    headers=${headers}
+    ${resp}=  Get Request    web_session    ${queryswagger_broker_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