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
@@ -17,11 +17,11 @@ class Aviator::Test
17
17
  )
18
18
  @session.authenticate
19
19
  end
20
-
20
+
21
21
  @session
22
22
  end
23
-
24
-
23
+
24
+
25
25
  def get_session_data
26
26
  session.send :auth_info
27
27
  end
@@ -40,98 +40,98 @@ class Aviator::Test
40
40
  validate_attr :anonymous? do
41
41
  klass.anonymous?.must_equal false
42
42
  end
43
-
44
-
43
+
44
+
45
45
  validate_attr :api_version do
46
46
  klass.api_version.must_equal :v2
47
47
  end
48
-
49
-
48
+
49
+
50
50
  validate_attr :body do
51
- klass.body?.must_equal false
52
-
51
+ klass.body?.must_equal false
52
+
53
53
  request = create_request do |params|
54
54
  params[:id] = 'doesntmatter'
55
55
  end
56
-
56
+
57
57
  request.body?.must_equal false
58
58
  end
59
-
60
-
59
+
60
+
61
61
  validate_attr :endpoint_type do
62
62
  klass.endpoint_type.must_equal :public
63
63
  end
64
-
65
-
64
+
65
+
66
66
  validate_attr :headers do
67
67
  headers = { 'X-Auth-Token' => get_session_data[:access][:token][:id] }
68
-
68
+
69
69
  request = create_request do |params|
70
70
  params[:id] = 'doesntmatter'
71
71
  end
72
-
72
+
73
73
  request.headers.must_equal headers
74
74
  end
75
-
76
-
75
+
76
+
77
77
  validate_attr :http_method do
78
78
  request = create_request do |params|
79
79
  params[:id] = 'doesntmatter'
80
80
  end
81
-
81
+
82
82
  request.http_method.must_equal :get
83
83
  end
84
-
85
-
84
+
85
+
86
86
  validate_attr :optional_params do
87
87
  klass.optional_params.must_equal []
88
88
  end
89
-
90
-
89
+
90
+
91
91
  validate_attr :required_params do
92
92
  klass.required_params.must_equal [:id]
93
93
  end
94
-
95
-
94
+
95
+
96
96
  validate_attr :url do
97
97
  service_spec = get_session_data[:access][:serviceCatalog].find{|s| s[:type] == 'compute' }
98
98
  server_id = '52415800-8b69-11e0-9b19-734f000004d2'
99
99
  url = "#{ service_spec[:endpoints][0][:publicURL] }/servers/#{ server_id }"
100
-
100
+
101
101
  request = create_request do |p|
102
102
  p[:id] = server_id
103
103
  end
104
-
104
+
105
105
  request.url.must_equal url
106
106
  end
107
-
108
-
107
+
108
+
109
109
  validate_response 'a valid server id is provided' do
110
110
  server_id = session.compute_service.request(:list_servers).body[:servers].first[:id]
111
-
111
+
112
112
  response = session.compute_service.request :get_server do |params|
113
113
  params[:id] = server_id
114
114
  end
115
-
115
+
116
116
  response.status.must_equal 200
117
117
  response.body.wont_be_nil
118
118
  response.body[:server].wont_be_nil
119
119
  response.body[:server][:id].must_equal server_id
120
120
  response.headers.wont_be_nil
121
- end
121
+ end
122
122
 
123
123
 
124
124
  validate_response 'an invalid server id is provided' do
125
125
  server_id = 'bogusserveridthatdoesntexist'
126
-
126
+
127
127
  response = session.compute_service.request :get_server do |params|
128
128
  params[:id] = server_id
129
129
  end
130
-
130
+
131
131
  response.status.must_equal 404
132
132
  response.body.wont_be_nil
133
133
  response.headers.wont_be_nil
134
- end
134
+ end
135
135
 
136
136
  end
137
137
 
@@ -108,6 +108,15 @@ class Aviator::Test
108
108
  end
109
109
 
110
110
 
