diff options
author | Bin Sun <bins@vmware.com> | 2017-09-27 14:57:21 +0800 |
---|---|---|
committer | Bin Sun <bins@vmware.com> | 2017-09-27 15:00:08 +0800 |
commit | 102cee6271799872a6d56314e8dc44b3d591a330 (patch) | |
tree | 898ebb2ae29ef24fbede4d437804dda67c14022d | |
parent | 8bdde5264235b698c7fe3f7bf68660efea6c41bb (diff) |
Add CSIT for MultiCLoud-VIO(nova)
Change-Id: I5f168e157714b52fde2404757fd44b9dd432725e
Issue-Id: MULTICLOUD-103
Signed-off-by: Bin Sun <bins@vmware.com>
4 files changed, 266 insertions, 0 deletions
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} |