aviator 0.0.5 → 0.0.6

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.
Files changed (220) hide show
  1. checksums.yaml +8 -8
  2. data/README.md +1 -204
  3. data/aviator.gemspec +3 -2
  4. data/lib/aviator/core/cli/describer.rb +99 -48
  5. data/lib/aviator/core/cli.rb +1 -0
  6. data/lib/aviator/core/request.rb +46 -9
  7. data/lib/aviator/core/request_builder.rb +82 -30
  8. data/lib/aviator/core/response.rb +15 -23
  9. data/lib/aviator/core/service.rb +43 -17
  10. data/lib/aviator/core.rb +1 -0
  11. data/lib/aviator/openstack/common/v2/admin/base.rb +9 -0
  12. data/lib/aviator/openstack/common/v2/public/base.rb +43 -0
  13. data/lib/aviator/openstack/compute/v2/admin/confirm_server_resize.rb +4 -14
  14. data/lib/aviator/openstack/compute/v2/admin/create_network.rb +56 -0
  15. data/lib/aviator/openstack/compute/v2/admin/get_host_details.rb +4 -15
  16. data/lib/aviator/openstack/compute/v2/admin/list_hosts.rb +5 -16
  17. data/lib/aviator/openstack/compute/v2/admin/lock_server.rb +34 -0
  18. data/lib/aviator/openstack/compute/v2/admin/migrate_server.rb +34 -0
  19. data/lib/aviator/openstack/compute/v2/admin/reset_server.rb +39 -0
  20. data/lib/aviator/openstack/compute/v2/admin/resize_server.rb +5 -15
  21. data/lib/aviator/openstack/compute/v2/admin/unlock_server.rb +34 -0
  22. data/lib/aviator/openstack/compute/v2/public/change_admin_password.rb +14 -24
  23. data/lib/aviator/openstack/compute/v2/public/create_image.rb +4 -14
  24. data/lib/aviator/openstack/compute/v2/public/create_server.rb +9 -19
  25. data/lib/aviator/openstack/compute/v2/public/delete_image.rb +4 -15
  26. data/lib/aviator/openstack/compute/v2/public/delete_server.rb +4 -14
  27. data/lib/aviator/openstack/compute/v2/public/get_flavor_details.rb +29 -0
  28. data/lib/aviator/openstack/compute/v2/public/get_image_details.rb +4 -15
  29. data/lib/aviator/openstack/compute/v2/public/get_network_details.rb +30 -0
  30. data/lib/aviator/openstack/compute/v2/public/get_server.rb +9 -20
  31. data/lib/aviator/openstack/compute/v2/public/list_addresses.rb +5 -17
  32. data/lib/aviator/openstack/compute/v2/public/list_flavors.rb +8 -28
  33. data/lib/aviator/openstack/compute/v2/public/list_images.rb +6 -26
  34. data/lib/aviator/openstack/compute/v2/public/list_networks.rb +27 -0
  35. data/lib/aviator/openstack/compute/v2/public/list_servers.rb +14 -25
  36. data/lib/aviator/openstack/compute/v2/public/pause_server.rb +34 -0
  37. data/lib/aviator/openstack/compute/v2/public/reboot_server.rb +4 -14
  38. data/lib/aviator/openstack/compute/v2/public/rebuild_server.rb +8 -18
  39. data/lib/aviator/openstack/compute/v2/public/resume_server.rb +34 -0
  40. data/lib/aviator/openstack/compute/v2/public/root.rb +4 -14
  41. data/lib/aviator/openstack/compute/v2/public/suspend_server.rb +34 -0
  42. data/lib/aviator/openstack/compute/v2/public/unpause_server.rb +34 -0
  43. data/lib/aviator/openstack/compute/v2/public/update_server.rb +6 -16
  44. data/lib/aviator/openstack/identity/v2/admin/add_role_to_user_on_tenant.rb +5 -18
  45. data/lib/aviator/openstack/identity/v2/admin/create_tenant.rb +4 -14
  46. data/lib/aviator/openstack/identity/v2/admin/create_user.rb +1 -1
  47. data/lib/aviator/openstack/identity/v2/admin/delete_role_from_user_on_tenant.rb +6 -18
  48. data/lib/aviator/openstack/identity/v2/admin/delete_tenant.rb +4 -15
  49. data/lib/aviator/openstack/identity/v2/admin/list_tenants.rb +5 -24
  50. data/lib/aviator/openstack/identity/v2/admin/update_tenant.rb +4 -14
  51. data/lib/aviator/openstack/identity/v2/admin/update_user.rb +1 -1
  52. data/lib/aviator/openstack/identity/v2/public/create_token.rb +6 -11
  53. data/lib/aviator/openstack/identity/v2/public/list_tenants.rb +5 -24
  54. data/lib/aviator/openstack/identity/v2/public/root.rb +5 -14
  55. data/lib/aviator/openstack/image/v1/public/root.rb +5 -14
  56. data/lib/aviator/openstack/metering/v1/admin/list_projects.rb +4 -11
  57. data/lib/aviator/openstack/volume/v1/public/create_volume.rb +47 -0
  58. data/lib/aviator/openstack/volume/v1/public/delete_volume.rb +25 -0
  59. data/lib/aviator/openstack/volume/v1/public/get_volume.rb +28 -0
  60. data/lib/aviator/openstack/volume/v1/public/list_volume_types.rb +29 -0
  61. data/lib/aviator/openstack/volume/v1/public/list_volumes.rb +37 -0
  62. data/lib/aviator/openstack/volume/v1/public/root.rb +6 -14
  63. data/lib/aviator/openstack/volume/v1/public/update_volume.rb +43 -0
  64. data/lib/aviator/version.rb +1 -1
  65. data/test/aviator/core/cli/describer_test.rb +236 -114
  66. data/test/aviator/core/request_builder_test.rb +133 -12
  67. data/test/aviator/core/request_test.rb +64 -0
  68. data/test/aviator/core/service_test.rb +18 -0
  69. data/test/aviator/openstack/common/v2/public/base_test.rb +109 -0
  70. data/test/aviator/openstack/compute/v2/admin/create_network_test.rb +163 -0
  71. data/test/aviator/openstack/compute/v2/admin/lock_server_test.rb +125 -0
  72. data/test/aviator/openstack/compute/v2/admin/migrate_server_test.rb +125 -0
  73. data/test/aviator/openstack/compute/v2/admin/reset_server_test.rb +141 -0
  74. data/test/aviator/openstack/compute/v2/admin/resize_server_test.rb +9 -0
  75. data/test/aviator/openstack/compute/v2/admin/unlock_server_test.rb +125 -0
  76. data/test/aviator/openstack/compute/v2/public/change_admin_password_test.rb +9 -0
  77. data/test/aviator/openstack/compute/v2/public/create_server_test.rb +14 -1
  78. data/test/aviator/openstack/compute/v2/public/get_flavor_details_test.rb +126 -0
  79. data/test/aviator/openstack/compute/v2/public/get_image_details_test.rb +1 -1
  80. data/test/aviator/openstack/compute/v2/public/get_network_details_test.rb +123 -0
  81. data/test/aviator/openstack/compute/v2/public/get_server_test.rb +35 -35
  82. data/test/aviator/openstack/compute/v2/public/list_addresses_test.rb +9 -0
  83. data/test/aviator/openstack/compute/v2/public/list_flavors_test.rb +50 -40
  84. data/test/aviator/openstack/compute/v2/public/list_images_test.rb +42 -33
  85. data/test/aviator/openstack/compute/v2/public/list_networks_test.rb +100 -0
  86. data/test/aviator/openstack/compute/v2/public/list_servers_test.rb +9 -1
  87. data/test/aviator/openstack/compute/v2/public/pause_server_test.rb +125 -0
  88. data/test/aviator/openstack/compute/v2/public/rebuild_server_test.rb +12 -0
  89. data/test/aviator/openstack/compute/v2/public/resume_server_test.rb +125 -0
  90. data/test/aviator/openstack/compute/v2/public/suspend_server_test.rb +125 -0
  91. data/test/aviator/openstack/compute/v2/public/unpause_server_test.rb +125 -0
  92. data/test/aviator/openstack/compute/v2/public/update_server_test.rb +37 -27
  93. data/test/aviator/openstack/identity/v2/admin/create_user_test.rb +9 -0
  94. data/test/aviator/openstack/identity/v2/admin/update_user_test.rb +9 -0
  95. data/test/aviator/openstack/identity/v2/public/create_token_test.rb +16 -5
  96. data/test/aviator/openstack/identity/v2/public/list_tenants_test.rb +131 -0
  97. data/test/aviator/openstack/volume/v1/public/create_volume_test.rb +126 -0
  98. data/test/aviator/openstack/volume/v1/public/delete_volume_test.rb +131 -0
  99. data/test/aviator/openstack/volume/v1/public/get_volume_test.rb +141 -0
  100. data/test/aviator/openstack/volume/v1/public/list_volume_types_test.rb +91 -0
  101. data/test/aviator/openstack/volume/v1/public/list_volumes_test.rb +154 -0
  102. data/test/aviator/openstack/volume/v1/public/update_volume_test.rb +130 -0
  103. data/test/cassettes/openstack/common/v2/public/base/returns_the_correct_value_for_headers_.yml +62 -0
  104. data/test/cassettes/openstack/compute/v2/admin/create_network/leads_to_a_valid_response_when_invalid_parameters_are_provided.yml +98 -0
  105. data/test/cassettes/openstack/compute/v2/admin/create_network/leads_to_a_valid_response_when_valid_parameters_are_provided.yml +103 -0
  106. data/test/cassettes/openstack/compute/v2/admin/create_network/returns_the_correct_value_for_headers_.yml +64 -0
  107. data/test/cassettes/openstack/compute/v2/admin/create_network/returns_the_correct_value_for_http_method_.yml +64 -0
  108. data/test/cassettes/openstack/compute/v2/admin/create_network/returns_the_correct_value_for_url_.yml +64 -0
  109. data/test/cassettes/openstack/compute/v2/admin/lock_server/leads_to_a_valid_response_when_invalid_server_id_is_provided.yml +98 -0
  110. data/test/cassettes/openstack/compute/v2/admin/lock_server/leads_to_a_valid_response_when_valid_params_are_provided.yml +131 -0
  111. data/test/cassettes/openstack/compute/v2/admin/lock_server/returns_the_correct_value_for_body_.yml +64 -0
  112. data/test/cassettes/openstack/compute/v2/admin/lock_server/returns_the_correct_value_for_headers_.yml +64 -0
  113. data/test/cassettes/openstack/compute/v2/admin/lock_server/returns_the_correct_value_for_http_method_.yml +64 -0
  114. data/test/cassettes/openstack/compute/v2/admin/lock_server/returns_the_correct_value_for_url_.yml +64 -0
  115. data/test/cassettes/openstack/compute/v2/admin/migrate_server/leads_to_a_valid_response_when_invalid_server_id_is_provided.yml +98 -0
  116. data/test/cassettes/openstack/compute/v2/admin/migrate_server/leads_to_a_valid_response_when_valid_params_are_provided.yml +131 -0
  117. data/test/cassettes/openstack/compute/v2/admin/migrate_server/returns_the_correct_value_for_body_.yml +64 -0
  118. data/test/cassettes/openstack/compute/v2/admin/migrate_server/returns_the_correct_value_for_headers_.yml +64 -0
  119. data/test/cassettes/openstack/compute/v2/admin/migrate_server/returns_the_correct_value_for_http_method_.yml +64 -0
  120. data/test/cassettes/openstack/compute/v2/admin/migrate_server/returns_the_correct_value_for_url_.yml +64 -0
  121. data/test/cassettes/openstack/compute/v2/admin/reset_server/leads_to_a_valid_response_when_invalid_server_id_is_provided.yml +98 -0
  122. data/test/cassettes/openstack/compute/v2/admin/reset_server/leads_to_a_valid_response_when_valid_params_are_provided.yml +131 -0
  123. data/test/cassettes/openstack/compute/v2/admin/reset_server/returns_the_correct_value_for_body_.yml +64 -0
  124. data/test/cassettes/openstack/compute/v2/admin/reset_server/returns_the_correct_value_for_headers_.yml +64 -0
  125. data/test/cassettes/openstack/compute/v2/admin/reset_server/returns_the_correct_value_for_http_method_.yml +64 -0
  126. data/test/cassettes/openstack/compute/v2/admin/reset_server/returns_the_correct_value_for_url_.yml +64 -0
  127. data/test/cassettes/openstack/compute/v2/admin/unlock_server/leads_to_a_valid_response_when_invalid_server_id_is_provided.yml +98 -0
  128. data/test/cassettes/openstack/compute/v2/admin/unlock_server/leads_to_a_valid_response_when_valid_params_are_provided.yml +131 -0
  129. data/test/cassettes/openstack/compute/v2/admin/unlock_server/returns_the_correct_value_for_body_.yml +64 -0
  130. data/test/cassettes/openstack/compute/v2/admin/unlock_server/returns_the_correct_value_for_headers_.yml +64 -0
  131. data/test/cassettes/openstack/compute/v2/admin/unlock_server/returns_the_correct_value_for_http_method_.yml +64 -0
  132. data/test/cassettes/openstack/compute/v2/admin/unlock_server/returns_the_correct_value_for_url_.yml +64 -0
  133. data/test/cassettes/openstack/compute/v2/public/get_flavor_details/leads_to_a_valid_response_when_invalid_parameters_are_provided.yml +96 -0
  134. data/test/cassettes/openstack/compute/v2/public/get_flavor_details/leads_to_a_valid_response_when_parameters_are_provided.yml +99 -0
  135. data/test/cassettes/openstack/compute/v2/public/get_flavor_details/returns_the_correct_value_for_body_.yml +62 -0
  136. data/test/cassettes/openstack/compute/v2/public/get_flavor_details/returns_the_correct_value_for_headers_.yml +62 -0
  137. data/test/cassettes/openstack/compute/v2/public/get_flavor_details/returns_the_correct_value_for_http_method_.yml +62 -0
  138. data/test/cassettes/openstack/compute/v2/public/get_flavor_details/returns_the_correct_value_for_url_.yml +62 -0
  139. data/test/cassettes/openstack/compute/v2/public/get_network_details/leads_to_a_valid_response_when_invalid_network_id_is_provided.yml +99 -0
  140. data/test/cassettes/openstack/compute/v2/public/get_network_details/leads_to_a_valid_response_when_valid_network_id_is_provided.yml +136 -0
  141. data/test/cassettes/openstack/compute/v2/public/get_network_details/returns_the_correct_value_for_body_.yml +65 -0
  142. data/test/cassettes/openstack/compute/v2/public/get_network_details/returns_the_correct_value_for_headers_.yml +65 -0
  143. data/test/cassettes/openstack/compute/v2/public/get_network_details/returns_the_correct_value_for_http_method_.yml +65 -0
  144. data/test/cassettes/openstack/compute/v2/public/get_network_details/returns_the_correct_value_for_url_.yml +65 -0
  145. data/test/cassettes/openstack/compute/v2/public/list_networks/leads_to_a_valid_response_when_no_parameters_are_provided.yml +101 -0
  146. data/test/cassettes/openstack/compute/v2/public/list_networks/returns_the_correct_value_for_body_.yml +65 -0
  147. data/test/cassettes/openstack/compute/v2/public/list_networks/returns_the_correct_value_for_headers_.yml +65 -0
  148. data/test/cassettes/openstack/compute/v2/public/list_networks/returns_the_correct_value_for_http_method_.yml +65 -0
  149. data/test/cassettes/openstack/compute/v2/public/list_networks/returns_the_correct_value_for_url_.yml +65 -0
  150. data/test/cassettes/openstack/compute/v2/public/pause_server/leads_to_a_valid_response_when_invalid_server_id_is_provided.yml +99 -0
  151. data/test/cassettes/openstack/compute/v2/public/pause_server/leads_to_a_valid_response_when_valid_params_are_provided.yml +132 -0
  152. data/test/cassettes/openstack/compute/v2/public/pause_server/returns_the_correct_value_for_body_.yml +65 -0
  153. data/test/cassettes/openstack/compute/v2/public/pause_server/returns_the_correct_value_for_headers_.yml +65 -0
  154. data/test/cassettes/openstack/compute/v2/public/pause_server/returns_the_correct_value_for_http_method_.yml +65 -0
  155. data/test/cassettes/openstack/compute/v2/public/pause_server/returns_the_correct_value_for_url_.yml +65 -0
  156. data/test/cassettes/openstack/compute/v2/public/resume_server/leads_to_a_valid_response_when_invalid_server_id_is_provided.yml +99 -0
  157. data/test/cassettes/openstack/compute/v2/public/resume_server/leads_to_a_valid_response_when_valid_params_are_provided.yml +132 -0
  158. data/test/cassettes/openstack/compute/v2/public/resume_server/returns_the_correct_value_for_body_.yml +65 -0
  159. data/test/cassettes/openstack/compute/v2/public/resume_server/returns_the_correct_value_for_headers_.yml +65 -0
  160. data/test/cassettes/openstack/compute/v2/public/resume_server/returns_the_correct_value_for_http_method_.yml +65 -0
  161. data/test/cassettes/openstack/compute/v2/public/resume_server/returns_the_correct_value_for_url_.yml +65 -0
  162. data/test/cassettes/openstack/compute/v2/public/suspend_server/leads_to_a_valid_response_when_invalid_server_id_is_provided.yml +99 -0
  163. data/test/cassettes/openstack/compute/v2/public/suspend_server/leads_to_a_valid_response_when_valid_params_are_provided.yml +132 -0
  164. data/test/cassettes/openstack/compute/v2/public/suspend_server/returns_the_correct_value_for_body_.yml +65 -0
  165. data/test/cassettes/openstack/compute/v2/public/suspend_server/returns_the_correct_value_for_headers_.yml +65 -0
  166. data/test/cassettes/openstack/compute/v2/public/suspend_server/returns_the_correct_value_for_http_method_.yml +65 -0
  167. data/test/cassettes/openstack/compute/v2/public/suspend_server/returns_the_correct_value_for_url_.yml +65 -0
  168. data/test/cassettes/openstack/compute/v2/public/unpause_server/leads_to_a_valid_response_when_invalid_server_id_is_provided.yml +99 -0
  169. data/test/cassettes/openstack/compute/v2/public/unpause_server/leads_to_a_valid_response_when_valid_params_are_provided.yml +132 -0
  170. data/test/cassettes/openstack/compute/v2/public/unpause_server/returns_the_correct_value_for_body_.yml +65 -0
  171. data/test/cassettes/openstack/compute/v2/public/unpause_server/returns_the_correct_value_for_headers_.yml +65 -0
  172. data/test/cassettes/openstack/compute/v2/public/unpause_server/returns_the_correct_value_for_http_method_.yml +65 -0
  173. data/test/cassettes/openstack/compute/v2/public/unpause_server/returns_the_correct_value_for_url_.yml +65 -0
  174. data/test/cassettes/openstack/identity/v2/public/list_tenants/leads_to_a_valid_response_when_no_parameters_are_provided.yml +143 -0
  175. data/test/cassettes/openstack/identity/v2/public/list_tenants/leads_to_a_valid_response_when_session_is_using_a_default_token.yml +74 -0
  176. data/test/cassettes/openstack/identity/v2/public/list_tenants/returns_the_correct_value_for_body_.yml +62 -0
  177. data/test/cassettes/openstack/identity/v2/public/list_tenants/returns_the_correct_value_for_headers_.yml +62 -0
  178. data/test/cassettes/openstack/identity/v2/public/list_tenants/returns_the_correct_value_for_http_method_.yml +62 -0
  179. data/test/cassettes/openstack/identity/v2/public/list_tenants/returns_the_correct_value_for_url_.yml +62 -0
  180. data/test/cassettes/openstack/volume/v1/public/create_volume/leads_to_a_valid_response_when_parameters_are_provided.yml +101 -0
  181. data/test/cassettes/openstack/volume/v1/public/create_volume/returns_the_correct_value_for_body_.yml +62 -0
  182. data/test/cassettes/openstack/volume/v1/public/create_volume/returns_the_correct_value_for_headers_.yml +62 -0
  183. data/test/cassettes/openstack/volume/v1/public/create_volume/returns_the_correct_value_for_http_method_.yml +62 -0
  184. data/test/cassettes/openstack/volume/v1/public/create_volume/returns_the_correct_value_for_url_.yml +62 -0
  185. data/test/cassettes/openstack/volume/v1/public/delete_volume/leads_to_a_valid_response_when_invalid_volume_id_is_provided.yml +96 -0
  186. data/test/cassettes/openstack/volume/v1/public/delete_volume/leads_to_a_valid_response_when_valid_volume_id_is_provided.yml +167 -0
  187. data/test/cassettes/openstack/volume/v1/public/delete_volume/returns_the_correct_value_for_body_.yml +62 -0
  188. data/test/cassettes/openstack/volume/v1/public/delete_volume/returns_the_correct_value_for_headers_.yml +62 -0
  189. data/test/cassettes/openstack/volume/v1/public/delete_volume/returns_the_correct_value_for_http_method_.yml +62 -0
  190. data/test/cassettes/openstack/volume/v1/public/delete_volume/returns_the_correct_value_for_url_.yml +62 -0
  191. data/test/cassettes/openstack/volume/v1/public/get_volume/leads_to_a_valid_response_when_a_valid_volume_id_is_provided.yml +213 -0
  192. data/test/cassettes/openstack/volume/v1/public/get_volume/leads_to_a_valid_response_when_an_invalid_volume_id_is_provided.yml +96 -0
  193. data/test/cassettes/openstack/volume/v1/public/get_volume/returns_the_correct_value_for_body_.yml +62 -0
  194. data/test/cassettes/openstack/volume/v1/public/get_volume/returns_the_correct_value_for_headers_.yml +62 -0
  195. data/test/cassettes/openstack/volume/v1/public/get_volume/returns_the_correct_value_for_http_method_.yml +62 -0
  196. data/test/cassettes/openstack/volume/v1/public/get_volume/returns_the_correct_value_for_url_.yml +62 -0
  197. data/test/cassettes/openstack/volume/v1/public/list_volume_types/leads_to_a_valid_response_when_no_parameters_are_provided.yml +95 -0
  198. data/test/cassettes/openstack/volume/v1/public/list_volume_types/returns_the_correct_value_for_body_.yml +62 -0
  199. data/test/cassettes/openstack/volume/v1/public/list_volume_types/returns_the_correct_value_for_headers_.yml +62 -0
  200. data/test/cassettes/openstack/volume/v1/public/list_volume_types/returns_the_correct_value_for_http_method_.yml +62 -0
  201. data/test/cassettes/openstack/volume/v1/public/list_volumes/leads_to_a_valid_response_when_no_parameters_are_provided.yml +178 -0
  202. data/test/cassettes/openstack/volume/v1/public/list_volumes/leads_to_a_valid_response_when_parameters_are_invalid.yml +95 -0
  203. data/test/cassettes/openstack/volume/v1/public/list_volumes/leads_to_a_valid_response_when_parameters_are_valid.yml +170 -0
  204. data/test/cassettes/openstack/volume/v1/public/list_volumes/returns_the_correct_value_for_body_.yml +62 -0
  205. data/test/cassettes/openstack/volume/v1/public/list_volumes/returns_the_correct_value_for_headers_.yml +62 -0
  206. data/test/cassettes/openstack/volume/v1/public/list_volumes/returns_the_correct_value_for_http_method_.yml +62 -0
  207. data/test/cassettes/openstack/volume/v1/public/root/leads_to_a_valid_response_when_no_parameters_are_provided.yml +36 -39
  208. data/test/cassettes/openstack/volume/v1/public/root/returns_the_correct_value_for_body_.yml +28 -31
  209. data/test/cassettes/openstack/volume/v1/public/root/returns_the_correct_value_for_headers_.yml +28 -31
  210. data/test/cassettes/openstack/volume/v1/public/root/returns_the_correct_value_for_http_method_.yml +28 -31
  211. data/test/cassettes/openstack/volume/v1/public/root/returns_the_correct_value_for_url_.yml +28 -31
  212. data/test/cassettes/openstack/volume/v1/public/update_volume/leads_to_a_valid_response_when_invalid_volume_id_is_provided.yml +96 -0
  213. data/test/cassettes/openstack/volume/v1/public/update_volume/leads_to_a_valid_response_when_valid_volume_id_is_provided.yml +179 -0
  214. data/test/cassettes/openstack/volume/v1/public/update_volume/returns_the_correct_value_for_body_.yml +62 -0
  215. data/test/cassettes/openstack/volume/v1/public/update_volume/returns_the_correct_value_for_headers_.yml +62 -0
  216. data/test/cassettes/openstack/volume/v1/public/update_volume/returns_the_correct_value_for_http_method_.yml +62 -0
  217. data/test/cassettes/openstack/volume/v1/public/update_volume/returns_the_correct_value_for_url_.yml +62 -0
  218. data/test/support/vcr_setup.rb +3 -3
  219. metadata +297 -4
  220. data/README.md.orig +0 -217