111
+ validate_attr :param_aliases do
112
+ aliases = {
113
+ network_id: :networkID
114
+ }
115
+
116
+ klass.param_aliases.must_equal aliases
117
+ end
118
+
119
+
111
120
  validate_response 'a valid server id is provided' do
112
121
  server_id = session.compute_service.request(:list_servers).body[:servers].first[:id]
113
122
 
@@ -17,11 +17,11 @@ class Aviator::Test
17
17
  )
18
18
  @session.authenticate
19
19
  end
20
-
20
+
21
21
  @session
22
22
  end
23
-
24
-
23
+
24
+
25
25
  def get_session_data
26
26
  session.send :auth_info
27
27
  end
@@ -40,38 +40,38 @@ class Aviator::Test
40
40
  validate_attr :anonymous? do
41
41
  klass.anonymous?.must_equal false
42
42
  end
43
-
44
-
43
+
44
+
45
45
  validate_attr :api_version do
46
46
  klass.api_version.must_equal :v2
47
47
  end
48
-
49
-
48
+
49
+
50
50
  validate_attr :body do
51
- klass.body?.must_equal false
51
+ klass.body?.must_equal false
52
52
  create_request.body?.must_equal false
53
53
  end
54
-
55
-
54
+
55
+
56
56
  validate_attr :endpoint_type do
57
57
  klass.endpoint_type.must_equal :public
58
58
  end
59
-
60
-
59
+
60
+
61
61
  validate_attr :headers do
62
62
  headers = { 'X-Auth-Token' => get_session_data[:access][:token][:id] }
63
-
63
+
64
64
  request = create_request(get_session_data)
65
-
65
+
66
66
  request.headers.must_equal headers
67
67
  end
68
-
69
-
68
+
69
+
70
70
  validate_attr :http_method do
71
71
  create_request.http_method.must_equal :get
72
72
  end
73
-
74
-
73
+
74
+
75
75
  validate_attr :optional_params do
76
76
  klass.optional_params.must_equal [
77
77
  :details,
@@ -81,17 +81,17 @@ class Aviator::Test
81
81
  :limit
82
82
  ]
83
83
  end
84
-
85
-
84
+
85
+
86
86
  validate_attr :required_params do
87
87
  klass.required_params.must_equal []
88
88
  end
89
-
90
-
89
+
90
+
91
91
  validate_attr :url do
92
92
  service_spec = get_session_data[:access][:serviceCatalog].find{|s| s[:type] == 'compute' }
93
93
  url = "#{ service_spec[:endpoints][0][:publicURL] }/flavors"
94
-
94
+
95
95
  params = [
96
96
  [ :details, true ],
97
97
  [ :minDisk, 2 ],
@@ -99,61 +99,71 @@ class Aviator::Test
99
99
  [ :marker, '123456' ],
100
100
  [ :limit, 10 ]
101
101
  ]
102
-
102
+
103
103
  url += "/detail" if params.find{|pair| pair[0] == :details && pair[1] == true }
104
-
104
+
105
105
  filters = []
106
-
106
+
107
107
  params.select{|pair| pair[0]!=:details }.each{ |pair| filters << "#{ pair[0] }=#{ pair[1] }" }
108
-
108
+
109
109
  url += "?#{ filters.join('&') }" unless filters.empty?
110
-
110
+
111
111
  request = klass.new(get_session_data) do |p|
112
112
  params.each { |pair| p[pair[0]] = pair[1] }
113
113
  end
114
-
114
+
115
115
  request.url.must_equal url
116
116
  end
117
-
118
-
117
+
118
+
119
+ validate_attr :param_aliases do
120
+ aliases = {
121
+ min_disk: :minDisk,
122
+ min_ram: :minRam
123
+ }
124
+
125
+ klass.param_aliases.must_equal aliases
126
+ end
127
+
128
+
119
129
  validate_response 'no parameters are provided' do
120
130
  response = session.compute_service.request :list_flavors
121
-
131
+
122
132
  response.status.must_equal 200
123
133
  response.body.wont_be_nil
124
134
  response.headers.wont_be_nil
