From 9abb61ca2cea1907cab2cec312d6dca6e53a93cd Mon Sep 17 00:00:00 2001 From: Gary Wu Date: Thu, 27 Sep 2018 10:38:50 -0700 Subject: Move CSIT to integration/csit repo To facilite branching of CSIT tests, all CSIT test code and scripts are relocated to the integration/csit repo. Change-Id: I1e4c0eff44691f73f8098b3c52764107f6b8b8df Issue-ID: INT-671 Signed-off-by: Gary Wu --- .../provision/jsoninput/auth_info.json | 10 ++ .../provision/jsoninput/image_file.json | 7 ++ .../provision/sanity_test_image.robot | 110 +++++++++++++++++++++ .../provision/sanity_test_neutron.robot | 62 ++++++++++++ .../provision/sanity_test_tenant.robot | 59 +++++++++++ .../provision/sanity_test_vio.robot | 22 +++++ 6 files changed, 270 insertions(+) create mode 100644 tests/multicloud-vmware/provision/jsoninput/auth_info.json create mode 100644 tests/multicloud-vmware/provision/jsoninput/image_file.json create mode 100644 tests/multicloud-vmware/provision/sanity_test_image.robot create mode 100644 tests/multicloud-vmware/provision/sanity_test_neutron.robot create mode 100644 tests/multicloud-vmware/provision/sanity_test_tenant.robot create mode 100644 tests/multicloud-vmware/provision/sanity_test_vio.robot (limited to 'tests/multicloud-vmware/provision') diff --git a/tests/multicloud-vmware/provision/jsoninput/auth_info.json b/tests/multicloud-vmware/provision/jsoninput/auth_info.json new file mode 100644 index 00000000..6d42f84d --- /dev/null +++ b/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/tests/multicloud-vmware/provision/jsoninput/image_file.json b/tests/multicloud-vmware/provision/jsoninput/image_file.json new file mode 100644 index 00000000..1e3cac6f --- /dev/null +++ b/tests/multicloud-vmware/provision/jsoninput/image_file.json @@ -0,0 +1,7 @@ +{ + "name": "cirros-0.3.2-x86_64-disk", + "container_format": "bare", + "disk_format": "qcow2", + "visibility": "public", + "schema": "/v2/schemas/image" +} \ No newline at end of file diff --git a/tests/multicloud-vmware/provision/sanity_test_image.robot b/tests/multicloud-vmware/provision/sanity_test_image.robot new file mode 100644 index 00000000..e8e36dc1 --- /dev/null +++ b/tests/multicloud-vmware/provision/sanity_test_image.robot @@ -0,0 +1,110 @@ +*** 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 +${image_service} /api/multicloud-vio/v0/vmware_fake/glance/v2/image/file + + + +#json files +${auth_info_json} ${SCRIPTS}/../tests/multicloud-vmware/provision/jsoninput/auth_info.json +${image_file} ${SCRIPTS}/../tests/multicloud-vmware/provision/jsoninput/image_file.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} + + + + + +TestCaseShowImageSchema + [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 + + + + +TestCaseUploadImage + [Documentation] Sanity test - Upload Image + ${json_value}= json_from_file ${image_file} + ${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} + ${resp}= POST Request web_session ${image_service} ${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} + ${IMAGEID}= Convert To String ${response_json['id']} + Set Global Variable ${IMAGEID} + + + + +TestCaseDownloadImage + [Documentation] Sanity test - Download 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 ${image_service}/${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 \ No newline at end of file diff --git a/tests/multicloud-vmware/provision/sanity_test_neutron.robot b/tests/multicloud-vmware/provision/sanity_test_neutron.robot new file mode 100644 index 00000000..d38b9983 --- /dev/null +++ b/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/tests/multicloud-vmware/provision/sanity_test_tenant.robot b/tests/multicloud-vmware/provision/sanity_test_tenant.robot new file mode 100644 index 00000000..86d569ee --- /dev/null +++ b/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/tests/multicloud-vmware/provision/sanity_test_vio.robot b/tests/multicloud-vmware/provision/sanity_test_vio.robot new file mode 100644 index 00000000..d353f1da --- /dev/null +++ b/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 -- cgit 1.2.3-korg