@@ -52,7 +52,7 @@ class Aviator::Test
52
52
 
53
53
 
54
54
  validate_attr :headers do
55
- create_request.headers?.must_equal false
55
+ create_request.headers?.must_equal true
56
56
  end
57
57
 
58
58
 
@@ -78,20 +78,31 @@ class Aviator::Test
78
78
 
79
79
  create_request.url.must_equal url
80
80
  end
81
-
82
-
81
+
82
+
83
83
  validate_attr :url, 'when the host uri contains the api version' do
84
84
  host_uri = 'http://x.y.z:5000/v2.0'
85
-
85
+
86
86
  request = klass.new({ auth_service: { host_uri: host_uri } }) do |params|
87
87
  params[:username] = Environment.openstack_admin[:auth_credentials][:username]
88
88
  params[:password] = Environment.openstack_admin[:auth_credentials][:password]
89
89
  end
90
-
90
+
91
91
  request.url.must_equal "#{ host_uri }/tokens"
92
92
  end
93
93
 
94
94
 
95
+ validate_attr :param_aliases do
96
+ aliases = {
97
+ token_id: :tokenId,
98
+ tenant_name: :tenantName,
99
+ tenant_id: :tenantId
100
+ }
101
+
102
+ klass.param_aliases.must_equal aliases
103
+ end
104
+
105
+
95
106
  validate_response 'parameters are invalid' do
