aviator 0.0.1 → 0.0.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/.coveralls.yml +1 -0
- data/.gitignore +6 -1
- data/.ruby-gemset +1 -0
- data/.ruby-version +1 -0
- data/.travis.yml +12 -0
- data/Gemfile +13 -0
- data/Guardfile +6 -0
- data/LICENSE.txt +1 -1
- data/README.md +151 -2
- data/Rakefile +8 -0
- data/aviator.gemspec +14 -1
- data/bin/aviator +110 -0
- data/lib/aviator/core.rb +9 -0
- data/lib/aviator/core/request.rb +229 -0
- data/lib/aviator/core/response.rb +33 -0
- data/lib/aviator/core/service.rb +203 -0
- data/lib/aviator/core/session.rb +187 -0
- data/lib/aviator/openstack/compute/v2/public/list_images.rb +49 -0
- data/lib/aviator/openstack/identity/v2/admin/create_tenant.rb +42 -0
- data/lib/aviator/openstack/identity/v2/admin/list_tenants.rb +43 -0
- data/lib/aviator/openstack/identity/v2/public/create_token.rb +61 -0
- data/lib/aviator/openstack/identity/v2/public/list_tenants.rb +44 -0
- data/lib/aviator/version.rb +1 -1
- data/test/aviator/core/request_test.rb +342 -0
- data/test/aviator/core/service_test.rb +158 -0
- data/test/aviator/core/session_test.rb +201 -0
- data/test/aviator/openstack/compute/v2/public/list_images_test.rb +179 -0
- data/test/aviator/openstack/identity/v2/admin/create_tenant_test.rb +151 -0
- data/test/aviator/openstack/identity/v2/public/create_token_test.rb +159 -0
- data/test/cassettes/core/service/i_default_session_data_/sets_the_service_s_default_session_data.yml +63 -0
- data/test/cassettes/core/service/i_request/accepts_an_endpoint_type_option_for_selecting_a_specific_request.yml +140 -0
- data/test/cassettes/core/service/i_request/can_find_the_correct_request_based_on_bootstrapped_session_data.yml +63 -0
- data/test/cassettes/core/service/i_request/can_find_the_correct_request_based_on_non-bootstrapped_session_data.yml +97 -0
- data/test/cassettes/core/service/i_request/can_find_the_correct_request_if_api_version_is_not_defined_but_can_be_inferred_from_host_uri.yml +63 -0
- data/test/cassettes/core/service/i_request/uses_the_default_session_data_if_session_data_is_not_provided.yml +97 -0
- data/test/cassettes/core/session/c_load/creates_a_new_instance_from_the_given_session_dump.yml +63 -0
- data/test/cassettes/core/session/c_load/uses_the_loaded_auth_info_for_its_services.yml +63 -0
- data/test/cassettes/core/session/c_new/directs_log_entries_to_the_given_log_file.yml +63 -0
- data/test/cassettes/core/session/i_authenticate/authenticates_against_the_auth_service_indicated_in_the_config_file.yml +63 -0
- data/test/cassettes/core/session/i_authenticate/authenticates_against_the_auth_service_using_the_credentials_in_the_given_block.yml +38 -0
- data/test/cassettes/core/session/i_authenticate/raises_an_AuthenticationError_when_authentication_fails.yml +35 -0
- data/test/cassettes/core/session/i_authenticate/updates_the_session_data_of_its_service_objects.yml +123 -0
- data/test/cassettes/core/session/i_dump/serializes_the_session_data_for_caching.yml +63 -0
- data/test/cassettes/core/session/i_validate/returns_false_if_session_is_no_longer_valid.yml +97 -0
- data/test/cassettes/core/session/i_validate/returns_true_if_session_is_still_valid.yml +98 -0
- data/test/cassettes/core/session/i_xxx_service/returns_an_instance_of_the_indicated_service.yml +63 -0
- data/test/cassettes/openstack/compute/v2/public/list_images/leads_to_a_valid_response_when_no_parameters_are_provided.yml +108 -0
- data/test/cassettes/openstack/compute/v2/public/list_images/leads_to_a_valid_response_when_parameters_are_invalid.yml +96 -0
- data/test/cassettes/openstack/compute/v2/public/list_images/leads_to_a_valid_response_when_parameters_are_valid.yml +103 -0
- data/test/cassettes/openstack/compute/v2/public/list_images/returns_the_correct_value_for_body.yml +63 -0
- data/test/cassettes/openstack/compute/v2/public/list_images/returns_the_correct_value_for_body_.yml +63 -0
- data/test/cassettes/openstack/compute/v2/public/list_images/returns_the_correct_value_for_headers.yml +63 -0
- data/test/cassettes/openstack/compute/v2/public/list_images/returns_the_correct_value_for_headers_.yml +63 -0
- data/test/cassettes/openstack/compute/v2/public/list_images/returns_the_correct_value_for_url.yml +63 -0
- data/test/cassettes/openstack/compute/v2/public/list_images/returns_the_correct_value_for_url_.yml +63 -0
- data/test/cassettes/openstack/identity/v2/admin/create_tenant/leads_to_a_valid_response_when_params_are_invalid.yml +97 -0
- data/test/cassettes/openstack/identity/v2/admin/create_tenant/leads_to_a_valid_response_when_params_are_valid.yml +97 -0
- data/test/cassettes/openstack/identity/v2/admin/create_tenant/leads_to_a_valid_response_when_provided_with_invalid_params.yml +97 -0
- data/test/cassettes/openstack/identity/v2/public/create_token/leads_to_a_valid_response_when_parameters_are_invalid.yml +35 -0
- data/test/cassettes/openstack/identity/v2/public/create_token/leads_to_a_valid_response_when_parameters_are_valid.yml +38 -0
- data/test/cassettes/openstack/identity/v2/public/create_token/leads_to_a_valid_response_when_provided_with_a_token.yml +98 -0
- data/test/environment.yml.example +22 -0
- data/test/environment.yml.travis-ci +24 -0
- data/test/support/openstack_request_test_helper.rb +57 -0
- data/test/support/test_base_class.rb +39 -0
- data/test/support/test_environment.rb +37 -0
- data/test/support/test_reporter.rb +45 -0
- data/test/support/vcr_setup.rb +41 -0
- data/test/test_helper.rb +35 -0
- data/tmp/.gitignore +0 -0
- metadata +310 -8
- data/lib/aviator.rb +0 -5
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
---
|
|
2
|
+
http_interactions:
|
|
3
|
+
- request:
|
|
4
|
+
method: post
|
|
5
|
+
uri: <HOST_URI>:5000/v2.0/tokens
|
|
6
|
+
body:
|
|
7
|
+
encoding: UTF-8
|
|
8
|
+
string: ! '{"auth":{"passwordCredentials":{"username":"admin","password":"<PASSWORD>"},"tenantName":"admin"}}'
|
|
9
|
+
headers:
|
|
10
|
+
Content-Type:
|
|
11
|
+
- application/json
|
|
12
|
+
User-Agent:
|
|
13
|
+
- Faraday v0.8.8
|
|
14
|
+
response:
|
|
15
|
+
status:
|
|
16
|
+
code: 200
|
|
17
|
+
message:
|
|
18
|
+
headers:
|
|
19
|
+
vary:
|
|
20
|
+
- X-Auth-Token
|
|
21
|
+
content-type:
|
|
22
|
+
- application/json
|
|
23
|
+
content-length:
|
|
24
|
+
- '2648'
|
|
25
|
+
date:
|
|
26
|
+
- Tue, 27 Aug 2013 05:41:13 GMT
|
|
27
|
+
connection:
|
|
28
|
+
- close
|
|
29
|
+
body:
|
|
30
|
+
encoding: US-ASCII
|
|
31
|
+
string: ! '{"access": {"token": {"issued_at": "2013-08-27T05:41:13.624645",
|
|
32
|
+
"expires": "2013-08-28T05:41:13Z", "id": "ca5bf1a09f5a4568b1f60136b8f9b431",
|
|
33
|
+
"tenant": {"description": null, "enabled": true, "id": "3cab25130620477b8b03f1bfa8741603",
|
|
34
|
+
"name": "admin"}}, "serviceCatalog": [{"endpoints": [{"adminURL": "http://192.168.56.11:8774/v2/3cab25130620477b8b03f1bfa8741603",
|
|
35
|
+
"region": "RegionOne", "internalURL": "http://192.168.56.11:8774/v2/3cab25130620477b8b03f1bfa8741603",
|
|
36
|
+
"id": "3b72a66bf2f0491bb8dba827cade0d48", "publicURL": "http://192.168.56.11:8774/v2/3cab25130620477b8b03f1bfa8741603"}],
|
|
37
|
+
"endpoints_links": [], "type": "compute", "name": "nova"}, {"endpoints": [{"adminURL":
|
|
38
|
+
"http://192.168.56.11:3333", "region": "RegionOne", "internalURL": "http://192.168.56.11:3333",
|
|
39
|
+
"id": "482f749b370c40eab8788d6d0bc47f48", "publicURL": "http://192.168.56.11:3333"}],
|
|
40
|
+
"endpoints_links": [], "type": "s3", "name": "s3"}, {"endpoints": [{"adminURL":
|
|
41
|
+
"http://192.168.56.11:9292", "region": "RegionOne", "internalURL": "http://192.168.56.11:9292",
|
|
42
|
+
"id": "0cd5d5d5a0c24721a0392b47c89e3640", "publicURL": "http://192.168.56.11:9292"}],
|
|
43
|
+
"endpoints_links": [], "type": "image", "name": "glance"}, {"endpoints": [{"adminURL":
|
|
44
|
+
"http://192.168.56.11:8777", "region": "RegionOne", "internalURL": "http://192.168.56.11:8777",
|
|
45
|
+
"id": "4eb4edec1d2647bfb8ba4f9a5757169d", "publicURL": "http://192.168.56.11:8777"}],
|
|
46
|
+
"endpoints_links": [], "type": "metering", "name": "ceilometer"}, {"endpoints":
|
|
47
|
+
[{"adminURL": "http://192.168.56.11:8776/v1/3cab25130620477b8b03f1bfa8741603",
|
|
48
|
+
"region": "RegionOne", "internalURL": "http://192.168.56.11:8776/v1/3cab25130620477b8b03f1bfa8741603",
|
|
49
|
+
"id": "009e8a41953d439f845b2a0c0dc28b73", "publicURL": "http://192.168.56.11:8776/v1/3cab25130620477b8b03f1bfa8741603"}],
|
|
50
|
+
"endpoints_links": [], "type": "volume", "name": "cinder"}, {"endpoints":
|
|
51
|
+
[{"adminURL": "http://192.168.56.11:8773/services/Admin", "region": "RegionOne",
|
|
52
|
+
"internalURL": "http://192.168.56.11:8773/services/Cloud", "id": "6820836ec6834548bf7b54da0271dded",
|
|
53
|
+
"publicURL": "http://192.168.56.11:8773/services/Cloud"}], "endpoints_links":
|
|
54
|
+
[], "type": "ec2", "name": "ec2"}, {"endpoints": [{"adminURL": "http://192.168.56.11:35357/v2.0",
|
|
55
|
+
"region": "RegionOne", "internalURL": "http://192.168.56.11:5000/v2.0", "id":
|
|
56
|
+
"24a95f51f67949e784971e97463ee4d8", "publicURL": "http://192.168.56.11:5000/v2.0"}],
|
|
57
|
+
"endpoints_links": [], "type": "identity", "name": "keystone"}], "user": {"username":
|
|
58
|
+
"admin", "roles_links": [], "id": "cbbcc4f7aef6435fa2da7e5f0b2f1e97", "roles":
|
|
59
|
+
[{"name": "admin"}], "name": "admin"}, "metadata": {"is_admin": 0, "roles":
|
|
60
|
+
["01a81f2dbb3441f1aaa8fe68a7c6f546"]}}}'
|
|
61
|
+
http_version:
|
|
62
|
+
recorded_at: Tue, 27 Aug 2013 05:40:07 GMT
|
|
63
|
+
- request:
|
|
64
|
+
method: post
|
|
65
|
+
uri: http://192.168.56.11:35357/v2.0/tenants
|
|
66
|
+
body:
|
|
67
|
+
encoding: UTF-8
|
|
68
|
+
string: ! '{"tenant":{"name":"Project 1377582007","description":"My Project","enabled":true}}'
|
|
69
|
+
headers:
|
|
70
|
+
Content-Type:
|
|
71
|
+
- application/json
|
|
72
|
+
User-Agent:
|
|
73
|
+
- Faraday v0.8.8
|
|
74
|
+
X-Auth-Token:
|
|
75
|
+
- ca5bf1a09f5a4568b1f60136b8f9b431
|
|
76
|
+
response:
|
|
77
|
+
status:
|
|
78
|
+
code: 200
|
|
79
|
+
message:
|
|
80
|
+
headers:
|
|
81
|
+
vary:
|
|
82
|
+
- X-Auth-Token
|
|
83
|
+
content-type:
|
|
84
|
+
- application/json
|
|
85
|
+
content-length:
|
|
86
|
+
- '130'
|
|
87
|
+
date:
|
|
88
|
+
- Tue, 27 Aug 2013 05:41:13 GMT
|
|
89
|
+
connection:
|
|
90
|
+
- close
|
|
91
|
+
body:
|
|
92
|
+
encoding: US-ASCII
|
|
93
|
+
string: ! '{"tenant": {"description": "My Project", "enabled": true, "id": "fc200ea29b4e48b19ba39d3a34eb97ee",
|
|
94
|
+
"name": "Project 1377582007"}}'
|
|
95
|
+
http_version:
|
|
96
|
+
recorded_at: Tue, 27 Aug 2013 05:40:07 GMT
|
|
97
|
+
recorded_with: VCR 2.5.0
|
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
---
|
|
2
|
+
http_interactions:
|
|
3
|
+
- request:
|
|
4
|
+
method: post
|
|
5
|
+
uri: <HOST_URI>:5000/v2.0/tokens
|
|
6
|
+
body:
|
|
7
|
+
encoding: UTF-8
|
|
8
|
+
string: ! '{"auth":{"passwordCredentials":{"username":"admin","password":"<PASSWORD>"},"tenantName":"admin"}}'
|
|
9
|
+
headers:
|
|
10
|
+
Content-Type:
|
|
11
|
+
- application/json
|
|
12
|
+
User-Agent:
|
|
13
|
+
- Faraday v0.8.8
|
|
14
|
+
response:
|
|
15
|
+
status:
|
|
16
|
+
code: 200
|
|
17
|
+
message:
|
|
18
|
+
headers:
|
|
19
|
+
vary:
|
|
20
|
+
- X-Auth-Token
|
|
21
|
+
content-type:
|
|
22
|
+
- application/json
|
|
23
|
+
content-length:
|
|
24
|
+
- '2648'
|
|
25
|
+
date:
|
|
26
|
+
- Tue, 27 Aug 2013 05:45:50 GMT
|
|
27
|
+
connection:
|
|
28
|
+
- close
|
|
29
|
+
body:
|
|
30
|
+
encoding: US-ASCII
|
|
31
|
+
string: ! '{"access": {"token": {"issued_at": "2013-08-27T05:45:50.518138",
|
|
32
|
+
"expires": "2013-08-28T05:45:50Z", "id": "fcaf407dced04ded88c46147e9eb85b8",
|
|
33
|
+
"tenant": {"description": null, "enabled": true, "id": "3cab25130620477b8b03f1bfa8741603",
|
|
34
|
+
"name": "admin"}}, "serviceCatalog": [{"endpoints": [{"adminURL": "http://192.168.56.11:8774/v2/3cab25130620477b8b03f1bfa8741603",
|
|
35
|
+
"region": "RegionOne", "internalURL": "http://192.168.56.11:8774/v2/3cab25130620477b8b03f1bfa8741603",
|
|
36
|
+
"id": "3b72a66bf2f0491bb8dba827cade0d48", "publicURL": "http://192.168.56.11:8774/v2/3cab25130620477b8b03f1bfa8741603"}],
|
|
37
|
+
"endpoints_links": [], "type": "compute", "name": "nova"}, {"endpoints": [{"adminURL":
|
|
38
|
+
"http://192.168.56.11:3333", "region": "RegionOne", "internalURL": "http://192.168.56.11:3333",
|
|
39
|
+
"id": "482f749b370c40eab8788d6d0bc47f48", "publicURL": "http://192.168.56.11:3333"}],
|
|
40
|
+
"endpoints_links": [], "type": "s3", "name": "s3"}, {"endpoints": [{"adminURL":
|
|
41
|
+
"http://192.168.56.11:9292", "region": "RegionOne", "internalURL": "http://192.168.56.11:9292",
|
|
42
|
+
"id": "0cd5d5d5a0c24721a0392b47c89e3640", "publicURL": "http://192.168.56.11:9292"}],
|
|
43
|
+
"endpoints_links": [], "type": "image", "name": "glance"}, {"endpoints": [{"adminURL":
|
|
44
|
+
"http://192.168.56.11:8777", "region": "RegionOne", "internalURL": "http://192.168.56.11:8777",
|
|
45
|
+
"id": "4eb4edec1d2647bfb8ba4f9a5757169d", "publicURL": "http://192.168.56.11:8777"}],
|
|
46
|
+
"endpoints_links": [], "type": "metering", "name": "ceilometer"}, {"endpoints":
|
|
47
|
+
[{"adminURL": "http://192.168.56.11:8776/v1/3cab25130620477b8b03f1bfa8741603",
|
|
48
|
+
"region": "RegionOne", "internalURL": "http://192.168.56.11:8776/v1/3cab25130620477b8b03f1bfa8741603",
|
|
49
|
+
"id": "009e8a41953d439f845b2a0c0dc28b73", "publicURL": "http://192.168.56.11:8776/v1/3cab25130620477b8b03f1bfa8741603"}],
|
|
50
|
+
"endpoints_links": [], "type": "volume", "name": "cinder"}, {"endpoints":
|
|
51
|
+
[{"adminURL": "http://192.168.56.11:8773/services/Admin", "region": "RegionOne",
|
|
52
|
+
"internalURL": "http://192.168.56.11:8773/services/Cloud", "id": "6820836ec6834548bf7b54da0271dded",
|
|
53
|
+
"publicURL": "http://192.168.56.11:8773/services/Cloud"}], "endpoints_links":
|
|
54
|
+
[], "type": "ec2", "name": "ec2"}, {"endpoints": [{"adminURL": "http://192.168.56.11:35357/v2.0",
|
|
55
|
+
"region": "RegionOne", "internalURL": "http://192.168.56.11:5000/v2.0", "id":
|
|
56
|
+
"24a95f51f67949e784971e97463ee4d8", "publicURL": "http://192.168.56.11:5000/v2.0"}],
|
|
57
|
+
"endpoints_links": [], "type": "identity", "name": "keystone"}], "user": {"username":
|
|
58
|
+
"admin", "roles_links": [], "id": "cbbcc4f7aef6435fa2da7e5f0b2f1e97", "roles":
|
|
59
|
+
[{"name": "admin"}], "name": "admin"}, "metadata": {"is_admin": 0, "roles":
|
|
60
|
+
["01a81f2dbb3441f1aaa8fe68a7c6f546"]}}}'
|
|
61
|
+
http_version:
|
|
62
|
+
recorded_at: Tue, 27 Aug 2013 05:44:40 GMT
|
|
63
|
+
- request:
|
|
64
|
+
method: post
|
|
65
|
+
uri: http://192.168.56.11:35357/v2.0/tenants
|
|
66
|
+
body:
|
|
67
|
+
encoding: UTF-8
|
|
68
|
+
string: ! '{"tenant":{"name":"","description":"","enabled":true}}'
|
|
69
|
+
headers:
|
|
70
|
+
Content-Type:
|
|
71
|
+
- application/json
|
|
72
|
+
User-Agent:
|
|
73
|
+
- Faraday v0.8.8
|
|
74
|
+
X-Auth-Token:
|
|
75
|
+
- fcaf407dced04ded88c46147e9eb85b8
|
|
76
|
+
response:
|
|
77
|
+
status:
|
|
78
|
+
code: 400
|
|
79
|
+
message:
|
|
80
|
+
headers:
|
|
81
|
+
vary:
|
|
82
|
+
- X-Auth-Token
|
|
83
|
+
content-type:
|
|
84
|
+
- application/json
|
|
85
|
+
content-length:
|
|
86
|
+
- '105'
|
|
87
|
+
date:
|
|
88
|
+
- Tue, 27 Aug 2013 05:45:50 GMT
|
|
89
|
+
connection:
|
|
90
|
+
- close
|
|
91
|
+
body:
|
|
92
|
+
encoding: US-ASCII
|
|
93
|
+
string: ! '{"error": {"message": "Name field is required and cannot be empty",
|
|
94
|
+
"code": 400, "title": "Bad Request"}}'
|
|
95
|
+
http_version:
|
|
96
|
+
recorded_at: Tue, 27 Aug 2013 05:44:40 GMT
|
|
97
|
+
recorded_with: VCR 2.5.0
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
---
|
|
2
|
+
http_interactions:
|
|
3
|
+
- request:
|
|
4
|
+
method: post
|
|
5
|
+
uri: <HOST_URI>:5000/v2.0/tokens
|
|
6
|
+
body:
|
|
7
|
+
encoding: UTF-8
|
|
8
|
+
string: ! '{"auth":{"passwordCredentials":{"username":"somebogususer","password":"doesitreallymatter?"}}}'
|
|
9
|
+
headers:
|
|
10
|
+
Content-Type:
|
|
11
|
+
- application/json
|
|
12
|
+
User-Agent:
|
|
13
|
+
- Faraday v0.8.8
|
|
14
|
+
response:
|
|
15
|
+
status:
|
|
16
|
+
code: 401
|
|
17
|
+
message:
|
|
18
|
+
headers:
|
|
19
|
+
vary:
|
|
20
|
+
- X-Auth-Token
|
|
21
|
+
content-type:
|
|
22
|
+
- application/json
|
|
23
|
+
content-length:
|
|
24
|
+
- '98'
|
|
25
|
+
date:
|
|
26
|
+
- Thu, 29 Aug 2013 18:32:34 GMT
|
|
27
|
+
connection:
|
|
28
|
+
- close
|
|
29
|
+
body:
|
|
30
|
+
encoding: US-ASCII
|
|
31
|
+
string: ! '{"error": {"message": "Could not find user: somebogususer", "code":
|
|
32
|
+
401, "title": "Unauthorized"}}'
|
|
33
|
+
http_version:
|
|
34
|
+
recorded_at: Thu, 29 Aug 2013 18:30:24 GMT
|
|
35
|
+
recorded_with: VCR 2.5.0
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
---
|
|
2
|
+
http_interactions:
|
|
3
|
+
- request:
|
|
4
|
+
method: post
|
|
5
|
+
uri: <HOST_URI>:5000/v2.0/tokens
|
|
6
|
+
body:
|
|
7
|
+
encoding: UTF-8
|
|
8
|
+
string: ! '{"auth":{"passwordCredentials":{"username":"admin","password":"<PASSWORD>"}}}'
|
|
9
|
+
headers:
|
|
10
|
+
Content-Type:
|
|
11
|
+
- application/json
|
|
12
|
+
User-Agent:
|
|
13
|
+
- Faraday v0.8.8
|
|
14
|
+
response:
|
|
15
|
+
status:
|
|
16
|
+
code: 200
|
|
17
|
+
message:
|
|
18
|
+
headers:
|
|
19
|
+
vary:
|
|
20
|
+
- X-Auth-Token
|
|
21
|
+
content-type:
|
|
22
|
+
- application/json
|
|
23
|
+
content-length:
|
|
24
|
+
- '329'
|
|
25
|
+
date:
|
|
26
|
+
- Thu, 29 Aug 2013 18:32:34 GMT
|
|
27
|
+
connection:
|
|
28
|
+
- close
|
|
29
|
+
body:
|
|
30
|
+
encoding: US-ASCII
|
|
31
|
+
string: ! '{"access": {"token": {"issued_at": "2013-08-29T18:32:34.216430",
|
|
32
|
+
"expires": "2013-08-30T18:32:34Z", "id": "217d313bbab14553b86672cfce916b01"},
|
|
33
|
+
"serviceCatalog": [], "user": {"username": "admin", "roles_links": [], "id":
|
|
34
|
+
"cbbcc4f7aef6435fa2da7e5f0b2f1e97", "roles": [], "name": "admin"}, "metadata":
|
|
35
|
+
{"is_admin": 0, "roles": []}}}'
|
|
36
|
+
http_version:
|
|
37
|
+
recorded_at: Thu, 29 Aug 2013 18:30:24 GMT
|
|
38
|
+
recorded_with: VCR 2.5.0
|
|
@@ -0,0 +1,98 @@
|
|
|
1
|
+
---
|
|
2
|
+
http_interactions:
|
|
3
|
+
- request:
|
|
4
|
+
method: post
|
|
5
|
+
uri: <HOST_URI>:5000/v2.0/tokens
|
|
6
|
+
body:
|
|
7
|
+
encoding: UTF-8
|
|
8
|
+
string: ! '{"auth":{"passwordCredentials":{"username":"admin","password":"<PASSWORD>"}}}'
|
|
9
|
+
headers:
|
|
10
|
+
Content-Type:
|
|
11
|
+
- application/json
|
|
12
|
+
User-Agent:
|
|
13
|
+
- Faraday v0.8.8
|
|
14
|
+
response:
|
|
15
|
+
status:
|
|
16
|
+
code: 200
|
|
17
|
+
message:
|
|
18
|
+
headers:
|
|
19
|
+
vary:
|
|
20
|
+
- X-Auth-Token
|
|
21
|
+
content-type:
|
|
22
|
+
- application/json
|
|
23
|
+
content-length:
|
|
24
|
+
- '329'
|
|
25
|
+
date:
|
|
26
|
+
- Wed, 28 Aug 2013 23:50:40 GMT
|
|
27
|
+
connection:
|
|
28
|
+
- close
|
|
29
|
+
body:
|
|
30
|
+
encoding: US-ASCII
|
|
31
|
+
string: ! '{"access": {"token": {"issued_at": "2013-08-28T23:50:40.142756",
|
|
32
|
+
"expires": "2013-08-29T23:50:40Z", "id": "7936a6fa365a47e5b165a5d15f667a32"},
|
|
33
|
+
"serviceCatalog": [], "user": {"username": "admin", "roles_links": [], "id":
|
|
34
|
+
"cbbcc4f7aef6435fa2da7e5f0b2f1e97", "roles": [], "name": "admin"}, "metadata":
|
|
35
|
+
{"is_admin": 0, "roles": []}}}'
|
|
36
|
+
http_version:
|
|
37
|
+
recorded_at: Wed, 28 Aug 2013 23:48:15 GMT
|
|
38
|
+
- request:
|
|
39
|
+
method: post
|
|
40
|
+
uri: <HOST_URI>:5000/v2.0/tokens
|
|
41
|
+
body:
|
|
42
|
+
encoding: UTF-8
|
|
43
|
+
string: ! '{"auth":{"token":{"id":"7936a6fa365a47e5b165a5d15f667a32"},"tenantName":"admin"}}'
|
|
44
|
+
headers:
|
|
45
|
+
Content-Type:
|
|
46
|
+
- application/json
|
|
47
|
+
User-Agent:
|
|
48
|
+
- Faraday v0.8.8
|
|
49
|
+
response:
|
|
50
|
+
status:
|
|
51
|
+
code: 200
|
|
52
|
+
message:
|
|
53
|
+
headers:
|
|
54
|
+
vary:
|
|
55
|
+
- X-Auth-Token
|
|
56
|
+
content-type:
|
|
57
|
+
- application/json
|
|
58
|
+
content-length:
|
|
59
|
+
- '2648'
|
|
60
|
+
date:
|
|
61
|
+
- Wed, 28 Aug 2013 23:50:40 GMT
|
|
62
|
+
connection:
|
|
63
|
+
- close
|
|
64
|
+
body:
|
|
65
|
+
encoding: US-ASCII
|
|
66
|
+
string: ! '{"access": {"token": {"issued_at": "2013-08-28T23:50:40.615438",
|
|
67
|
+
"expires": "2013-08-29T23:50:40Z", "id": "ebdd1c61693546208a273fc891e65c4b",
|
|
68
|
+
"tenant": {"description": null, "enabled": true, "id": "3cab25130620477b8b03f1bfa8741603",
|
|
69
|
+
"name": "admin"}}, "serviceCatalog": [{"endpoints": [{"adminURL": "http://192.168.56.11:8774/v2/3cab25130620477b8b03f1bfa8741603",
|
|
70
|
+
"region": "RegionOne", "internalURL": "http://192.168.56.11:8774/v2/3cab25130620477b8b03f1bfa8741603",
|
|
71
|
+
"id": "3b72a66bf2f0491bb8dba827cade0d48", "publicURL": "http://192.168.56.11:8774/v2/3cab25130620477b8b03f1bfa8741603"}],
|
|
72
|
+
"endpoints_links": [], "type": "compute", "name": "nova"}, {"endpoints": [{"adminURL":
|
|
73
|
+
"http://192.168.56.11:3333", "region": "RegionOne", "internalURL": "http://192.168.56.11:3333",
|
|
74
|
+
"id": "482f749b370c40eab8788d6d0bc47f48", "publicURL": "http://192.168.56.11:3333"}],
|
|
75
|
+
"endpoints_links": [], "type": "s3", "name": "s3"}, {"endpoints": [{"adminURL":
|
|
76
|
+
"http://192.168.56.11:9292", "region": "RegionOne", "internalURL": "http://192.168.56.11:9292",
|
|
77
|
+
"id": "0cd5d5d5a0c24721a0392b47c89e3640", "publicURL": "http://192.168.56.11:9292"}],
|
|
78
|
+
"endpoints_links": [], "type": "image", "name": "glance"}, {"endpoints": [{"adminURL":
|
|
79
|
+
"http://192.168.56.11:8777", "region": "RegionOne", "internalURL": "http://192.168.56.11:8777",
|
|
80
|
+
"id": "4eb4edec1d2647bfb8ba4f9a5757169d", "publicURL": "http://192.168.56.11:8777"}],
|
|
81
|
+
"endpoints_links": [], "type": "metering", "name": "ceilometer"}, {"endpoints":
|
|
82
|
+
[{"adminURL": "http://192.168.56.11:8776/v1/3cab25130620477b8b03f1bfa8741603",
|
|
83
|
+
"region": "RegionOne", "internalURL": "http://192.168.56.11:8776/v1/3cab25130620477b8b03f1bfa8741603",
|
|
84
|
+
"id": "009e8a41953d439f845b2a0c0dc28b73", "publicURL": "http://192.168.56.11:8776/v1/3cab25130620477b8b03f1bfa8741603"}],
|
|
85
|
+
"endpoints_links": [], "type": "volume", "name": "cinder"}, {"endpoints":
|
|
86
|
+
[{"adminURL": "http://192.168.56.11:8773/services/Admin", "region": "RegionOne",
|
|
87
|
+
"internalURL": "http://192.168.56.11:8773/services/Cloud", "id": "6820836ec6834548bf7b54da0271dded",
|
|
88
|
+
"publicURL": "http://192.168.56.11:8773/services/Cloud"}], "endpoints_links":
|
|
89
|
+
[], "type": "ec2", "name": "ec2"}, {"endpoints": [{"adminURL": "http://192.168.56.11:35357/v2.0",
|
|
90
|
+
"region": "RegionOne", "internalURL": "http://192.168.56.11:5000/v2.0", "id":
|
|
91
|
+
"24a95f51f67949e784971e97463ee4d8", "publicURL": "http://192.168.56.11:5000/v2.0"}],
|
|
92
|
+
"endpoints_links": [], "type": "identity", "name": "keystone"}], "user": {"username":
|
|
93
|
+
"admin", "roles_links": [], "id": "cbbcc4f7aef6435fa2da7e5f0b2f1e97", "roles":
|
|
94
|
+
[{"name": "admin"}], "name": "admin"}, "metadata": {"is_admin": 0, "roles":
|
|
95
|
+
["01a81f2dbb3441f1aaa8fe68a7c6f546"]}}}'
|
|
96
|
+
http_version:
|
|
97
|
+
recorded_at: Wed, 28 Aug 2013 23:48:15 GMT
|
|
98
|
+
recorded_with: VCR 2.5.0
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
openstack: &openstack
|
|
2
|
+
provider: openstack
|
|
3
|
+
auth_service:
|
|
4
|
+
name: identity
|
|
5
|
+
host_uri: http://devstack:5000
|
|
6
|
+
request: create_token
|
|
7
|
+
validator: list_tenants
|
|
8
|
+
api_version: v2
|
|
9
|
+
|
|
10
|
+
openstack_admin:
|
|
11
|
+
<<: *openstack
|
|
12
|
+
auth_credentials:
|
|
13
|
+
username: admin
|
|
14
|
+
password: mypassword
|
|
15
|
+
tenantName: admin
|
|
16
|
+
|
|
17
|
+
openstack_member:
|
|
18
|
+
<<: *openstack
|
|
19
|
+
auth_credentials:
|
|
20
|
+
username: nonadmin
|
|
21
|
+
password: mypassword
|
|
22
|
+
tenantName: nonadminproject
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
openstack: &openstack
|
|
2
|
+
provider: openstack
|
|
3
|
+
auth_service:
|
|
4
|
+
name: identity
|
|
5
|
+
host_uri: http://example.org:5000
|
|
6
|
+
request: create_token
|
|
7
|
+
validator: list_tenants
|
|
8
|
+
api_version: v2
|
|
9
|
+
|
|
10
|
+
openstack_admin: &openstack_admin
|
|
11
|
+
<<: *openstack
|
|
12
|
+
auth_credentials:
|
|
13
|
+
username: admin
|
|
14
|
+
password: mypassword
|
|
15
|
+
tenantName: admin
|
|
16
|
+
|
|
17
|
+
openstack_member: &openstack_member
|
|
18
|
+
<<: *openstack
|
|
19
|
+
auth_credentials:
|
|
20
|
+
username: nonadmin
|
|
21
|
+
password: mypassword
|
|
22
|
+
tenantName: nonadminproject
|
|
23
|
+
|
|
24
|
+
test: *openstack_admin
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
module Aviator
|
|
2
|
+
class Test
|
|
3
|
+
|
|
4
|
+
module RequestHelper
|
|
5
|
+
|
|
6
|
+
class << self
|
|
7
|
+
|
|
8
|
+
def admin_session_data
|
|
9
|
+
@admin_session_data ||= JSON.parse('{"access": {"token": {"issued_at": "2013-08-26T22:27:13.886315",
|
|
10
|
+
"expires": "2013-08-27T22:27:13Z", "id": "3396443734194600ba8b976415fc8b7a",
|
|
11
|
+
"tenant": {"description": null, "enabled": true, "id": "3cab25130620477b8b03f1bfa8741603",
|
|
12
|
+
"name": "admin"}}, "serviceCatalog": [{"endpoints": [{"adminURL": "http://192.168.56.11:8774/v2/3cab25130620477b8b03f1bfa8741603",
|
|
13
|
+
"region": "RegionOne", "internalURL": "http://192.168.56.11:8774/v2/3cab25130620477b8b03f1bfa8741603",
|
|
14
|
+
"id": "3b72a66bf2f0491bb8dba827cade0d48", "publicURL": "http://192.168.56.11:8774/v2/3cab25130620477b8b03f1bfa8741603"}],
|
|
15
|
+
"endpoints_links": [], "type": "compute", "name": "nova"}, {"endpoints": [{"adminURL":
|
|
16
|
+
"http://192.168.56.11:3333", "region": "RegionOne", "internalURL": "http://192.168.56.11:3333",
|
|
17
|
+
"id": "482f749b370c40eab8788d6d0bc47f48", "publicURL": "http://192.168.56.11:3333"}],
|
|
18
|
+
"endpoints_links": [], "type": "s3", "name": "s3"}, {"endpoints": [{"adminURL":
|
|
19
|
+
"http://192.168.56.11:9292", "region": "RegionOne", "internalURL": "http://192.168.56.11:9292",
|
|
20
|
+
"id": "0cd5d5d5a0c24721a0392b47c89e3640", "publicURL": "http://192.168.56.11:9292"}],
|
|
21
|
+
"endpoints_links": [], "type": "image", "name": "glance"}, {"endpoints": [{"adminURL":
|
|
22
|
+
"http://192.168.56.11:8777", "region": "RegionOne", "internalURL": "http://192.168.56.11:8777",
|
|
23
|
+
"id": "4eb4edec1d2647bfb8ba4f9a5757169d", "publicURL": "http://192.168.56.11:8777"}],
|
|
24
|
+
"endpoints_links": [], "type": "metering", "name": "ceilometer"}, {"endpoints":
|
|
25
|
+
[{"adminURL": "http://192.168.56.11:8776/v1/3cab25130620477b8b03f1bfa8741603",
|
|
26
|
+
"region": "RegionOne", "internalURL": "http://192.168.56.11:8776/v1/3cab25130620477b8b03f1bfa8741603",
|
|
27
|
+
"id": "009e8a41953d439f845b2a0c0dc28b73", "publicURL": "http://192.168.56.11:8776/v1/3cab25130620477b8b03f1bfa8741603"}],
|
|
28
|
+
"endpoints_links": [], "type": "volume", "name": "cinder"}, {"endpoints":
|
|
29
|
+
[{"adminURL": "http://192.168.56.11:8773/services/Admin", "region": "RegionOne",
|
|
30
|
+
"internalURL": "http://192.168.56.11:8773/services/Cloud", "id": "6820836ec6834548bf7b54da0271dded",
|
|
31
|
+
"publicURL": "http://192.168.56.11:8773/services/Cloud"}], "endpoints_links":
|
|
32
|
+
[], "type": "ec2", "name": "ec2"}, {"endpoints": [{"adminURL": "http://192.168.56.11:35357/v2.0",
|
|
33
|
+
"region": "RegionOne", "internalURL": "http://192.168.56.11:5000/v2.0", "id":
|
|
34
|
+
"24a95f51f67949e784971e97463ee4d8", "publicURL": "http://192.168.56.11:5000/v2.0"}],
|
|
35
|
+
"endpoints_links": [], "type": "identity", "name": "keystone"}], "user": {"username":
|
|
36
|
+
"admin", "roles_links": [], "id": "cbbcc4f7aef6435fa2da7e5f0b2f1e97", "roles":
|
|
37
|
+
[{"name": "admin"}], "name": "admin"}, "metadata": {"is_admin": 0, "roles":
|
|
38
|
+
["01a81f2dbb3441f1aaa8fe68a7c6f546"]}}}').with_indifferent_access
|
|
39
|
+
end
|
|
40
|
+
|
|
41
|
+
|
|
42
|
+
def admin_bootstrap_session_data
|
|
43
|
+
{
|
|
44
|
+
auth_service: Environment.openstack_admin[:auth_service]
|
|
45
|
+
}
|
|
46
|
+
end
|
|
47
|
+
|
|
48
|
+
|
|
49
|
+
def request_path(*path)
|
|
50
|
+
Pathname.new(__FILE__).join('..', '..', '..', 'lib', 'aviator', 'openstack').expand_path.join(*path)
|
|
51
|
+
end
|
|
52
|
+
|
|
53
|
+
end
|
|
54
|
+
end
|
|
55
|
+
|
|
56
|
+
end
|
|
57
|
+
end
|