125
135
  end
126
-
127
-
136
+
137
+
128
138
  validate_response 'the details filter is provided' do
129
139
  response = session.compute_service.request :list_flavors do |params|
130
140
  params[:details] = true
131
141
  end
132
-
142
+
133
143
  response.status.must_equal 200
134
144
  response.body.wont_be_nil
135
145
  response.body[:flavors].length.wont_equal 0
136
146
  response.headers.wont_be_nil
137
- end
147
+ end
138
148
 
139
149
 
140
150
  validate_response 'the minDisk filter is provided' do
141
151
  response = session.compute_service.request :list_flavors do |params|
142
152
  params[:details] = true
143
153
  end
144
-
154
+
145
155
  max_disk_size = response.body[:flavors].max{|a,b| a[:disk] <=> b[:disk] }[:disk]
146
156
  total_entries = response.body[:flavors].count{|flv| flv[:disk] == max_disk_size }
147
-
157
+
148
158
  response = session.compute_service.request :list_flavors do |params|
149
159
  params[:minDisk] = max_disk_size
150
160
  end
151
-
161
+
152
162
  response.status.must_equal 200
153
163
  response.body.wont_be_nil
154
164
  response.body[:flavors].length.must_equal total_entries
155
165
  response.headers.wont_be_nil
156
- end
166
+ end
157
167
 
158
168
  end
159
169
 
@@ -14,14 +14,14 @@ class Aviator::Test
14
14
  provider: 'openstack',
15
15
  service: 'identity'
16
16
  )
17
-
17
+
18
18
  bootstrap = RequestHelper.admin_bootstrap_session_data
19
-
19
+
20
20
  response = service.request :create_token, session_data: bootstrap do |params|
21
21
  auth_credentials = Environment.openstack_admin[:auth_credentials]
22
22
  auth_credentials.each { |key, value| params[key] = auth_credentials[key] }
23
23
  end
24
-
24
+
25
25
  response.body
26
26
  end
27
27
 
@@ -39,35 +39,35 @@ class Aviator::Test
39
39
  validate_attr :anonymous? do
40
40
  klass.anonymous?.must_equal false
41
41
  end
42
-
43
-
42
+
43
+
44
44
  validate_attr :api_version do
45
45
  klass.api_version.must_equal :v2
46
46
  end
47
47
 
48
48
 
49
49
  validate_attr :body do
50
- klass.body?.must_equal false
50
+ klass.body?.must_equal false
51
51
  create_request.body?.must_equal false
52
52
  end
53
-
54
-
53
+
54
+
55
55
  validate_attr :endpoint_type do
56
56
  klass.endpoint_type.must_equal :public
57
57
  end
58
-
58
+
59
59
 
60
60
  validate_attr :headers do
61
61
  session_data = new_session_data
62
-
62
+
63
63
  headers = { 'X-Auth-Token' => session_data[:access][:token][:id] }
64
64
 
65
65
  request = create_request(session_data)
66
66
 
67
67
  request.headers.must_equal headers
68
68
  end
69
-
70
-
69
+
70
+
71
71
  validate_attr :http_method do
72
72
  create_request.http_method.must_equal :get
73
73
  end
@@ -96,81 +96,90 @@ class Aviator::Test
96
96
  session_data = new_session_data
97
97
  service_spec = session_data[:access][:serviceCatalog].find{|s| s[:type] == 'compute' }
98
98
  url = "#{ service_spec[:endpoints][0][:publicURL] }/images"
99
-
99
+
100
100
  params = [
101
101
  [ :details, true ],
102
102
  [ :name, 'cirros-0.3.1-x86_64-uec-ramdisk' ],
103
103
  [ :status, 'ACTIVE' ],
104
104
  [ :type, 'application/vnd.openstack.image' ]
105
105
  ]
106
-
106
+
107
107
  url += "/detail" if params.first[1]
108
-
108
+
109
109
  filters = []
110
-
110
+
111
111
  params[1, params.length-1].each { |pair| filters << "#{ pair[0] }=#{ pair[1] }" }