96
107
  service = Aviator::Service.new(
97
108
  provider: 'openstack',
@@ -0,0 +1,131 @@
1
+ require 'test_helper'
2
+
3
+ class Aviator::Test
4
+
5
+ describe 'aviator/openstack/identity/v2/public/list_tenants' do
6
+
7
+ def create_request(session_data = get_session_data, &block)
8
+ klass.new(session_data, &block)
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', 'list_tenants.rb')
24
+ end
25
+
26
+
27
+ def session
28
+ unless @session
29
+ @session = Aviator::Session.new(
30
+ config_file: Environment.path,
31
+ environment: 'openstack_admin'
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
+ klass.body?.must_equal false
52
+ create_request.body?.must_equal false
53
+ end
54
+
55
+
56
+ validate_attr :endpoint_type do
57
+ klass.endpoint_type.must_equal :public
58
+ end
59
+
60
+
61
+ validate_attr :headers do
62
+ session_data = get_session_data
63
+
64
+ headers = { 'X-Auth-Token' => session_data[:access][:token][:id] }
65
+
66
+ request = create_request(session_data)
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 :url do
78
+ session_data = get_session_data
79
+ service_spec = session_data[:access][:serviceCatalog].find{|s| s[:type] == 'identity' }
80
+ url = "#{ service_spec[:endpoints][0][:publicURL] }/tenants"
81
+ request = klass.new(session_data)
82
+
83
+ request.url.must_equal url
84
+ end
85
+
86
+
87
+ validate_response 'no parameters are provided' do
88
+ service = session.identity_service
89
+
90
+ response = service.request :list_tenants
91
+
92
+ response.status.must_equal 200
93
+ response.body.wont_be_nil
94
+ response.body[:tenants].length.wont_equal 0
95
+ response.headers.wont_be_nil
96
+ end
97
+
98
+
99
+ validate_response 'session is using a default token' do
100
+ s = Aviator::Session.new(
101
+ config_file: Environment.path,
102
+ environment: 'openstack_admin'
103
+ )
104
+
105
+ s.authenticate do |creds|
106
+ creds.username = Environment.openstack_member[:auth_credentials][:username]
107
+ creds.password = Environment.openstack_member[:auth_credentials][:password]
108
+ end
109
+
110
+ base_url = URI(Environment.openstack_admin[:auth_service][:host_uri])
111
+
112
+ api_version = Environment.openstack_admin[:auth_service][:api_version]
113
+
114
+ if api_version
115
+ base_url.path = (api_version == 'v2' ? '/v2.0' : "/#{ api_version }")
116
+ end
117
+
118
+ # base_url should have the form 'https://<domain>:<port>/<api_version>'
119
+
120
+ response = s.identity_service.request :list_tenants, base_url: base_url.to_s
121
+
122
+ response.status.must_equal 200
123
+ response.body.wont_be_nil
124
+ response.body[:tenants].length.wont_equal 0
125
+ response.headers.wont_be_nil
126
+ end
127
+
128
+
129
+ end
130
+
131
+ end
@@ -0,0 +1,126 @@
1
+ require 'test_helper'
2
+
3
+ class Aviator::Test
4
+
5
+ describe 'aviator/openstack/volume/v1/public/create_volume' do
6
+
7
+ def create_request(session_data = get_session_data, &block)
8
+ block ||= lambda do |params|
9
+ params[:display_name] = 'Aviator Volume Test Name'
10
+ params[:display_description] = 'Aviator Volume Test Description'
11
+ params[:size] = '1'
12
+ end
13
+
14
+ klass.new(session_data, &block)
15
+ end
16
+
17
+
18
+ def get_session_data
19
+ session.send :auth_info
20
+ end
21
+
22
+
23
+ def helper
24
+ Aviator::Test::RequestHelper
25
+ end
26
+
27
+
28
+ def klass
29
+ @klass ||= helper.load_request('openstack', 'volume', 'v1', 'public', 'create_volume.rb')
30
+ end
31
+
32
+
33
+ def session
34
+ unless @session
35
+ @session = Aviator::Session.new(
36
+ config_file: Environment.path,
37
+ environment: 'openstack_member'
38
+ )
39
+ @session.authenticate
40
+ end
41
+
42
+ @session
43
+ end
44
+
45
+
46
+ validate_attr :anonymous? do
47
+ klass.anonymous?.must_equal false
48
+ end
49
+
50
+
51
+ validate_attr :api_version do
52
+ klass.api_version.must_equal :v1
53
+ end
54
+
55
+
56
+ validate_attr :body do
57
+ request = create_request
58
+
59
+ klass.body?.must_equal true
60
+ request.body?.must_equal true
61
+ request.body.wont_be_nil
62
+ end
63
+
64
+
65
+ validate_attr :endpoint_type do
66
+ klass.endpoint_type.must_equal :public
67
+ end
68
+
69
+
70
+ validate_attr :headers do
71
+ headers = { 'X-Auth-Token' => get_session_data[:access][:token][:id] }
72
+
73
+ request = create_request
74
+
75
+ request.headers.must_equal headers
76
+ end
77
+
78
+
79
+ validate_attr :http_method do
80
+ create_request.http_method.must_equal :post
81
+ end
82
+
83
+
84
+ validate_attr :optional_params do
85
+ klass.optional_params.must_equal [
86
+ :volume_type,
87
+ :availability_zone,
88
+ :snapshot_id,
89
+ :metadata
90
+ ]
91
+ end
92
+
93
+
94
+ validate_attr :required_params do
95
+ klass.required_params.must_equal [
96
+ :display_name,
97
+ :display_description,
98
+ :size
99
+ ]
100
+ end
101
+
102
+ validate_attr :url do
103
+ service_spec = get_session_data[:access][:serviceCatalog].find{|s| s[:type] == 'volume' }
104
+ url = "#{ service_spec[:endpoints][0][:publicURL] }/volumes"
105
+
106
+ request = create_request
107
+
108
+ request.url.must_equal url
109
+ end
110
+
111
+ validate_response 'parameters are provided' do
112
+ response = session.volume_service.request :create_volume do |params|
113
+ params[:display_name] = 'Aviator Volume Test Name'
114
+ params[:display_description] = 'Aviator Volume Test Description'
115
+ params[:size] = '1'
116
+ end
117
+
118
+ response.status.must_equal 200
119
+ response.body.wont_be_nil
120
+ response.body[:volume].wont_be_nil
121
+ response.headers.wont_be_nil
122
+ end
123
+
124
+ end
125
+
126
+ end
@@ -0,0 +1,131 @@
1
+ require 'test_helper'
2
+
3
+ class Aviator::Test
4
+
5
+ describe 'aviator/openstack/volume/v1/public/delete_volume' do
6
+
7
+ def create_request(session_data = get_session_data, &block)
8
+ block ||= lambda do |params|
9
+ params[:id] = 0
10
+ end
11
+
12
+ klass.new(session_data, &block)
13
+ end
14
+
15
+ def get_session_data
16
+ session.send :auth_info
17
+ end
18
+
19
+
20
+ def helper
21
+ Aviator::Test::RequestHelper
22
+ end
23
+
24
+
25
+ def klass
26
+ @klass ||= helper.load_request('openstack', 'volume', 'v1', 'public', 'delete_volume.rb')
27
+ end
28
+
29
+
30
+ def session
31
+ unless @session
32
+ @session = Aviator::Session.new(
33
+ config_file: Environment.path,
34
+ environment: 'openstack_member'
35
+ )
36
+ @session.authenticate
37
+ end
38
+
39
+ @session
40
+ end
41
+
42
+
43
+ validate_attr :anonymous? do
44
+ klass.anonymous?.must_equal false
45
+ end
46
+
47
+
48
+ validate_attr :api_version do
49
+ klass.api_version.must_equal :v1
50
+ end
51
+
52
+
53
+ validate_attr :body do
54
+ request = create_request
55
+ klass.body?.must_equal false
56
+ request.body?.must_equal false
57
+ end
58
+
59
+
60
+ validate_attr :endpoint_type do
61
+ klass.endpoint_type.must_equal :public
62
+ end
63
+
64
+
65
+ validate_attr :headers do
66
+ headers = { 'X-Auth-Token' => get_session_data[:access][:token][:id] }
67
+
68
+ request = create_request
69
+ request.headers.must_equal headers
70
+ end
71
+
72
+
73
+ validate_attr :http_method do
74
+ create_request.http_method.must_equal :delete
75
+ end
76
+
77
+
78
+ validate_attr :optional_params do
79
+ klass.optional_params.must_equal []
80
+ end
81
+
82
+
83
+ validate_attr :required_params do
84
+ klass.required_params.must_equal [
85
+ :id
86
+ ]
87
+ end
88
+
89
+
90
+ validate_attr :url do
91
+ service_spec = get_session_data[:access][:serviceCatalog].find{|s| s[:type] == 'volume' }
92
+ volume_id = '105b09f0b6500d36168480ad84'
93
+ url = "#{ service_spec[:endpoints][0][:publicURL] }/volumes/#{ volume_id }"
94
+
95
+ request = create_request do |params|
96
+ params[:id] = volume_id
97
+ end
98
+
99
+ request.url.must_equal url
100
+ end
101
+
102
+
103
+ validate_response 'valid volume id is provided' do
104
+ volume = session.volume_service.request(:list_volumes).body['volumes'].first
105
+ volume_id = volume[:id]
106
+
107
+ response = session.volume_service.request :delete_volume do |params|
108
+ params[:id] = volume_id
109
+ end
110
+
111
+ response.status.must_equal 202
112
+ response.headers.wont_be_nil
113
+ end
114
+
115
+
116
+ validate_response 'invalid volume id is provided' do
117
+ volume_id = 'abogusvolumeidthatdoesnotexist'
118
+
119
+ response = session.volume_service.request :delete_volume do |params|
120
+ params[:id] = volume_id
121
+ end
122
+
123
+ response.status.must_equal 404
124
+ response.body.wont_be_nil
125
+ response.headers.wont_be_nil
126
+ end
127
+
128
+
129
+ end
130
+
131
+ end
@@ -0,0 +1,141 @@
1
+ require 'test_helper'
2
+
3
+ class Aviator::Test
4
+
5
+ describe 'aviator/openstack/volume/v1/public/get_volume' do
6
+
7
+ def create_request(session_data = get_session_data, &block)
8
+ block ||= lambda do |params|
9
+ params[:id] = 0
10
+ end
11
+
12
+ klass.new(session_data, &block)
13
+ end
14
+
15
+ def session
16
+ unless @session
17
+ @session = Aviator::Session.new(
18
+ config_file: Environment.path,
19
+ environment: 'openstack_member'
20
+ )
21
+ @session.authenticate
22
+ end
23
+
24
+ @session
25
+ end
26
+
27
+
28
+ def get_session_data
29
+ session.send :auth_info
30
+ end
31
+
32
+
33
+ def helper
34
+ Aviator::Test::RequestHelper
35
+ end
36
+
37
+
38
+ def klass
39
+ @klass ||= helper.load_request('openstack', 'volume', 'v1', 'public', 'get_volume.rb')
40
+ end
41
+
42
+ def create_volume
43
+ session.volume_service.request :create_volume do |params|
44
+ params[:display_name] = 'Aviator Volume Test Name'
45
+ params[:display_description] = 'Aviator Volume Test Description'
46
+ params[:size] = '1'
47
+ end
48
+ end
49
+
50
+
51
+ validate_attr :anonymous? do
52
+ klass.anonymous?.must_equal false
53
+ end
54
+
55
+
56
+ validate_attr :api_version do
57
+ klass.api_version.must_equal :v1
58
+ end
59
+
60
+
61
+ validate_attr :body do
62
+ klass.body?.must_equal false
63
+
64
+ request = create_request
65
+ request.body?.must_equal false
66
+ end
67
+
68
+
69
+ validate_attr :endpoint_type do
70
+ klass.endpoint_type.must_equal :public
71
+ end
72
+
73
+
74
+ validate_attr :headers do
75
+ headers = { 'X-Auth-Token' => get_session_data[:access][:token][:id] }
76
+
77
+ request = create_request
78
+ request.headers.must_equal headers
79
+ end
80
+
81
+
82
+ validate_attr :http_method do
83
+ request = create_request
84
+ request.http_method.must_equal :get
85
+ end
86
+
87
+
88
+ validate_attr :optional_params do
89
+ klass.optional_params.must_equal []
90
+ end
91
+
92
+
93
+ validate_attr :required_params do
94
+ klass.required_params.must_equal [:id]
95
+ end
96
+
97
+
98
+ validate_attr :url do
99
+ service_spec = get_session_data[:access][:serviceCatalog].find{|s| s[:type] == 'volume' }
100
+ volume_id = '52415800-8b69-11e0-9b19-734f000004d2'
101
+ url = "#{ service_spec[:endpoints][0][:publicURL] }/volumes/#{ volume_id }"
102
+
103
+ request = create_request do |p|
104
+ p[:id] = volume_id
105
+ end
106
+
107
+ request.url.must_equal url
108
+ end
109
+
110
+
111
+ validate_response 'a valid volume id is provided' do
112
+
113
+ create_volume
114
+
115
+ volume_id = session.volume_service.request(:list_volumes).body['volumes'].first['id']
116
+
117
+ response = session.volume_service.request :get_volume do |params|
118
+ params[:id] = volume_id
119
+ end
120
+
121
+ response.status.must_equal 200
122
+ response.body.wont_be_nil
123
+ response.body[:volume].wont_be_nil
124
+ response.body[:volume][:id].must_equal volume_id
125
+ response.headers.wont_be_nil
126
+ end
127
+
128
+ validate_response 'an invalid volume id is provided' do
129
+ volume_id = 'bogusserveridthatdoesntexist'
130
+
131
+ response = session.volume_service.request :get_volume do |params|
132
+ params[:id] = volume_id
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
+ end
141
+ end
@@ -0,0 +1,91 @@
1
+ require 'test_helper'
2
+
3
+ class Aviator::Test
4
+
5
+ describe 'aviator/openstack/volume/v1/public/list_volume_types' 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
+ def helper
17
+ Aviator::Test::RequestHelper
18
+ end
19
+
20
+
21
+ def klass
22
+ @klass ||= helper.load_request('openstack', 'volume', 'v1', 'public', 'list_volume_types.rb')
23
+ end
24
+
25
+ def session
26
+ unless @session
27
+ @session = Aviator::Session.new(
28
+ config_file: Environment.path,
29
+ environment: 'openstack_member'
30
+ )
31
+ @session.authenticate
32
+ end
33
+
34
+ @session
35
+ end
36
+ validate_attr :anonymous? do
37
+ klass.anonymous?.must_equal false
38
+ end
39
+
40
+
41
+ validate_attr :api_version do
42
+ klass.api_version.must_equal :v1
43
+ end
44
+
45
+ validate_attr :body do
46
+ klass.body?.must_equal false
47
+ create_request.body?.must_equal false
48
+ end
49
+
50
+
51
+ validate_attr :endpoint_type do
52
+ klass.endpoint_type.must_equal :public
53
+ end
54
+
55
+ validate_attr :optional_params do
56
+ klass.optional_params.must_equal [
57
+ :extra_specs,
58
+ :name
59
+ ]
60
+ end
61
+
62
+
63
+ validate_attr :required_params do
64
+ klass.required_params.must_equal []
65
+ end
66
+
67
+
68
+ validate_attr :headers do
69
+ headers = { 'X-Auth-Token' => get_session_data[:access][:token][:id] }
70
+
71
+ request = create_request
72
+
73
+ request.headers.must_equal headers
74
+ end
75
+
76
+
77
+ validate_attr :http_method do
78
+ create_request.http_method.must_equal :get
79
+ end
80
+
81
+ validate_response 'no parameters are provided' do
82
+ response = session.volume_service.request :list_volume_types
83
+
84
+ response.status.must_equal 200
85
+ response.body.wont_be_nil
86
+ response.headers.wont_be_nil
87
+ end
88
+
89
+ end
90
+
91
+ end