aviator 0.0.4 → 0.0.5

Sign up to get free protection for your applications and to get access to all the features.
Files changed (166) hide show
  1. checksums.yaml +8 -8
  2. data/README.md +4 -3
  3. data/lib/aviator/core.rb +1 -0
  4. data/lib/aviator/core/request.rb +0 -35
  5. data/lib/aviator/core/request_builder.rb +37 -0
  6. data/lib/aviator/core/response.rb +11 -3
  7. data/lib/aviator/core/service.rb +3 -2
  8. data/lib/aviator/openstack/compute/v2/admin/confirm_server_resize.rb +46 -0
  9. data/lib/aviator/openstack/compute/v2/admin/get_host_details.rb +40 -0
  10. data/lib/aviator/openstack/compute/v2/admin/list_hosts.rb +55 -0
  11. data/lib/aviator/openstack/compute/v2/admin/resize_server.rb +51 -0
  12. data/lib/aviator/openstack/compute/v2/admin/revert_server_resize.rb +46 -0
  13. data/lib/aviator/openstack/compute/v2/public/delete_image.rb +40 -0
  14. data/lib/aviator/openstack/compute/v2/public/get_image_details.rb +40 -0
  15. data/lib/aviator/openstack/compute/v2/public/list_servers.rb +12 -1
  16. data/lib/aviator/openstack/identity/v2/admin/add_role_to_user_on_tenant.rb +46 -0
  17. data/lib/aviator/openstack/identity/v2/admin/create_user.rb +66 -0
  18. data/lib/aviator/openstack/identity/v2/admin/delete_role_from_user_on_tenant.rb +46 -0
  19. data/lib/aviator/openstack/identity/v2/admin/delete_tenant.rb +40 -0
  20. data/lib/aviator/openstack/identity/v2/admin/delete_user.rb +39 -0
  21. data/lib/aviator/openstack/identity/v2/admin/list_users.rb +37 -0
  22. data/lib/aviator/openstack/identity/v2/admin/update_tenant.rb +57 -0
  23. data/lib/aviator/openstack/identity/v2/admin/update_user.rb +61 -0
  24. data/lib/aviator/openstack/identity/v2/public/root.rb +34 -0
  25. data/lib/aviator/openstack/image/v1/public/root.rb +34 -0
  26. data/lib/aviator/openstack/metering/v1/admin/list_projects.rb +34 -0
  27. data/lib/aviator/openstack/volume/v1/public/root.rb +34 -0
  28. data/lib/aviator/version.rb +1 -1
  29. data/test/aviator/core/request_builder_test.rb +61 -0
  30. data/test/aviator/openstack/compute/v2/admin/confirm_server_resize_test.rb +145 -0
  31. data/test/aviator/openstack/compute/v2/admin/get_host_details_test.rb +133 -0
  32. data/test/aviator/openstack/compute/v2/admin/list_hosts_test.rb +138 -0
  33. data/test/aviator/openstack/compute/v2/admin/resize_server_test.rb +177 -0
  34. data/test/aviator/openstack/compute/v2/admin/revert_server_resize_test.rb +145 -0
  35. data/test/aviator/openstack/compute/v2/public/delete_image_test.rb +134 -0
  36. data/test/aviator/openstack/compute/v2/public/get_image_details_test.rb +134 -0
  37. data/test/aviator/openstack/compute/v2/public/list_servers_test.rb +63 -33
  38. data/test/aviator/openstack/identity/v2/admin/add_role_to_user_on_tenant_test.rb +192 -0
  39. data/test/aviator/openstack/identity/v2/admin/create_user_test.rb +161 -0
  40. data/test/aviator/openstack/identity/v2/admin/delete_role_from_user_on_tenant_test.rb +190 -0
  41. data/test/aviator/openstack/identity/v2/admin/delete_tenant_test.rb +132 -0
  42. data/test/aviator/openstack/identity/v2/admin/delete_user_test.rb +127 -0
  43. data/test/aviator/openstack/identity/v2/admin/list_users_test.rb +101 -0
  44. data/test/aviator/openstack/identity/v2/admin/update_tenant_test.rb +142 -0
  45. data/test/aviator/openstack/identity/v2/admin/update_user_test.rb +143 -0
  46. data/test/aviator/openstack/identity/v2/public/root_test.rb +106 -0
  47. data/test/aviator/openstack/image/v1/public/root_test.rb +106 -0
  48. data/test/aviator/openstack/metering/v1/admin/list_projects_test.rb +106 -0
  49. data/test/aviator/openstack/volume/v1/public/root_test.rb +106 -0
  50. data/test/cassettes/openstack/compute/v2/admin/confirm_server_resize/leads_to_a_valid_response_when_parameters_are_provided.yml +907 -0
  51. data/test/cassettes/openstack/compute/v2/admin/confirm_server_resize/leads_to_a_valid_response_when_the_id_parameter_is_invalid.yml +96 -0
  52. data/test/cassettes/openstack/compute/v2/admin/confirm_server_resize/returns_the_correct_value_for_body_.yml +876 -0
  53. data/test/cassettes/openstack/compute/v2/admin/confirm_server_resize/returns_the_correct_value_for_headers_.yml +876 -0
  54. data/test/cassettes/openstack/compute/v2/admin/confirm_server_resize/returns_the_correct_value_for_http_method_.yml +876 -0
  55. data/test/cassettes/openstack/compute/v2/admin/confirm_server_resize/returns_the_correct_value_for_url_.yml +876 -0
  56. data/test/cassettes/openstack/compute/v2/admin/get_host_details/leads_to_a_valid_response_when_invalid_params_are_provided.yml +96 -0
  57. data/test/cassettes/openstack/compute/v2/admin/get_host_details/leads_to_a_valid_response_when_valid_params_are_provided.yml +160 -0
  58. data/test/cassettes/openstack/compute/v2/admin/get_host_details/returns_the_correct_value_for_body_.yml +62 -0
  59. data/test/cassettes/openstack/compute/v2/admin/get_host_details/returns_the_correct_value_for_headers_.yml +62 -0
  60. data/test/cassettes/openstack/compute/v2/admin/get_host_details/returns_the_correct_value_for_http_method_.yml +62 -0
  61. data/test/cassettes/openstack/compute/v2/admin/get_host_details/returns_the_correct_value_for_url_.yml +101 -0
  62. data/test/cassettes/openstack/compute/v2/admin/list_hosts/leads_to_a_valid_response_when_invalid_zone_parameter_is_provided.yml +95 -0
  63. data/test/cassettes/openstack/compute/v2/admin/list_hosts/leads_to_a_valid_response_when_no_parameters_are_provided.yml +101 -0
  64. data/test/cassettes/openstack/compute/v2/admin/list_hosts/leads_to_a_valid_response_when_valid_zone_parameter_is_provided.yml +96 -0
  65. data/test/cassettes/openstack/compute/v2/admin/list_hosts/returns_the_correct_value_for_body_.yml +62 -0
  66. data/test/cassettes/openstack/compute/v2/admin/list_hosts/returns_the_correct_value_for_headers_.yml +62 -0
  67. data/test/cassettes/openstack/compute/v2/admin/list_hosts/returns_the_correct_value_for_http_method_.yml +62 -0
  68. data/test/cassettes/openstack/compute/v2/admin/list_hosts/returns_the_correct_value_for_url_.yml +62 -0
  69. data/test/cassettes/openstack/compute/v2/admin/resize_server/leads_to_a_valid_response_when_parameters_are_provided.yml +949 -0
  70. data/test/cassettes/openstack/compute/v2/admin/resize_server/leads_to_a_valid_response_when_the_flavorRef_parameter_is_invalid.yml +910 -0
  71. data/test/cassettes/openstack/compute/v2/admin/resize_server/leads_to_a_valid_response_when_the_id_parameter_is_invalid.yml +138 -0
  72. data/test/cassettes/openstack/compute/v2/admin/resize_server/returns_the_correct_value_for_body_.yml +902 -0
  73. data/test/cassettes/openstack/compute/v2/admin/resize_server/returns_the_correct_value_for_headers_.yml +902 -0
  74. data/test/cassettes/openstack/compute/v2/admin/resize_server/returns_the_correct_value_for_http_method_.yml +918 -0
  75. data/test/cassettes/openstack/compute/v2/admin/resize_server/returns_the_correct_value_for_url_.yml +902 -0
  76. data/test/cassettes/openstack/compute/v2/admin/revert_server_resize/leads_to_a_valid_response_when_parameters_are_provided.yml +326 -0
  77. data/test/cassettes/openstack/compute/v2/admin/revert_server_resize/leads_to_a_valid_response_when_the_id_parameter_is_invalid.yml +96 -0
  78. data/test/cassettes/openstack/compute/v2/admin/revert_server_resize/returns_the_correct_value_for_body_.yml +295 -0
  79. data/test/cassettes/openstack/compute/v2/admin/revert_server_resize/returns_the_correct_value_for_headers_.yml +295 -0
  80. data/test/cassettes/openstack/compute/v2/admin/revert_server_resize/returns_the_correct_value_for_http_method_.yml +295 -0
  81. data/test/cassettes/openstack/compute/v2/admin/revert_server_resize/returns_the_correct_value_for_url_.yml +295 -0
  82. data/test/cassettes/openstack/compute/v2/public/delete_image/leads_to_a_valid_response_when_invalid_params_are_provided.yml +96 -0
  83. data/test/cassettes/openstack/compute/v2/public/delete_image/leads_to_a_valid_response_when_valid_params_are_provided.yml +168 -0
  84. data/test/cassettes/openstack/compute/v2/public/delete_image/returns_the_correct_value_for_body_.yml +63 -0
  85. data/test/cassettes/openstack/compute/v2/public/delete_image/returns_the_correct_value_for_headers_.yml +63 -0
  86. data/test/cassettes/openstack/compute/v2/public/delete_image/returns_the_correct_value_for_http_method_.yml +63 -0
  87. data/test/cassettes/openstack/compute/v2/public/delete_image/returns_the_correct_value_for_url_.yml +63 -0
  88. data/test/cassettes/openstack/compute/v2/public/get_image_details/leads_to_a_valid_response_when_invalid_params_are_provided.yml +96 -0
  89. data/test/cassettes/openstack/compute/v2/public/get_image_details/leads_to_a_valid_response_when_valid_params_are_provided.yml +187 -0
  90. data/test/cassettes/openstack/compute/v2/public/get_image_details/returns_the_correct_value_for_body_.yml +63 -0
  91. data/test/cassettes/openstack/compute/v2/public/get_image_details/returns_the_correct_value_for_headers_.yml +63 -0
  92. data/test/cassettes/openstack/compute/v2/public/get_image_details/returns_the_correct_value_for_http_method_.yml +63 -0
  93. data/test/cassettes/openstack/compute/v2/public/get_image_details/returns_the_correct_value_for_url_.yml +63 -0
  94. data/test/cassettes/openstack/compute/v2/public/list_servers/leads_to_a_valid_response_when_the_all_tenants_parameter_is_provided.yml +274 -0
  95. data/test/cassettes/openstack/identity/v2/admin/add_role_to_user_on_tenant/leads_to_a_valid_response_when_invalid_role_id_is_provided.yml +98 -0
  96. data/test/cassettes/openstack/identity/v2/admin/add_role_to_user_on_tenant/leads_to_a_valid_response_when_invalid_tenant_id_is_provided.yml +98 -0
  97. data/test/cassettes/openstack/identity/v2/admin/add_role_to_user_on_tenant/leads_to_a_valid_response_when_invalid_user_id_is_provided.yml +98 -0
  98. data/test/cassettes/openstack/identity/v2/admin/add_role_to_user_on_tenant/leads_to_a_valid_response_when_valid_ids_are_provided.yml +97 -0
  99. data/test/cassettes/openstack/identity/v2/admin/add_role_to_user_on_tenant/returns_the_correct_value_for_body_.yml +64 -0
  100. data/test/cassettes/openstack/identity/v2/admin/add_role_to_user_on_tenant/returns_the_correct_value_for_headers_.yml +64 -0
  101. data/test/cassettes/openstack/identity/v2/admin/add_role_to_user_on_tenant/returns_the_correct_value_for_http_method_.yml +64 -0
  102. data/test/cassettes/openstack/identity/v2/admin/add_role_to_user_on_tenant/returns_the_correct_value_for_url_.yml +64 -0
  103. data/test/cassettes/openstack/identity/v2/admin/create_user/leads_to_a_valid_response_when_invalid_param_is_provided.yml +98 -0
  104. data/test/cassettes/openstack/identity/v2/admin/create_user/leads_to_a_valid_response_when_params_are_valid.yml +136 -0
  105. data/test/cassettes/openstack/identity/v2/admin/create_user/returns_the_correct_value_for_body_.yml +64 -0
  106. data/test/cassettes/openstack/identity/v2/admin/create_user/returns_the_correct_value_for_headers_.yml +64 -0
  107. data/test/cassettes/openstack/identity/v2/admin/create_user/returns_the_correct_value_for_http_method_.yml +64 -0
  108. data/test/cassettes/openstack/identity/v2/admin/create_user/returns_the_correct_value_for_url_.yml +64 -0
  109. data/test/cassettes/openstack/identity/v2/admin/delete_role_from_user_on_tenant/leads_to_a_valid_response_when_invalid_role_id_is_provided.yml +98 -0
  110. data/test/cassettes/openstack/identity/v2/admin/delete_role_from_user_on_tenant/leads_to_a_valid_response_when_invalid_tenant_id_is_provided.yml +98 -0
  111. data/test/cassettes/openstack/identity/v2/admin/delete_role_from_user_on_tenant/leads_to_a_valid_response_when_invalid_user_id_is_provided.yml +98 -0
  112. data/test/cassettes/openstack/identity/v2/admin/delete_role_from_user_on_tenant/leads_to_a_valid_response_when_valid_ids_are_provided.yml +95 -0
  113. data/test/cassettes/openstack/identity/v2/admin/delete_role_from_user_on_tenant/returns_the_correct_value_for_headers_.yml +64 -0
  114. data/test/cassettes/openstack/identity/v2/admin/delete_role_from_user_on_tenant/returns_the_correct_value_for_http_method_.yml +64 -0
  115. data/test/cassettes/openstack/identity/v2/admin/delete_role_from_user_on_tenant/returns_the_correct_value_for_url_.yml +64 -0
  116. data/test/cassettes/openstack/identity/v2/admin/delete_tenant/leads_to_a_valid_response_when_invalid_params_are_provided.yml +98 -0
  117. data/test/cassettes/openstack/identity/v2/admin/delete_tenant/leads_to_a_valid_response_when_valid_params_are_provided.yml +95 -0
  118. data/test/cassettes/openstack/identity/v2/admin/delete_tenant/returns_the_correct_value_for_body_.yml +64 -0
  119. data/test/cassettes/openstack/identity/v2/admin/delete_tenant/returns_the_correct_value_for_headers_.yml +64 -0
  120. data/test/cassettes/openstack/identity/v2/admin/delete_tenant/returns_the_correct_value_for_http_method_.yml +64 -0
  121. data/test/cassettes/openstack/identity/v2/admin/delete_tenant/returns_the_correct_value_for_url_.yml +64 -0
  122. data/test/cassettes/openstack/identity/v2/admin/delete_user/leads_to_a_valid_response_when_invalid_params_are_provided.yml +98 -0
  123. data/test/cassettes/openstack/identity/v2/admin/delete_user/leads_to_a_valid_response_when_valid_params_are_provided.yml +95 -0
  124. data/test/cassettes/openstack/identity/v2/admin/delete_user/returns_the_correct_value_for_body_.yml +64 -0
  125. data/test/cassettes/openstack/identity/v2/admin/delete_user/returns_the_correct_value_for_headers_.yml +64 -0
  126. data/test/cassettes/openstack/identity/v2/admin/delete_user/returns_the_correct_value_for_http_method_.yml +64 -0
  127. data/test/cassettes/openstack/identity/v2/admin/delete_user/returns_the_correct_value_for_url_.yml +64 -0
  128. data/test/cassettes/openstack/identity/v2/admin/list_users/leads_to_a_valid_response_when_no_parameters_are_provided.yml +114 -0
  129. data/test/cassettes/openstack/identity/v2/admin/list_users/returns_the_correct_value_for_body_.yml +64 -0
  130. data/test/cassettes/openstack/identity/v2/admin/list_users/returns_the_correct_value_for_headers_.yml +64 -0
  131. data/test/cassettes/openstack/identity/v2/admin/list_users/returns_the_correct_value_for_http_method_.yml +64 -0
  132. data/test/cassettes/openstack/identity/v2/admin/list_users/returns_the_correct_value_for_url_.yml +64 -0
  133. data/test/cassettes/openstack/identity/v2/admin/update_tenant/leads_to_a_valid_response_when_invalid_tenant_id_is_provided.yml +98 -0
  134. data/test/cassettes/openstack/identity/v2/admin/update_tenant/leads_to_a_valid_response_when_valid_tenant_id_is_provided.yml +140 -0
  135. data/test/cassettes/openstack/identity/v2/admin/update_tenant/returns_the_correct_value_for_body_.yml +64 -0
  136. data/test/cassettes/openstack/identity/v2/admin/update_tenant/returns_the_correct_value_for_headers_.yml +64 -0
  137. data/test/cassettes/openstack/identity/v2/admin/update_tenant/returns_the_correct_value_for_http_method_.yml +64 -0
  138. data/test/cassettes/openstack/identity/v2/admin/update_tenant/returns_the_correct_value_for_url_.yml +64 -0
  139. data/test/cassettes/openstack/identity/v2/admin/update_user/leads_to_a_valid_response_when_invalid_user_id_is_provided.yml +98 -0
  140. data/test/cassettes/openstack/identity/v2/admin/update_user/leads_to_a_valid_response_when_valid_user_id_is_provided.yml +100 -0
  141. data/test/cassettes/openstack/identity/v2/admin/update_user/returns_the_correct_value_for_body_.yml +64 -0
  142. data/test/cassettes/openstack/identity/v2/admin/update_user/returns_the_correct_value_for_headers_.yml +64 -0
  143. data/test/cassettes/openstack/identity/v2/admin/update_user/returns_the_correct_value_for_http_method_.yml +64 -0
  144. data/test/cassettes/openstack/identity/v2/admin/update_user/returns_the_correct_value_for_url_.yml +64 -0
  145. data/test/cassettes/openstack/identity/v2/public/root/leads_to_a_valid_response_when_no_parameters_are_provided.yml +104 -0
  146. data/test/cassettes/openstack/identity/v2/public/root/returns_the_correct_value_for_body_.yml +65 -0
  147. data/test/cassettes/openstack/identity/v2/public/root/returns_the_correct_value_for_headers_.yml +65 -0
  148. data/test/cassettes/openstack/identity/v2/public/root/returns_the_correct_value_for_http_method_.yml +65 -0
  149. data/test/cassettes/openstack/identity/v2/public/root/returns_the_correct_value_for_url_.yml +65 -0
  150. data/test/cassettes/openstack/image/v1/public/root/leads_to_a_valid_response_when_no_parameters_are_provided.yml +105 -0
  151. data/test/cassettes/openstack/image/v1/public/root/returns_the_correct_value_for_body_.yml +65 -0
  152. data/test/cassettes/openstack/image/v1/public/root/returns_the_correct_value_for_headers_.yml +65 -0
  153. data/test/cassettes/openstack/image/v1/public/root/returns_the_correct_value_for_http_method_.yml +65 -0
  154. data/test/cassettes/openstack/image/v1/public/root/returns_the_correct_value_for_url_.yml +65 -0
  155. data/test/cassettes/openstack/metering/v1/admin/projects/leads_to_a_valid_response_when_no_parameters_are_provided.yml +97 -0
  156. data/test/cassettes/openstack/metering/v1/admin/projects/returns_the_correct_value_for_body_.yml +65 -0
  157. data/test/cassettes/openstack/metering/v1/admin/projects/returns_the_correct_value_for_headers_.yml +65 -0
  158. data/test/cassettes/openstack/metering/v1/admin/projects/returns_the_correct_value_for_http_method_.yml +65 -0
  159. data/test/cassettes/openstack/metering/v1/admin/projects/returns_the_correct_value_for_url_.yml +65 -0
  160. data/test/cassettes/openstack/volume/v1/public/root/leads_to_a_valid_response_when_no_parameters_are_provided.yml +104 -0
  161. data/test/cassettes/openstack/volume/v1/public/root/returns_the_correct_value_for_body_.yml +65 -0
  162. data/test/cassettes/openstack/volume/v1/public/root/returns_the_correct_value_for_headers_.yml +65 -0
  163. data/test/cassettes/openstack/volume/v1/public/root/returns_the_correct_value_for_http_method_.yml +65 -0
  164. data/test/cassettes/openstack/volume/v1/public/root/returns_the_correct_value_for_url_.yml +65 -0
  165. data/test/support/vcr_setup.rb +10 -5
  166. metadata +292 -2
