Merge "Add updated csar"
diff --git a/test/csit/plans/multicloud-vmware/functionality1/setup.sh b/test/csit/plans/multicloud-vmware/functionality1/setup.sh
new file mode 100755
index 0000000..d71d5c4
--- /dev/null
+++ b/test/csit/plans/multicloud-vmware/functionality1/setup.sh
@@ -0,0 +1,33 @@
+#!/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 multicloud-vio
+docker run -d --name multicloud-vio nexus3.onap.org:10001/onap/multicloud/vio
+VIO_IP=`get-instance-ip.sh multicloud-vio`
+for i in {1..50}; do
+    curl -sS ${VIO_IP}:9004 && break
+    echo sleep $i
+    sleep $i
+done
+
+echo SCRIPTS
+# Pass any variables required by Robot test suites in ROBOT_VARIABLES
+ROBOT_VARIABLES="-v VIO_IP:${VIO_IP} -v SCRIPTS:${SCRIPTS}"
diff --git a/test/csit/plans/multicloud-vmware/functionality1/teardown.sh b/test/csit/plans/multicloud-vmware/functionality1/teardown.sh
new file mode 100755
index 0000000..546e012
--- /dev/null
+++ b/test/csit/plans/multicloud-vmware/functionality1/teardown.sh
@@ -0,0 +1,19 @@
+#!/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 multicloud-vio
diff --git a/test/csit/plans/multicloud-vmware/functionality1/testplan.txt b/test/csit/plans/multicloud-vmware/functionality1/testplan.txt
new file mode 100644
index 0000000..dae4b2e
--- /dev/null
+++ b/test/csit/plans/multicloud-vmware/functionality1/testplan.txt
@@ -0,0 +1,7 @@
+# Test suites are relative paths under [integration.git]/test/csit/tests/.
+# Place the suites in run order.
+multicloud-vmware/provision/sanity_test_vio.robot
+multicloud-vmware/provision/sanity_test_tenant.robot
+multicloud-vmware/provision/sanity_test_image.robot
+multicloud-vmware/provision/sanity_test_neutron.robot
+
diff --git a/test/csit/tests/multicloud-vmware/nova/jsoninput/multicloud_create_server.json b/test/csit/tests/multicloud-vmware/nova/jsoninput/multicloud_create_server.json
new file mode 100644
index 0000000..ecaaa12
--- /dev/null
+++ b/test/csit/tests/multicloud-vmware/nova/jsoninput/multicloud_create_server.json
@@ -0,0 +1,16 @@
+{
+    "server":
+        {
+            "name": "server-csit-1", 
+            "boot":
+                {
+                    "type":2, 
+                    "imageId": "08edf57c-e65d-4778-957a-1524ff795c4b"
+                },
+            "flavorId": "1", 
+            "nicArray": 
+                [{
+                    "portId": "71847500-8edf-42f9-be69-78432ccadc6e"
+                }]
+        }
+}
\ No newline at end of file
diff --git a/test/csit/tests/multicloud-vmware/nova/sanity-flavor.robot b/test/csit/tests/multicloud-vmware/nova/sanity-flavor.robot
new file mode 100644
index 0000000..5adafb5
--- /dev/null
+++ b/test/csit/tests/multicloud-vmware/nova/sanity-flavor.robot
@@ -0,0 +1,62 @@
+*** settings ***
+Resource    ../../common.robot
+Library     Collections
+Library     RequestsLibrary
+Library     OperatingSystem
+Library     json
+Library     HttpLibrary.HTTP
+
+
+*** Variables ***
+@{return_ok_list}=   200  201  202
+${get_token_url}    /api/multicloud-vio/v0/vmware_fake/identity/v3/auth/tokens
+
+#json files
+${auth_info_json}       ${SCRIPTS}/../tests/multicloud-vmware/provision/jsoninput/auth_info.json
+
+#global vars
+${TOKEN}
+${TENANTID}
+${flavor1Id} 
+
+*** Test Cases ***
+
+GetAuthToken
+    [Documentation]    Sanity test -  Get Auth Token
+    ${json_value}=      json_from_file      ${auth_info_json}
+    ${json_string}=     string_from_json   ${json_value}
+    ${headers}    Create Dictionary    Content-Type=application/json    Accept=application/json
+    Create Session    web_session    http://${VIO_IP}:9004     headers=${headers}
+    ${resp}=  POST Request    web_session    ${get_token_url}  ${json_string}
+    ${responese_code}=     Convert To String      ${resp.status_code}
+    List Should Contain Value    ${return_ok_list}   ${responese_code}
+    ${response_json}    json.loads    ${resp.content}
+    ${TOKEN}=    Convert To String      ${response_json['token']['value']}
+    ${TENANTID}=    Convert To String   ${response_json['token']['project']['id']}
+    Set Global Variable   ${TOKEN}
+    Set Global Variable   ${TENANTID}
+
+
+ListFlavorsFuncTest
+    [Documentation]    get a list of flavors info rest test
+    ${headers}    Create Dictionary    Content-Type=application/json    Accept=application/json     X-Auth-Token=${TOKEN}
+    Create Session    web_session    http://${VIO_IP}:9004    headers=${headers}
+    ${resp}=    GET Request    web_session     api/multicloud-vio/v0/vmware_fake/nova/${TENANTID}/flavors
+    ${response_code}=     Convert To String      ${resp.status_code}
+    List Should Contain Value    ${return_ok_list}   ${response_code}
+    ${response_json}    json.loads    ${resp.content}
+    #Log To Console        ${response_json}
+    ${flavor1Id}=    Convert To String      ${response_json['flavors'][0]['id']}
+    Set Global Variable   ${flavor1Id}
+    #Log To Console        ${flavor1Id}
+
+GetFlavorFuncTest
+    [Documentation]    get the specific flavor info rest test
+    ${headers}    Create Dictionary    Content-Type=application/json    Accept=application/json     X-Auth-Token=${TOKEN}
+    Create Session    web_session    http://${VIO_IP}:9004    headers=${headers}
+    ${resp}=    GET Request    web_session     api/multicloud-vio/v0/vmware_fake/nova/${TENANTID}/flavors/${flavor1Id}
+    ${response_code}=     Convert To String      ${resp.status_code}
+    List Should Contain Value    ${return_ok_list}   ${response_code}
+    ${response_json}    json.loads    ${resp.content}
+    #Log To Console        ${response_json}
+
diff --git a/test/csit/tests/multicloud-vmware/nova/sanity-host.robot b/test/csit/tests/multicloud-vmware/nova/sanity-host.robot
new file mode 100644
index 0000000..444c68e
--- /dev/null
+++ b/test/csit/tests/multicloud-vmware/nova/sanity-host.robot
@@ -0,0 +1,83 @@
+*** settings ***
+Resource    ../../common.robot
+Library     Collections
+Library     RequestsLibrary
+Library     OperatingSystem
+Library     json
+Library     HttpLibrary.HTTP
+
+
+*** Variables ***
+@{return_ok_list}=   200  201  202
+${get_token_url}    /api/multicloud-vio/v0/vmware_fake/identity/v3/auth/tokens
+
+#json files
+${auth_info_json}       ${SCRIPTS}/../tests/multicloud-vmware/provision/jsoninput/auth_info.json
+
+#global vars
+${TOKEN}
+${TENANTID}
+${host1Id} 
+
+*** Test Cases ***
+
+GetAuthToken
+    [Documentation]    Sanity test -  Get Auth Token
+    ${json_value}=      json_from_file      ${auth_info_json}
+    ${json_string}=     string_from_json   ${json_value}
+    ${headers}    Create Dictionary    Content-Type=application/json    Accept=application/json
+    Create Session    web_session    http://${VIO_IP}:9004     headers=${headers}
+    ${resp}=  POST Request    web_session    ${get_token_url}  ${json_string}
+    ${responese_code}=     Convert To String      ${resp.status_code}
+    List Should Contain Value    ${return_ok_list}   ${responese_code}
+    ${response_json}    json.loads    ${resp.content}
+    ${TOKEN}=    Convert To String      ${response_json['token']['value']}
+    ${TENANTID}=    Convert To String   ${response_json['token']['project']['id']}
+    Set Global Variable   ${TOKEN}
+    Set Global Variable   ${TENANTID}
+
+TestListHosts
+    [Documentation]    Sanity Test - List Hosts
+    ${headers}    Create Dictionary    Content-Type=application/json    Accept=application/json  X-Auth-Token=${TOKEN}
+    Create Session    web_session    http://${VIO_IP}:9004    headers=${headers}
+    ${resp}=  Get Request    web_session    api/multicloud-vio/v0/vmware_fake/nova/${TENANTID}/os-hypervisors/detail
+    ${response_code}=     Convert To String      ${resp.status_code}
+    List Should Contain Value    ${return_ok_list}   ${response_code}
+    ${response_json}    json.loads    ${resp.content}
+    #Log To Console        ${response_json}
+    ${host1Id}=    Convert To String      ${response_json['hypervisors'][0]['service']['id']}
+    Set Global Variable   ${host1Id}
+
+TestGetHost
+    [Documentation]    Sanity Test - Get Host
+    ${headers}    Create Dictionary    Content-Type=application/json    Accept=application/json  X-Auth-Token=${TOKEN}
+    Create Session    web_session    http://${VIO_IP}:9004    headers=${headers}
+    ${resp}=  Get Request    web_session    api/multicloud-vio/v0/vmware_fake/nova/${TENANTID}/os-hypervisors/${host1Id}
+    ${response_code}=     Convert To String      ${resp.status_code}
+    List Should Contain Value    ${return_ok_list}   ${response_code}
+    ${response_json}    json.loads    ${resp.content}
+    #Log To Console        ${response_json}
+
+TestHostUptime
+    [Documentation]    Sanity Test - Host Uptime
+    ${headers}    Create Dictionary    Content-Type=application/json    Accept=application/json  X-Auth-Token=${TOKEN}
+    Create Session    web_session    http://${VIO_IP}:9004    headers=${headers}
+    ${resp}=  Get Request    web_session    api/multicloud-vio/v0/vmware_fake/nova/${TENANTID}/os-hypervisors/uptime
+    ${response_code}=     Convert To String      ${resp.status_code}
+    List Should Contain Value    ${return_ok_list}   ${response_code}
+    ${response_json}    json.loads    ${resp.content}
+    #Log To Console        ${response_json}
+
+
+TestHostAggregates
+    [Documentation]    Sanity Test - Host Aggregates
+    ${headers}    Create Dictionary    Content-Type=application/json    Accept=application/json  X-Auth-Token=${TOKEN}
+    Create Session    web_session    http://${VIO_IP}:9004    headers=${headers}
+    ${resp}=  Get Request    web_session    api/multicloud-vio/v0/vmware_fake/nova/${TENANTID}/os-aggregates
+    ${response_code}=     Convert To String      ${resp.status_code}
+    List Should Contain Value    ${return_ok_list}   ${response_code}
+    ${response_json}    json.loads    ${resp.content}
+    #Log To Console        ${response_json}
+
+
+
diff --git a/test/csit/tests/multicloud-vmware/nova/sanity-server.robot b/test/csit/tests/multicloud-vmware/nova/sanity-server.robot
new file mode 100755
index 0000000..7a092e6
--- /dev/null
+++ b/test/csit/tests/multicloud-vmware/nova/sanity-server.robot
@@ -0,0 +1,105 @@
+*** settings ***
+Resource    ../../common.robot
+Library     Collections
+Library     RequestsLibrary
+Library     OperatingSystem
+Library     json
+Library     HttpLibrary.HTTP
+
+
+*** Variables ***
+@{return_ok_list}=   200  201  202
+@{delete_ok_list}=   200  204
+${get_token_url}    /api/multicloud-vio/v0/vmware_fake/identity/v3/auth/tokens
+
+#json files
+${auth_info_json}       ${SCRIPTS}/../tests/multicloud-vmware/provision/jsoninput/auth_info.json
+${multicloud_create_server_json}    ${SCRIPTS}/../tests/multicloud-vmware/nova/jsoninput/multicloud_create_server.json
+
+#global vars
+${TOKEN}
+${TENANTID}
+${server1Id} 
+
+*** Test Cases ***
+
+GetAuthToken
+    [Documentation]    Sanity test -  Get Auth Token
+    ${json_value}=      json_from_file      ${auth_info_json}
+    ${json_string}=     string_from_json   ${json_value}
+    ${headers}    Create Dictionary    Content-Type=application/json    Accept=application/json
+    Create Session    web_session    http://${VIO_IP}:9004     headers=${headers}
+    ${resp}=  POST Request    web_session    ${get_token_url}  ${json_string}
+    ${responese_code}=     Convert To String      ${resp.status_code}
+    List Should Contain Value    ${return_ok_list}   ${responese_code}
+    ${response_json}    json.loads    ${resp.content}
+    ${TOKEN}=    Convert To String      ${response_json['token']['value']}
+    ${TENANTID}=    Convert To String   ${response_json['token']['project']['id']}
+    Set Global Variable   ${TOKEN}
+    Set Global Variable   ${TENANTID}
+
+CreateServerFuncTest
+    [Documentation]    Sanity Test - Create Server
+    ${json_value}=     json_from_file      ${multicloud_create_server_json}
+    ${json_string}=     string_from_json   ${json_value}
+    ${headers}    Create Dictionary    Content-Type=application/json    Accept=application/json  X-Auth-Token=${TOKEN}
+    Create Session    web_session    http://${VIO_IP}:9004    headers=${headers}
+    Set Request Body    ${json_string}
+    #Log To Console     ${json_string}
+    ${resp}=  Post Request    web_session    api/multicloud-vio/v0/vmware_fake/nova/${TENANTID}/servers    ${json_string}
+    ${response_code}=     Convert To String      ${resp.status_code}
+    List Should Contain Value    ${return_ok_list}   ${response_code}
+    ${response_json}    json.loads    ${resp.content}
+    #Log To Console        ${response_json}
+    ${server1Id}=    Convert To String      ${response_json['server']['id']}
+    Set Global Variable   ${server1Id}
+
+
+GetServersFuncTest
+    [Documentation]    Sanity Test - Get Servers
+    ${headers}    Create Dictionary    Content-Type=application/json    Accept=application/json  X-Auth-Token=${TOKEN}
+    Create Session    web_session    http://${VIO_IP}:9004    headers=${headers}
+    ${resp}=  Get Request    web_session    api/multicloud-vio/v0/vmware_fake/nova/${TENANTID}/servers
+    ${response_code}=     Convert To String      ${resp.status_code}
+    List Should Contain Value    ${return_ok_list}   ${response_code}
+    ${response_json}    json.loads    ${resp.content}
+    #Log To Console        ${response_json}
+    #Log To Console        ${server1Id}
+
+GetServerDetailFuncTest
+    [Documentation]    Sanity Test - Get Server Detail
+    ${headers}    Create Dictionary    Content-Type=application/json    Accept=application/json  X-Auth-Token=${TOKEN}
+    Create Session    web_session    http://${VIO_IP}:9004    headers=${headers}
+    ${resp}=  Get Request    web_session    api/multicloud-vio/v0/vmware_fake/nova/${TENANTID}/servers/detail
+    ${response_code}=     Convert To String      ${resp.status_code}
+    List Should Contain Value    ${return_ok_list}   ${response_code}
+    ${response_json}    json.loads    ${resp.content}
+    #Log To Console        ${response_json}
+
+GetServerFuncTest
+    [Documentation]    Sanity Test - Get Server
+    ${headers}    Create Dictionary    Content-Type=application/json    Accept=application/json  X-Auth-Token=${TOKEN}
+    Create Session    web_session    http://${VIO_IP}:9004    headers=${headers}
+    ${resp}=  Get Request    web_session    api/multicloud-vio/v0/vmware_fake/nova/${TENANTID}/servers/${server1Id}
+    ${response_code}=     Convert To String      ${resp.status_code}
+    List Should Contain Value    ${return_ok_list}   ${response_code}
+    ${response_json}    json.loads    ${resp.content}
+    #Log To Console        ${response_json}
+
+ServerActionFuncTest
+    [Documentation]    Sanity Test - Server Action
+    ${headers}    Create Dictionary    Content-Type=application/json    Accept=application/json  X-Auth-Token=${TOKEN}
+    Create Session    web_session    http://${VIO_IP}:9004    headers=${headers}
+    ${resp}=  Get Request    web_session    api/multicloud-vio/v0/vmware_fake/nova/${TENANTID}/servers/${server1Id}/action
+    ${response_code}=     Convert To String      ${resp.status_code}
+    List Should Contain Value    ${return_ok_list}   ${response_code}
+    ${response_json}    json.loads    ${resp.content}
+    #Log To Console        ${response_json}
+
+DeleteServerFuncTest
+    [Documentation]    Sanity Test - Delete Server
+    ${headers}    Create Dictionary    Content-Type=application/json    Accept=application/json  X-Auth-Token=${TOKEN}
+    Create Session    web_session    http://${VIO_IP}:9004    headers=${headers}
+    ${resp}=  Delete Request    web_session    api/multicloud-vio/v0/vmware_fake/nova/${TENANTID}/servers/${server1Id}
+    ${response_code}=     Convert To String      ${resp.status_code}
+    List Should Contain Value    ${delete_ok_list}   ${response_code}
diff --git a/test/csit/tests/multicloud-vmware/provision/jsoninput/auth_info.json b/test/csit/tests/multicloud-vmware/provision/jsoninput/auth_info.json
new file mode 100644
index 0000000..6d42f84
--- /dev/null
+++ b/test/csit/tests/multicloud-vmware/provision/jsoninput/auth_info.json
@@ -0,0 +1,10 @@
+{
+	"auth":
+	{
+		"scope": {"project": {"id": "a71c87345ad14533aa6496fca69d4840"}},
+		"identity":
+		{
+			"password": {"user": {"domain": {"name": "Default"}, "password": "vmware", "name": "admin"}}, "methods": ["password"]
+		}
+	}
+}
diff --git a/test/csit/tests/multicloud-vmware/provision/sanity_test_image.robot b/test/csit/tests/multicloud-vmware/provision/sanity_test_image.robot
new file mode 100644
index 0000000..0a6f2f5
--- /dev/null
+++ b/test/csit/tests/multicloud-vmware/provision/sanity_test_image.robot
@@ -0,0 +1,78 @@
+*** settings ***
+Resource    ../../common.robot
+Library     Collections
+Library     RequestsLibrary
+Library     OperatingSystem
+Library     json
+Library     HttpLibrary.HTTP
+
+
+*** Variables ***
+@{return_ok_list}=   200  201  202
+@{delete_ok_list}=  200 204
+${get_token_url}         /api/multicloud-vio/v0/vmware_fake/identity/v3/auth/tokens
+${get_image_url}         /api/multicloud-vio/v0/vmware_fake/glance/v2/images
+${get_image_schema_url}  /api/multicloud-vio/v0/vmware_fake/glance/v2/schemas/image
+
+
+#json files
+${auth_info_json}        ${SCRIPTS}/../tests/multicloud-vmware/provision/jsoninput/auth_info.json
+
+#global vars
+${TOKEN}
+${IMAGEID}
+
+*** Test Cases ***
+
+GetAuthToken
+    [Documentation]    Sanity test -  Get Auth Token
+    ${json_value}=      json_from_file      ${auth_info_json}
+    ${json_string}=     string_from_json   ${json_value}
+    ${headers}    Create Dictionary    Content-Type=application/json    Accept=application/json
+    Create Session    web_session    http://${VIO_IP}:9004     headers=${headers}
+    ${resp}=  POST Request    web_session    ${get_token_url}  ${json_string}
+    ${responese_code}=     Convert To String      ${resp.status_code}
+    List Should Contain Value    ${return_ok_list}   ${responese_code}
+    ${response_json}    json.loads    ${resp.content}
+    ${TOKEN}=    Convert To String      ${response_json['token']['value']}
+    ${TENANTID}=    Convert To String   ${response_json['token']['project']['id']}
+    Set Global Variable   ${TOKEN}
+
+
+
+
+
+TestCaseShoeImageSchema
+    [Documentation]    Sanity test - Show Image Schema
+    ${headers}    Create Dictionary    Content-Type=application/json    Accept=application/json  X-Auth-Token=${TOKEN}
+    Create Session    web_session    http://${VIO_IP}:9004    headers=${headers}
+    ${resp}=  Get Request    web_session    ${get_image_schema_url}
+    ${responese_code}=     Convert To String      ${resp.status_code}
+    List Should Contain Value    ${return_ok_list}   ${responese_code}
+
+
+
+
+TestCaseListImages
+    [Documentation]    Sanity test - List Images
+    ${headers}    Create Dictionary    Content-Type=application/json    Accept=application/json  X-Auth-Token=${TOKEN}
+    Create Session    web_session    http://${VIO_IP}:9004    headers=${headers}
+    ${resp}=  Get Request    web_session    ${get_image_url}
+    ${responese_code}=     Convert To String      ${resp.status_code}
+    List Should Contain Value    ${return_ok_list}   ${responese_code}
+    ${response_json}    json.loads    ${resp.content}
+    ${IMAGEID}=    Convert To String  ${response_json['images'][0]['id']}
+    Set Global Variable   ${IMAGEID}
+
+
+
+
+TestCaseShowImage
+    [Documentation]    Sanity test - Show Image
+    ${headers}    Create Dictionary    Content-Type=application/json    Accept=application/json  X-Auth-Token=${TOKEN}
+    Create Session    web_session    http://${VIO_IP}:9004    headers=${headers}
+    ${resp}=  Get Request    web_session    ${get_image_url}/${IMAGEID}
+    ${responese_code}=     Convert To String      ${resp.status_code}
+    List Should Contain Value    ${return_ok_list}   ${responese_code}
+    ${response_json}    json.loads    ${resp.content}
+    Should Be Equal     ${response_json['status']}    active
diff --git a/test/csit/tests/multicloud-vmware/provision/sanity_test_neutron.robot b/test/csit/tests/multicloud-vmware/provision/sanity_test_neutron.robot
new file mode 100644
index 0000000..d38b998
--- /dev/null
+++ b/test/csit/tests/multicloud-vmware/provision/sanity_test_neutron.robot
@@ -0,0 +1,62 @@
+*** settings ***
+Resource    ../../common.robot
+Library     Collections
+Library     RequestsLibrary
+Library     OperatingSystem
+Library     json
+Library     HttpLibrary.HTTP
+
+
+*** Variables ***
+@{return_ok_list}=   200  201  202
+@{delete_ok_list}=  200 204
+${get_token_url}    	/api/multicloud-vio/v0/vmware_fake/identity/v3/auth/tokens
+${get_networks_url} 	/api/multicloud-vio/v0/vmware_fake/neutron/networks
+
+#json files
+${auth_info_json}       ${SCRIPTS}/../tests/multicloud-vmware/provision/jsoninput/auth_info.json
+
+#global vars
+${TOKEN}
+${NETWORKID}
+
+*** Test Cases ***
+
+GetAuthToken
+    [Documentation]    Sanity test -  Get Auth Token
+    ${json_value}=      json_from_file      ${auth_info_json}
+    ${json_string}=     string_from_json   ${json_value}
+    ${headers}    Create Dictionary    Content-Type=application/json    Accept=application/json
+    Create Session    web_session    http://${VIO_IP}:9004    headers=${headers}
+    ${resp}=  POST Request    web_session    ${get_token_url}  ${json_string}
+    ${responese_code}=     Convert To String      ${resp.status_code}
+    List Should Contain Value    ${return_ok_list}   ${responese_code}
+    ${response_json}    json.loads    ${resp.content}
+    ${TOKEN}=    Convert To String      ${response_json['token']['value']}
+    ${TENANTID}=    Convert To String   ${response_json['token']['project']['id']}
+    Set Global Variable   ${TOKEN}
+
+
+TestCaseListNetworks
+    [Documentation]    Sanity test - List Networks
+    ${headers}    Create Dictionary    Content-Type=application/json    Accept=application/json  X-Auth-Token=${TOKEN}
+    Create Session    web_session    http://${VIO_IP}:9004    headers=${headers}
+    ${resp}=  Get Request    web_session   ${get_networks_url}
+    ${responese_code}=     Convert To String      ${resp.status_code}
+    List Should Contain Value    ${return_ok_list}   ${responese_code}
+    ${response_json}    json.loads    ${resp.content}
+    ${NETWORKID}=    Convert To String   ${response_json['networks'][0]['id']}
+    Set Global Variable   ${NETWORKID}
+
+
+
+
+TestCaseShowNetwork
+    [Documentation]    Sanity test - Show Network
+    ${headers}    Create Dictionary    Content-Type=application/json    Accept=application/json  X-Auth-Token=${TOKEN}
+    Create Session    web_session    http://${VIO_IP}:9004    headers=${headers}
+    ${resp}=  Get Request    web_session    ${get_networks_url}/${NETWORKID}
+    ${responese_code}=     Convert To String      ${resp.status_code}
+    List Should Contain Value    ${return_ok_list}   ${responese_code}
+    ${response_json}    json.loads    ${resp.content}
+    Should Be Equal     ${response_json['network']['status']}     ACTIVE
diff --git a/test/csit/tests/multicloud-vmware/provision/sanity_test_tenant.robot b/test/csit/tests/multicloud-vmware/provision/sanity_test_tenant.robot
new file mode 100644
index 0000000..86d569e
--- /dev/null
+++ b/test/csit/tests/multicloud-vmware/provision/sanity_test_tenant.robot
@@ -0,0 +1,59 @@
+*** settings ***
+Resource    ../../common.robot
+Library     Collections
+Library     RequestsLibrary
+Library     OperatingSystem
+Library     json
+Library     HttpLibrary.HTTP
+
+
+*** Variables ***
+@{return_ok_list}=   200  201  202
+@{delete_ok_list}=  200 204
+${get_token_url}    /api/multicloud-vio/v0/vmware_fake/identity/v3/auth/tokens
+${get_project_url}  /api/multicloud-vio/v0/vmware_fake/identity/projects
+
+#json files
+${auth_info_json}    ${SCRIPTS}/../tests/multicloud-vmware/provision/jsoninput/auth_info.json
+
+#global vars
+${TOKEN}
+${TENANTID}
+
+*** Test Cases ***
+
+GetAuthToken
+    [Documentation]    Sanity test -  Get Auth Token
+    ${json_value}=      json_from_file      ${auth_info_json}
+    ${json_string}=     string_from_json   ${json_value}
+    ${headers}    Create Dictionary    Content-Type=application/json    Accept=application/json
+    Create Session    web_session    http://${VIO_IP}:9004     headers=${headers}
+    ${resp}=  POST Request    web_session    ${get_token_url}  ${json_string}
+    ${responese_code}=     Convert To String      ${resp.status_code}
+    List Should Contain Value    ${return_ok_list}   ${responese_code}
+    ${response_json}    json.loads    ${resp.content}
+    ${TOKEN}=    Convert To String      ${response_json['token']['value']}
+    ${TENANTID}=    Convert To String   ${response_json['token']['project']['id']}
+    Set Global Variable   ${TOKEN}
+    Set Global Variable   ${TENANTID}
+
+
+TestCaseListTenants
+    [Documentation]    Sanity test - List Tenants
+    ${headers}    Create Dictionary    Content-Type=application/json    Accept=application/json  X-Auth-Token=${TOKEN}
+    Create Session    web_session    http://${VIO_IP}:9004    headers=${headers}
+    ${resp}=  Get Request    web_session    ${get_project_url}
+    ${responese_code}=     Convert To String      ${resp.status_code}
+    List Should Contain Value    ${return_ok_list}   ${responese_code}
+    ${response_json}    json.loads    ${resp.content}
+
+
+
+TestCaseShowTenants
+    [Documentation]    Sanity test - Show Tenant
+    ${headers}    Create Dictionary    Content-Type=application/json    Accept=application/json  X-Auth-Token=${TOKEN}
+    Create Session    web_session    http://${VIO_IP}:9004    headers=${headers}
+    ${resp}=  Get Request    web_session    ${get_project_url}/${TENANTID}
+    ${responese_code}=     Convert To String      ${resp.status_code}
+    List Should Contain Value    ${return_ok_list}   ${responese_code}
+    ${response_json}    json.loads    ${resp.content}
diff --git a/test/csit/tests/multicloud-vmware/provision/sanity_test_vio.robot b/test/csit/tests/multicloud-vmware/provision/sanity_test_vio.robot
new file mode 100644
index 0000000..d353f1d
--- /dev/null
+++ b/test/csit/tests/multicloud-vmware/provision/sanity_test_vio.robot
@@ -0,0 +1,22 @@
+*** settings ***
+Library     Collections
+Library     RequestsLibrary
+Library     OperatingSystem
+Library     json
+
+*** Variables ***
+@{return_ok_list}=   200  201  202
+${queryswagger_vio_url}    /api/multicloud-vio/v0/swagger.json 
+
+
+*** Test Cases ***
+VioSwaggerTest
+    [Documentation]    query swagger info rest test
+    ${headers}    Create Dictionary    Content-Type=application/json    Accept=application/json
+    Create Session    web_session    http://${VIO_IP}:9004    headers=${headers}
+    ${resp}=  Get Request    web_session    ${queryswagger_vio_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