112
-
112
+
113
113
  url += "?#{ filters.join('&') }" unless filters.empty?
114
-
114
+
115
115
  request = klass.new(session_data) do |p|
116
116
  params.each { |pair| p[pair[0]] = pair[1] }
117
117
  end
118
-
119
-
118
+
119
+
120
120
  request.url.must_equal url
121
121
  end
122
-
123
-
122
+
123
+
124
+ validate_attr :param_aliases do
125
+ aliases = {
126
+ changes_since: 'changes-since'
127
+ }
128
+
129
+ klass.param_aliases.must_equal aliases
130
+ end
131
+
132
+
124
133
  validate_response 'no parameters are provided' do
125
134
  service = Aviator::Service.new(
126
135
  provider: 'openstack',
127
136
  service: 'compute',
128
137
  default_session_data: new_session_data
129
138
  )
130
-
139
+
131
140
  response = service.request :list_images
132
-
141
+
133
142
  response.status.must_equal 200
134
143
  response.body.wont_be_nil
135
144
  response.headers.wont_be_nil
136
145
  end
137
-
138
-
146
+
147
+
139
148
  validate_response 'parameters are invalid' do
140
149
  service = Aviator::Service.new(
141
150
  provider: 'openstack',
142
151
  service: 'compute',
143
152
  default_session_data: new_session_data
144
153
  )
145
-
154
+
146
155
  response = service.request :list_images do |params|
147
156
  params[:name] = "nonexistentimagenameherpderp"
148
157
  end
149
-
158
+
150
159
  response.status.must_equal 200
151
160
  response.body.wont_be_nil
152
161
  response.body[:images].length.must_equal 0
153
162
  response.headers.wont_be_nil
154
163
  end
155
-
156
-
164
+
165
+
157
166
  validate_response 'parameters are valid' do
158
167
  service = Aviator::Service.new(
159
168
  provider: 'openstack',
160
169
  service: 'compute',
161
170
  default_session_data: new_session_data
162
171
  )
163
-
172
+
164
173
  response = service.request :list_images do |params|
165
174
  params[:details] = true
166
175
  params[:name] = "cirros-0.3.1-x86_64-uec"
167
176
  end
168
-
177
+
169
178
  response.status.must_equal 200
170
179
  response.body.wont_be_nil
171
180
  response.body[:images].length.must_equal 1
172
181
  response.headers.wont_be_nil
173
- end
182
+ end
174
183
 
175
184
  end
176
185
 
@@ -0,0 +1,100 @@
1
+ require 'test_helper'
2
+
3
+ class Aviator::Test
4
+
5
+ describe 'aviator/openstack/compute/v2/public/list_networks' 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', 'compute', 'v2', 'public', 'list_networks.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
+ 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] == 'compute' }
80
+ url = "#{ service_spec[:endpoints][0][:publicURL] }/os-networks"
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.compute_service
89
+
90
+ response = service.request :list_networks
91
+
92
+ response.status.must_equal 200
93
+ response.body.wont_be_nil
94
+ response.body[:networks].length.wont_equal 0
95
+ response.headers.wont_be_nil
96
+ end
97
+
98
+ end
99
+
100
+ end
@@ -136,6 +136,15 @@ class Aviator::Test
136
136
  end
137
137
 
138
138
 
139
+ validate_attr :param_aliases do
140
+ aliases = {
141
+ changes_since: 'changes-since'
142
+ }
143
+
144
+ klass.param_aliases.must_equal aliases
145
+ end
146
+
147
+
139
148
  validate_response 'no parameters are provided' do
140
149
  service = Aviator::Service.new(
141
150
  provider: 'openstack',
@@ -188,7 +197,6 @@ class Aviator::Test
188
197
  response.headers.wont_be_nil
189
198
  end
190
199
 
191
-
192
200
  validate_response 'the all_tenants parameter is provided' do
193
201
  current_tenant = admin_session.send(:auth_info)[:access][:token][:tenant]
194
202