@@ -0,0 +1,143 @@
1
+ require 'test_helper'
2
+
3
+ class Aviator::Test
4
+
5
+ describe 'aviator/openstack/identity/v2/admin/update_user' do
6
+
7
+ def create_request(session_data = get_session_data, &block)
8
+ block ||= lambda { |p| p[:id] = 0 }
9
+ klass.new(session_data, &block)
10
+ end
11
+
12
+
13
+ def get_session_data
14
+ session.send :auth_info
15
+ end
16
+
17
+
18
+ def helper
19
+ Aviator::Test::RequestHelper
20
+ end
21
+
22
+
23
+ def klass
24
+ @klass ||= helper.load_request('openstack', 'identity', 'v2', 'admin', 'update_user.rb')
25
+ end
26
+
27
+
28
+ def session
29
+ unless @session
30
+ @session = Aviator::Session.new(
31
+ config_file: Environment.path,
32
+ environment: 'openstack_admin'
33
+ )
34
+ @session.authenticate
35
+ end
36
+
37
+ @session
38
+ end
39
+
40
+
41
+ validate_attr :anonymous? do
42
+ klass.anonymous?.must_equal false
43
+ end
44
+
45
+
46
+ validate_attr :api_version do
47
+ klass.api_version.must_equal :v2
48
+ end
49
+
50
+ validate_attr :body do
51
+ request = create_request
52
+
53
+ klass.body?.must_equal true
54
+ request.body?.must_equal true
55
+ request.body.wont_be_nil
56
+ end
57
+
58
+
59
+ validate_attr :endpoint_type do
60
+ klass.endpoint_type.must_equal :admin
61
+ end
62
+
63
+
64
+ validate_attr :headers do
65
+ headers = { 'X-Auth-Token' => get_session_data[:access][:token][:id] }
66
+
67
+ request = create_request
68
+
69
+ request.headers.must_equal headers
70
+ end
71
+
72
+
73
+ validate_attr :http_method do
74
+ create_request.http_method.must_equal :put
75
+ end
76
+
77
+
78
+ validate_attr :required_params do
79
+ klass.required_params.must_equal [:id]
80
+ end
81
+
82
+
83
+ validate_attr :optional_params do
84
+ klass.optional_params.must_equal [
85
+ :name,
86
+ :password,
87
+ :email,
88
+ :enabled,
89
+ :tenantId
90
+ ]
91
+ end
92
+
93
+
94
+ validate_attr :url do
95
+ user_id = 'thisdoesntneedtobevalidinthistest'
96
+
97
+ service_spec = get_session_data[:access][:serviceCatalog].find { |s| s[:type] == 'identity' }
98
+ url = "#{ service_spec[:endpoints][0][:adminURL] }/users/#{ user_id }"
99
+
100
+ request = create_request do |params|
101
+ params[:id] = user_id
102
+ end
103
+
104
+ request.url.must_equal url
105
+ end
106
+
107
+
108
+ validate_response 'valid user id is provided' do
109
+ # must be hardcoded so as not to inadvertently alter random resources
110
+ # in case the corresponding cassette is deleted
111
+ user_id = 'cf086a74f0854398a2a8f6bbee2029e8'
112
+ new_name = 'updated_name'
113
+
114
+ response = session.identity_service.request :update_user do |params|
115
+ params[:id] = user_id
116
+ params[:name] = new_name
117
+ end
118
+
119
+ response.status.must_equal 200
120
+ response.body.wont_be_nil
121
+ response.body[:user].wont_be_nil
122
+ response.body[:user][:name].must_equal new_name
123
+ response.headers.wont_be_nil
124
+ end
125
+
126
+
127
+ validate_response 'invalid user id is provided' do
128
+ user_id = 'abogususeridthatdoesnotexist'
129
+
130
+ response = session.identity_service.request :update_user do |params|
131
+ params[:id] = user_id
132
+ params[:name] = 'it does not matter'
133
+ end
134
+
135
+ response.status.must_equal 404
136
+ response.body.wont_be_nil
137
+ response.headers.wont_be_nil
138
+ end
139
+
140
+
141
+ end
142
+
143
+ end
@@ -0,0 +1,106 @@
1
+ require 'test_helper'
2
+
3
+ class Aviator::Test
4
+
5
+ describe 'aviator/openstack/identity/v2/public/root' do
6
+
7
+ def create_request(session_data = get_session_data)
8
+ klass.new(session_data)
9
+ end
10
+
11
+
12
+ def get_session_data
13
+ session.send :auth_info
14
+ end
15
+
16
+
17
+ def helper
18
+ Aviator::Test::RequestHelper
19
+ end
20
+
21
+
22
+ def klass
23
+ @klass ||= helper.load_request('openstack', 'identity', 'v2', 'public', 'root.rb')
24
+ end
25
+
26
+
27
+ def session
28
+ unless @session
29
+ @session = Aviator::Session.new(
30
+ config_file: Environment.path,
31
+ environment: 'openstack_member'
32
+ )
33
+ @session.authenticate
34
+ end
35
+
36
+ @session
37
+ end
38
+
39
+
40
+ validate_attr :anonymous? do
41
+ klass.anonymous?.must_equal false
42
+ end
43
+
44
+
45
+ validate_attr :api_version do
46
+ klass.api_version.must_equal :v2
47
+ end
48
+
49
+
50
+ validate_attr :body do
51
+ request = create_request
52
+
53
+ klass.body?.must_equal false
54
+ request.body?.must_equal false
55
+ end
56
+
57
+
58
+ validate_attr :endpoint_type do
59
+ klass.endpoint_type.must_equal :public
60
+ end
61
+
62
+
63
+ validate_attr :headers do
64
+ headers = { 'X-Auth-Token' => get_session_data[:access][:token][:id] }
65
+
66
+ request = create_request
67
+
68
+ request.headers.must_equal headers
69
+ end
70
+
71
+
72
+ validate_attr :http_method do
73
+ create_request.http_method.must_equal :get
74
+ end
75
+
76
+
77
+ validate_attr :optional_params do
78
+ klass.optional_params.must_equal []
79
+ end
80
+
81
+
82
+ validate_attr :required_params do
83
+ klass.required_params.must_equal []
84
+ end
85
+
86
+
87
+ validate_attr :url do
88
+ service_spec = get_session_data[:access][:serviceCatalog].find{|s| s[:type] == 'identity' }
89
+ uri = URI(service_spec[:endpoints][0][:publicURL])
90
+ url = "#{ uri.scheme }://#{ uri.host }:#{ uri.port.to_s }/v2.0/"
91
+
92
+ create_request.url.must_equal url
93
+ end
94
+
95
+
96
+
97
+ validate_response 'no parameters are provided' do
98
+ response = session.identity_service.request :root
99
+
100
+ response.status.must_equal 200
101
+ response.body.wont_be_nil
102
+ end
103
+
104
+ end
105
+
106
+ end
@@ -0,0 +1,106 @@
1
+ require 'test_helper'
2
+
3
+ class Aviator::Test
4
+
5
+ describe 'aviator/openstack/image/v1/public/root' do
6
+
7
+ def create_request(session_data = get_session_data)
8
+ klass.new(session_data)
9
+ end
10
+
11
+
12
+ def get_session_data
13
+ session.send :auth_info
14
+ end
15
+
16
+
17
+ def helper
18
+ Aviator::Test::RequestHelper
19
+ end
20
+
21
+
22
+ def klass
23
+ @klass ||= helper.load_request('openstack', 'image', 'v1', 'public', 'root.rb')
24
+ end
25
+
26
+
27
+ def session
28
+ unless @session
29
+ @session = Aviator::Session.new(
30
+ config_file: Environment.path,
31
+ environment: 'openstack_member'
32
+ )
33
+ @session.authenticate
34
+ end
35
+
36
+ @session
37
+ end
38
+
39
+
40
+ validate_attr :anonymous? do
41
+ klass.anonymous?.must_equal false
42
+ end
43
+
44
+
45
+ validate_attr :api_version do
46
+ klass.api_version.must_equal :v1
47
+ end
48
+
49
+
50
+ validate_attr :body do
51
+ request = create_request
52
+
53
+ klass.body?.must_equal false
54
+ request.body?.must_equal false
55
+ end
56
+
57
+
58
+ validate_attr :endpoint_type do
59
+ klass.endpoint_type.must_equal :public
60
+ end
61
+
62
+
63
+ validate_attr :headers do
64
+ headers = { 'X-Auth-Token' => get_session_data[:access][:token][:id] }
65
+
66
+ request = create_request
67
+
68
+ request.headers.must_equal headers
69
+ end
70
+
71
+
72
+ validate_attr :http_method do
73
+ create_request.http_method.must_equal :get
74
+ end
75
+
76
+
77
+ validate_attr :optional_params do
78
+ klass.optional_params.must_equal []
79
+ end
80
+
81
+
82
+ validate_attr :required_params do
83
+ klass.required_params.must_equal []
84
+ end
85
+
86
+
87
+ validate_attr :url do
88
+ service_spec = get_session_data[:access][:serviceCatalog].find{|s| s[:type] == 'image' }
89
+ uri = URI(service_spec[:endpoints][0][:publicURL])
90
+ url = "#{ uri.scheme }://#{ uri.host }:#{ uri.port.to_s }/v1/"
91
+
92
+ create_request.url.must_equal url
93
+ end
94
+
95
+
96
+
97
+ validate_response 'no parameters are provided' do
98
+ response = session.image_service.request :root
99
+
100
+ response.status.must_equal 200
101
+ response.body.wont_be_nil
102
+ end
103
+
104
+ end
105
+
106
+ end
@@ -0,0 +1,106 @@
1
+ require 'test_helper'
2
+
3
+ class Aviator::Test
4
+
5
+ describe 'aviator/openstack/metering/v1/admin/projects' do
6
+
7
+ def create_request(session_data = get_session_data)
8
+ klass.new(session_data)
9
+ end
10
+
11
+
12
+ def get_session_data
13
+ session.send :auth_info
14
+ end
15
+
16
+
17
+ def helper
18
+ Aviator::Test::RequestHelper
19
+ end
20
+
21
+
22
+ def klass
23
+ @klass ||= helper.load_request('openstack', 'metering', 'v1', 'admin', 'list_projects.rb')
24
+ end
25
+
26
+
27
+ def session
28
+ unless @session
29
+ @session = Aviator::Session.new(
30
+ config_file: Environment.path,
31
+ environment: 'openstack_member'
32
+ )
33
+ @session.authenticate
34
+ end
35
+
36
+ @session
37
+ end
38
+
39
+
40
+ validate_attr :anonymous? do
41
+ klass.anonymous?.must_equal false
42
+ end
43
+
44
+
45
+ validate_attr :api_version do
46
+ klass.api_version.must_equal :v1
47
+ end
48
+
49
+
50
+ validate_attr :body do
51
+ request = create_request
52
+
53
+ klass.body?.must_equal false
54
+ request.body?.must_equal false
55
+ end
56
+
57
+
58
+ validate_attr :endpoint_type do
59
+ klass.endpoint_type.must_equal :admin
60
+ end
61
+
62
+
63
+ validate_attr :headers do
64
+ headers = { 'X-Auth-Token' => get_session_data[:access][:token][:id] }
65
+
66
+ request = create_request
67
+
68
+ request.headers.must_equal headers
69
+ end
70
+
71
+
72
+ validate_attr :http_method do
73
+ create_request.http_method.must_equal :get
74
+ end
75
+
76
+
77
+ validate_attr :optional_params do
78
+ klass.optional_params.must_equal []
79
+ end
80
+
81
+
82
+ validate_attr :required_params do
83
+ klass.required_params.must_equal []
84
+ end
85
+
86
+
87
+ validate_attr :url do
88
+ service_spec = get_session_data[:access][:serviceCatalog].find{|s| s[:type] == 'metering' }
89
+ uri = URI(service_spec[:endpoints][0][:adminURL])
90
+ url = "#{ uri.scheme }://#{ uri.host }:#{ uri.port.to_s }/v1/projects"
91
+
92
+ create_request.url.must_equal url
93
+ end
94
+
95
+
96
+
97
+ validate_response 'no parameters are provided' do
98
+ response = session.metering_service.request :list_projects
99
+
100
+ response.status.must_equal 200
101
+ response.body.wont_be_nil
102
+ end
103
+
104
+ end
105
+
106
+ end