summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rwxr-xr-xtest/csit/plans/multicloud-vmware/functionality1/setup.sh33
-rwxr-xr-xtest/csit/plans/multicloud-vmware/functionality1/teardown.sh19
-rw-r--r--test/csit/plans/multicloud-vmware/functionality1/testplan.txt7
-rw-r--r--test/csit/tests/clamp/APIs/01__TCA.robot2
-rw-r--r--test/csit/tests/clamp/APIs/02__Holmes.robot15
-rw-r--r--test/csit/tests/clamp/UIs/03__Create_Holmes_template.robot75
-rw-r--r--test/csit/tests/clamp/UIs/04__Create_Holmes_model.robot50
-rw-r--r--test/csit/tests/multicloud-vmware/nova/jsoninput/multicloud_create_server.json16
-rw-r--r--test/csit/tests/multicloud-vmware/nova/sanity-flavor.robot62
-rw-r--r--test/csit/tests/multicloud-vmware/nova/sanity-host.robot83
-rwxr-xr-xtest/csit/tests/multicloud-vmware/nova/sanity-server.robot105
-rw-r--r--test/csit/tests/multicloud-vmware/provision/jsoninput/auth_info.json10
-rw-r--r--test/csit/tests/multicloud-vmware/provision/sanity_test_image.robot78
-rw-r--r--test/csit/tests/multicloud-vmware/provision/sanity_test_neutron.robot62
-rw-r--r--test/csit/tests/multicloud-vmware/provision/sanity_test_tenant.robot59
-rw-r--r--test/csit/tests/multicloud-vmware/provision/sanity_test_vio.robot22
-rw-r--r--test/csit/tests/vnfsdk-marketplace/provision/enterprise2DC.csarbin9710 -> 4600 bytes
17 files changed, 697 insertions, 1 deletions
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 000000000..d71d5c423
--- /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 000000000..546e01261
--- /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 000000000..dae4b2e69
--- /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/clamp/APIs/01__TCA.robot b/test/csit/tests/clamp/APIs/01__TCA.robot
index e4837a66a..c0b268bf1 100644
--- a/test/csit/tests/clamp/APIs/01__TCA.robot
+++ b/test/csit/tests/clamp/APIs/01__TCA.robot
@@ -52,7 +52,7 @@ Put Requests to add Close Loop TCA Model2
${resp}= Put Request clamp /restservices/clds/v1/clds/model/TCAModel2 data=${data} headers=${headers}
Should Be Equal As Strings ${resp.status_code} 200
-Get Requests verify Model1 and Model2 found
+Get Requests verify TCA Model1 and Model2 found
${auth}= Create List admin 5f4dcc3b5aa765d61d8327deb882cf99
Create Session clamp http://localhost:8080 auth=${auth}
${resp}= Get Request clamp /restservices/clds/v1/clds/model-names
diff --git a/test/csit/tests/clamp/APIs/02__Holmes.robot b/test/csit/tests/clamp/APIs/02__Holmes.robot
index 9087c4bcd..313b7a4d2 100644
--- a/test/csit/tests/clamp/APIs/02__Holmes.robot
+++ b/test/csit/tests/clamp/APIs/02__Holmes.robot
@@ -36,3 +36,18 @@ Get Requests verify Holmes template1 and template2 found
Should Contain Match ${resp} *HolmesTemplate2*
Should Not Contain Match ${resp} *HolmesTemplate99*
+Put Requests to add Close Loop Holmes Model1
+ ${auth}= Create List admin 5f4dcc3b5aa765d61d8327deb882cf99
+ Create Session clamp http://localhost:8080 auth=${auth}
+ ${data}= Get Binary File ${CURDIR}${/}data${/}createHolmesModel1.json
+ &{headers}= Create Dictionary Content-Type=application/json
+ ${resp}= Put Request clamp /restservices/clds/v1/clds/model/HolmesModel1 data=${data} headers=${headers}
+ Should Be Equal As Strings ${resp.status_code} 200
+
+Get Requests verify Holmes Model1 found
+ ${auth}= Create List admin 5f4dcc3b5aa765d61d8327deb882cf99
+ Create Session clamp http://localhost:8080 auth=${auth}
+ ${resp}= Get Request clamp /restservices/clds/v1/clds/model-names
+ Should Be Equal As Strings ${resp.status_code} 200
+ Should Contain Match ${resp} *HolmesModel1*
+ Should Not Contain Match ${resp} *HolmesModel99*
diff --git a/test/csit/tests/clamp/UIs/03__Create_Holmes_template.robot b/test/csit/tests/clamp/UIs/03__Create_Holmes_template.robot
new file mode 100644
index 000000000..4d038caeb
--- /dev/null
+++ b/test/csit/tests/clamp/UIs/03__Create_Holmes_template.robot
@@ -0,0 +1,75 @@
+*** Settings ***
+Library Collections
+Library RequestsLibrary
+Library OperatingSystem
+Library json
+Library Selenium2Library
+Library XvfbRobot
+
+
+*** Test Cases ***
+Get Requests health check ok
+ CreateSession clamp http://localhost:8080
+ ${resp}= Get Request clamp /restservices/clds/v1/clds/healthcheck
+ Should Be Equal As Strings ${resp.status_code} 200
+
+Open Browser
+# Next line is to be enabled for Headless tests only (jenkins?). To see the tests desable the line.
+ Start Virtual Display 1920 1080
+ Open Browser http://localhost:8080/designer/index.html browser=firefox
+ Set Selenium Speed .2 seconds
+ Set Window Size 1920 1080
+ ${title}= Get Title
+ Should Be Equal CLDS ${title}
+
+Good Login to Clamp UI and Verify logged in
+ Input Text locator=username text=admin
+ Input Text locator=password text=password
+ Press Key locator=password key=\\13
+ Wait Until Element Is Visible xpath=//*[@class="navbar-brand logo_name ng-binding"] timeout=60
+ Element Text Should Be xpath=//*[@class="navbar-brand logo_name ng-binding"] expected=Hello:admin
+
+Create Template from Menu
+ Wait Until Element Is Visible xpath=//*[@id="navbar"]/ul/li[1]/a timeout=60
+ Click Element xpath=//*[@id="navbar"]/ul/li[1]/a
+ Wait Until Element Is Visible locator=Create Template timeout=60
+ Click Element locator=Create Template
+ Input Text locator=modelName text=HolmesTemplate
+ Click Button locator=OK
+
+Drag and Drop Boxes for template
+ Wait Until Element Is Visible xpath=//*[@class="entry icon-collector-node"] timeout=60
+ Drag And Drop By Offset xpath=//*[@class="entry icon-collector-node"] 280 280
+ Drag And Drop By Offset xpath=//*[@class="entry icon-stringmatch-node"] 480 280
+ Drag And Drop By Offset xpath=//*[@class="entry icon-ves-collector-node"] 680 280
+ Drag And Drop By Offset xpath=//*[@class="entry icon-holmes-node"] 880 280
+ Drag And Drop By Offset xpath=//*[@class="entry icon-tca-node"] 1080 280
+ Drag And Drop By Offset xpath=//*[@class="entry icon-policy-node"] 1280 280
+ Drag And Drop By Offset xpath=//*[@class="entry icon-end-event-none"] 1480 280
+
+Drag and Drop Connectors for template
+ Click Element xpath=//*[starts-with(@data-element-id, "StartEvent_")]
+ Wait Until Element Is Enabled xpath=//*[@id="js-canvas"]/div/div/div[2]/div[8]/div/div/div[2]/div
+ Drag And Drop xpath=//*[@id="js-canvas"]/div/div/div[2]/div[8]/div/div/div[2]/div xpath=//*[starts-with(@data-element-id, "Collector_")]
+ Wait Until Element Is Enabled xpath=//*[@id="js-canvas"]/div/div/div[2]/div[1]/div/div/div[3]/div
+ Drag And Drop xpath=//*[@id="js-canvas"]/div/div/div[2]/div[1]/div/div/div[3]/div xpath=//*[starts-with(@data-element-id, "StringMatch_")]
+ Wait Until Element Is Enabled xpath=//*[@id="js-canvas"]/div/div/div[2]/div[2]/div/div/div[3]/div
+ Drag And Drop xpath=//*[@id="js-canvas"]/div/div/div[2]/div[2]/div/div/div[3]/div xpath=//*[starts-with(@data-element-id, "VesCollector_")]
+ Wait Until Element Is Enabled xpath=//*[@id="js-canvas"]/div/div/div[2]/div[3]/div/div/div[2]/div
+ Drag And Drop xpath=//*[@id="js-canvas"]/div/div/div[2]/div[3]/div/div/div[2]/div xpath=//*[starts-with(@data-element-id, "Holmes_")]
+ Wait Until Element Is Enabled xpath=//*[@id="js-canvas"]/div/div/div[2]/div[4]/div/div/div[3]/div
+ Drag And Drop xpath=//*[@id="js-canvas"]/div/div/div[2]/div[4]/div/div/div[3]/div xpath=//*[starts-with(@data-element-id, "TCA_")]
+ Wait Until Element Is Enabled xpath=//*[@id="js-canvas"]/div/div/div[2]/div[5]/div/div/div[3]/div
+ Drag And Drop xpath=//*[@id="js-canvas"]/div/div/div[2]/div[5]/div/div/div[3]/div xpath=//*[starts-with(@data-element-id, "Policy_")]
+ Wait Until Element Is Enabled xpath=//*[@id="js-canvas"]/div/div/div[2]/div[6]/div/div/div[3]/div
+ Drag And Drop xpath=//*[@id="js-canvas"]/div/div/div[2]/div[6]/div/div/div[3]/div xpath=//*[starts-with(@data-element-id, "EndEvent_")]
+
+Save Template from Menu
+ Click Element xpath=//*[@id="navbar"]/ul/li[1]/a
+ Wait Until Element Is Visible locator=Save Template timeout=60
+ Click Element locator=Save Template
+ Wait Until Element Is Visible xpath=//*[@id="alert_message_"] timeout=60
+ Element Text Should Be xpath=//*[@id="alert_message_"] expected=Action Successful:SAVE
+
+Close Browser
+ Close Browser \ No newline at end of file
diff --git a/test/csit/tests/clamp/UIs/04__Create_Holmes_model.robot b/test/csit/tests/clamp/UIs/04__Create_Holmes_model.robot
new file mode 100644
index 000000000..a531645a1
--- /dev/null
+++ b/test/csit/tests/clamp/UIs/04__Create_Holmes_model.robot
@@ -0,0 +1,50 @@
+*** Settings ***
+Library Collections
+Library RequestsLibrary
+Library OperatingSystem
+Library json
+Library Selenium2Library
+Library XvfbRobot
+
+
+*** Test Cases ***
+Get Requests health check ok
+ CreateSession clamp http://localhost:8080
+ ${resp}= Get Request clamp /restservices/clds/v1/clds/healthcheck
+ Should Be Equal As Strings ${resp.status_code} 200
+
+Open Browser
+# Next line is to be enabled for Headless tests only (jenkins?). To see the tests desable the line.
+ Start Virtual Display 1920 1080
+ Open Browser http://localhost:8080/designer/index.html browser=firefox
+ Set Selenium Speed .2 seconds
+ Set Window Size 1920 1080
+ ${title}= Get Title
+ Should Be Equal CLDS ${title}
+
+Good Login to Clamp UI and Verify logged in
+ Input Text locator=username text=admin
+ Input Text locator=password text=password
+ Press Key locator=password key=\\13
+ Wait Until Element Is Visible xpath=//*[@class="navbar-brand logo_name ng-binding"] timeout=60
+ Element Text Should Be xpath=//*[@class="navbar-brand logo_name ng-binding"] expected=Hello:admin
+
+Create Model from Menu
+ Wait Until Element Is Visible xpath=//*[@id="navbar"]/ul/li[2]/a timeout=60
+ Click Element xpath=//*[@id="navbar"]/ul/li[2]/a
+ Wait Until Element Is Visible locator=Create CL timeout=60
+ Click Element locator=Create CL
+ Input Text locator=modelName text=HolmesModel
+ Select From List By Label id=templateName HolmesTemplate
+ Click Button locator=Create
+
+Save Model from Menu
+ Wait Until Element Is Visible xpath=//*[@id="navbar"]/ul/li[2]/a timeout=60
+ Click Element xpath=//*[@id="navbar"]/ul/li[2]/a
+ Wait Until Element Is Visible locator=Save CL timeout=60
+ Click Element locator=Save CL
+ Wait Until Element Is Visible xpath=//*[@id="alert_message_"] timeout=60
+ Element Text Should Be xpath=//*[@id="alert_message_"] expected=Action Successful:SAVE
+
+Close Browser
+ Close Browser
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 000000000..ecaaa12d1
--- /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 000000000..5adafb5af
--- /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 000000000..444c68e1a
--- /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 000000000..7a092e6f0
--- /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 000000000..6d42f84d4
--- /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 000000000..0a6f2f5e8
--- /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 000000000..d38b9983b
--- /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 000000000..86d569ee9
--- /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 000000000..d353f1da0
--- /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
diff --git a/test/csit/tests/vnfsdk-marketplace/provision/enterprise2DC.csar b/test/csit/tests/vnfsdk-marketplace/provision/enterprise2DC.csar
index f27947955..f18d52d60 100644
--- a/test/csit/tests/vnfsdk-marketplace/provision/enterprise2DC.csar
+++ b/test/csit/tests/vnfsdk-marketplace/provision/enterprise2DC.csar
Binary files differ