diff options
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 Binary files differindex f27947955..f18d52d60 100644 --- a/test/csit/tests/vnfsdk-marketplace/provision/enterprise2DC.csar +++ b/test/csit/tests/vnfsdk-marketplace/provision/enterprise2DC.csar |