aviator 0.0.6 → 0.0.7

Sign up to get free protection for your applications and to get access to all the features.
Files changed (245) hide show
  1. checksums.yaml +8 -8
  2. data/.gitignore +2 -1
  3. data/.travis.yml +4 -0
  4. data/Gemfile +6 -2
  5. data/aviator.gemspec +19 -6
  6. data/lib/aviator/compatibility.rb +34 -0
  7. data/lib/aviator/core/cli/describer.rb +16 -16
  8. data/lib/aviator/core/logger.rb +55 -0
  9. data/lib/aviator/core/request.rb +5 -4
  10. data/lib/aviator/core/request_builder.rb +1 -1
  11. data/lib/aviator/core/response.rb +17 -11
  12. data/lib/aviator/core/service.rb +9 -27
  13. data/lib/aviator/core/session.rb +71 -61
  14. data/lib/aviator/core.rb +3 -1
  15. data/lib/aviator/hashish.rb +111 -0
  16. data/lib/aviator/openstack/common/v2/admin/base.rb +1 -1
  17. data/lib/aviator/openstack/common/v2/public/base.rb +7 -3
  18. data/lib/aviator/openstack/compute/v2/admin/confirm_server_resize.rb +3 -3
  19. data/lib/aviator/openstack/compute/v2/admin/create_network.rb +15 -15
  20. data/lib/aviator/openstack/compute/v2/admin/get_host_details.rb +2 -2
  21. data/lib/aviator/openstack/compute/v2/admin/list_hosts.rb +3 -3
  22. data/lib/aviator/openstack/compute/v2/admin/lock_server.rb +3 -3
  23. data/lib/aviator/openstack/compute/v2/admin/migrate_server.rb +3 -3
  24. data/lib/aviator/openstack/compute/v2/admin/reset_server.rb +3 -3
  25. data/lib/aviator/openstack/compute/v2/admin/resize_server.rb +7 -7
  26. data/lib/aviator/openstack/compute/v2/admin/revert_server_resize.rb +2 -2
  27. data/lib/aviator/openstack/compute/v2/admin/unlock_server.rb +3 -3
  28. data/lib/aviator/openstack/compute/v2/public/change_admin_password.rb +5 -5
  29. data/lib/aviator/openstack/compute/v2/public/create_image.rb +6 -6
  30. data/lib/aviator/openstack/compute/v2/public/create_server.rb +14 -14
  31. data/lib/aviator/openstack/compute/v2/public/delete_image.rb +2 -2
  32. data/lib/aviator/openstack/compute/v2/public/delete_image_metadata_item.rb +31 -0
  33. data/lib/aviator/openstack/compute/v2/public/delete_server.rb +2 -2
  34. data/lib/aviator/openstack/compute/v2/public/delete_server_metadata_item.rb +31 -0
  35. data/lib/aviator/openstack/compute/v2/public/get_flavor_details.rb +2 -2
  36. data/lib/aviator/openstack/compute/v2/public/get_image_details.rb +2 -2
  37. data/lib/aviator/openstack/compute/v2/public/get_image_metadata_item.rb +31 -0
  38. data/lib/aviator/openstack/compute/v2/public/get_network_details.rb +2 -2
  39. data/lib/aviator/openstack/compute/v2/public/get_server.rb +2 -2
  40. data/lib/aviator/openstack/compute/v2/public/get_server_metadata_item.rb +31 -0
  41. data/lib/aviator/openstack/compute/v2/public/list_addresses.rb +3 -3
  42. data/lib/aviator/openstack/compute/v2/public/list_flavors.rb +6 -6
  43. data/lib/aviator/openstack/compute/v2/public/list_image_metadata.rb +30 -0
  44. data/lib/aviator/openstack/compute/v2/public/list_images.rb +9 -9
  45. data/lib/aviator/openstack/compute/v2/public/list_networks.rb +1 -1
  46. data/lib/aviator/openstack/compute/v2/public/list_server_metadata.rb +30 -0
  47. data/lib/aviator/openstack/compute/v2/public/list_servers.rb +11 -11
  48. data/lib/aviator/openstack/compute/v2/public/pause_server.rb +3 -3
  49. data/lib/aviator/openstack/compute/v2/public/reboot_server.rb +5 -5
  50. data/lib/aviator/openstack/compute/v2/public/rebuild_server.rb +13 -13
  51. data/lib/aviator/openstack/compute/v2/public/resume_server.rb +3 -3
  52. data/lib/aviator/openstack/compute/v2/public/root.rb +1 -1
  53. data/lib/aviator/openstack/compute/v2/public/set_image_metadata.rb +38 -0
  54. data/lib/aviator/openstack/compute/v2/public/set_server_metadata.rb +38 -0
  55. data/lib/aviator/openstack/compute/v2/public/suspend_server.rb +3 -3
  56. data/lib/aviator/openstack/compute/v2/public/unpause_server.rb +3 -3
  57. data/lib/aviator/openstack/compute/v2/public/update_image_metadata.rb +38 -0
  58. data/lib/aviator/openstack/compute/v2/public/update_server.rb +6 -6
  59. data/lib/aviator/openstack/compute/v2/public/update_server_metadata.rb +38 -0
  60. data/lib/aviator/openstack/identity/v2/admin/add_role_to_user_on_tenant.rb +4 -4
  61. data/lib/aviator/openstack/identity/v2/admin/create_tenant.rb +8 -8
  62. data/lib/aviator/openstack/identity/v2/admin/create_user.rb +6 -6
  63. data/lib/aviator/openstack/identity/v2/admin/delete_role_from_user_on_tenant.rb +4 -4
  64. data/lib/aviator/openstack/identity/v2/admin/delete_tenant.rb +2 -2
  65. data/lib/aviator/openstack/identity/v2/admin/delete_user.rb +1 -1
  66. data/lib/aviator/openstack/identity/v2/admin/get_tenant_by_id.rb +30 -0
  67. data/lib/aviator/openstack/identity/v2/admin/list_tenants.rb +3 -3
  68. data/lib/aviator/openstack/identity/v2/admin/update_tenant.rb +6 -6
  69. data/lib/aviator/openstack/identity/v2/admin/update_user.rb +7 -7
  70. data/lib/aviator/openstack/identity/v2/public/create_token.rb +13 -13
  71. data/lib/aviator/openstack/identity/v2/public/list_tenants.rb +3 -3
  72. data/lib/aviator/openstack/identity/v2/public/root.rb +1 -1
  73. data/lib/aviator/openstack/image/v1/public/list_public_images.rb +45 -0
  74. data/lib/aviator/openstack/image/v1/public/root.rb +1 -1
  75. data/lib/aviator/openstack/metering/v1/admin/list_projects.rb +1 -1
  76. data/lib/aviator/openstack/volume/v1/public/create_volume.rb +13 -13
  77. data/lib/aviator/openstack/volume/v1/public/delete_volume.rb +2 -2
  78. data/lib/aviator/openstack/volume/v1/public/get_volume.rb +2 -2
  79. data/lib/aviator/openstack/volume/v1/public/list_volume_types.rb +3 -3
  80. data/lib/aviator/openstack/volume/v1/public/list_volumes.rb +22 -11
  81. data/lib/aviator/openstack/volume/v1/public/root.rb +1 -1
  82. data/lib/aviator/openstack/volume/v1/public/update_volume.rb +5 -5
  83. data/lib/aviator/version.rb +1 -1
  84. data/lib/aviator.rb +5 -0
  85. data/test/aviator/core/cli/describer_test.rb +29 -29
  86. data/test/aviator/core/request_builder_test.rb +13 -13
  87. data/test/aviator/core/request_test.rb +11 -11
  88. data/test/aviator/core/service_test.rb +31 -31
  89. data/test/aviator/core/session_test.rb +122 -70
  90. data/test/aviator/openstack/common/v2/public/base_test.rb +8 -8
  91. data/test/aviator/openstack/compute/v2/admin/confirm_server_resize_test.rb +2 -2
  92. data/test/aviator/openstack/compute/v2/admin/create_network_test.rb +15 -15
  93. data/test/aviator/openstack/compute/v2/admin/get_host_details_test.rb +2 -2
  94. data/test/aviator/openstack/compute/v2/admin/list_hosts_test.rb +2 -2
  95. data/test/aviator/openstack/compute/v2/admin/lock_server_test.rb +2 -2
  96. data/test/aviator/openstack/compute/v2/admin/migrate_server_test.rb +2 -2
  97. data/test/aviator/openstack/compute/v2/admin/reset_server_test.rb +2 -2
  98. data/test/aviator/openstack/compute/v2/admin/resize_server_test.rb +3 -3
  99. data/test/aviator/openstack/compute/v2/admin/revert_server_resize_test.rb +2 -2
  100. data/test/aviator/openstack/compute/v2/admin/unlock_server_test.rb +2 -2
  101. data/test/aviator/openstack/compute/v2/public/change_admin_password_test.rb +3 -3
  102. data/test/aviator/openstack/compute/v2/public/create_image_test.rb +2 -2
  103. data/test/aviator/openstack/compute/v2/public/create_server_test.rb +7 -7
  104. data/test/aviator/openstack/compute/v2/public/delete_image_metadata_item_test.rb +159 -0
  105. data/test/aviator/openstack/compute/v2/public/delete_image_test.rb +2 -2
  106. data/test/aviator/openstack/compute/v2/public/delete_server_metadata_item_test.rb +156 -0
  107. data/test/aviator/openstack/compute/v2/public/delete_server_test.rb +2 -2
  108. data/test/aviator/openstack/compute/v2/public/get_flavor_details_test.rb +2 -2
  109. data/test/aviator/openstack/compute/v2/public/get_image_details_test.rb +2 -2
  110. data/test/aviator/openstack/compute/v2/public/get_image_metadata_item_test.rb +160 -0
  111. data/test/aviator/openstack/compute/v2/public/get_network_details_test.rb +2 -2
  112. data/test/aviator/openstack/compute/v2/public/get_server_metadata_item_test.rb +160 -0
  113. data/test/aviator/openstack/compute/v2/public/get_server_test.rb +2 -2
  114. data/test/aviator/openstack/compute/v2/public/list_addresses_test.rb +3 -3
  115. data/test/aviator/openstack/compute/v2/public/list_flavors_test.rb +4 -4
  116. data/test/aviator/openstack/compute/v2/public/list_image_metadata_test.rb +127 -0
  117. data/test/aviator/openstack/compute/v2/public/list_images_test.rb +13 -13
  118. data/test/aviator/openstack/compute/v2/public/list_networks_test.rb +2 -2
  119. data/test/aviator/openstack/compute/v2/public/list_server_metadata_test.rb +127 -0
  120. data/test/aviator/openstack/compute/v2/public/list_servers_test.rb +15 -15
  121. data/test/aviator/openstack/compute/v2/public/pause_server_test.rb +2 -2
  122. data/test/aviator/openstack/compute/v2/public/reboot_server_test.rb +2 -2
  123. data/test/aviator/openstack/compute/v2/public/rebuild_server_test.rb +6 -6
  124. data/test/aviator/openstack/compute/v2/public/resume_server_test.rb +2 -2
  125. data/test/aviator/openstack/compute/v2/public/root_test.rb +2 -2
  126. data/test/aviator/openstack/compute/v2/public/set_image_metadata_test.rb +151 -0
  127. data/test/aviator/openstack/compute/v2/public/set_server_metadata_test.rb +149 -0
  128. data/test/aviator/openstack/compute/v2/public/suspend_server_test.rb +2 -2
  129. data/test/aviator/openstack/compute/v2/public/unpause_server_test.rb +2 -2
  130. data/test/aviator/openstack/compute/v2/public/update_image_metadata_test.rb +154 -0
  131. data/test/aviator/openstack/compute/v2/public/update_server_metadata_test.rb +150 -0
  132. data/test/aviator/openstack/compute/v2/public/update_server_test.rb +4 -4
  133. data/test/aviator/openstack/identity/v2/admin/add_role_to_user_on_tenant_test.rb +2 -2
  134. data/test/aviator/openstack/identity/v2/admin/create_tenant_test.rb +13 -13
  135. data/test/aviator/openstack/identity/v2/admin/create_user_test.rb +12 -10
  136. data/test/aviator/openstack/identity/v2/admin/delete_role_from_user_on_tenant_test.rb +2 -2
  137. data/test/aviator/openstack/identity/v2/admin/delete_tenant_test.rb +2 -2
  138. data/test/aviator/openstack/identity/v2/admin/delete_user_test.rb +2 -2
  139. data/test/aviator/openstack/identity/v2/admin/get_tenant_by_id_test.rb +122 -0
  140. data/test/aviator/openstack/identity/v2/admin/list_users_test.rb +2 -2
  141. data/test/aviator/openstack/identity/v2/admin/update_tenant_test.rb +2 -2
  142. data/test/aviator/openstack/identity/v2/admin/update_user_test.rb +3 -3
  143. data/test/aviator/openstack/identity/v2/public/create_token_test.rb +19 -18
  144. data/test/aviator/openstack/identity/v2/public/list_tenants_test.rb +5 -5
  145. data/test/aviator/openstack/identity/v2/public/root_test.rb +2 -2
  146. data/test/aviator/openstack/image/v1/public/list_public_images_test.rb +145 -0
  147. data/test/aviator/openstack/image/v1/public/root_test.rb +2 -2
  148. data/test/aviator/openstack/metering/v1/admin/list_projects_test.rb +2 -2
  149. data/test/aviator/openstack/volume/v1/public/create_volume_test.rb +2 -2
  150. data/test/aviator/openstack/volume/v1/public/delete_volume_test.rb +2 -2
  151. data/test/aviator/openstack/volume/v1/public/get_volume_test.rb +2 -2
  152. data/test/aviator/openstack/volume/v1/public/list_volume_types_test.rb +2 -2
  153. data/test/aviator/openstack/volume/v1/public/list_volumes_test.rb +49 -24
  154. data/test/aviator/openstack/volume/v1/public/root_test.rb +2 -2
  155. data/test/aviator/openstack/volume/v1/public/update_volume_test.rb +2 -2
  156. data/test/cassettes/core/session/i_validate/returns_false_if_session_is_no_longer_valid.yml +20 -19
  157. data/test/cassettes/core/session/i_validate/returns_true_even_when_a_default_token_is_used.yml +72 -0
  158. data/test/cassettes/core/session/i_validate/returns_true_if_session_is_still_valid.yml +24 -24
  159. data/test/cassettes/openstack/compute/v2/public/delete_image_metadata_item/leads_to_a_valid_response_when_invalid_image_id_is_provided.yml +98 -0
  160. data/test/cassettes/openstack/compute/v2/public/delete_image_metadata_item/leads_to_a_valid_response_when_invalid_metadata_key_is_provided.yml +147 -0
  161. data/test/cassettes/openstack/compute/v2/public/delete_image_metadata_item/leads_to_a_valid_response_when_valid_image_id_and_metadata_key_are_provided.yml +180 -0
  162. data/test/cassettes/openstack/compute/v2/public/delete_image_metadata_item/returns_the_correct_value_for_body_.yml +65 -0
  163. data/test/cassettes/openstack/compute/v2/public/delete_image_metadata_item/returns_the_correct_value_for_headers_.yml +65 -0
  164. data/test/cassettes/openstack/compute/v2/public/delete_image_metadata_item/returns_the_correct_value_for_http_method_.yml +65 -0
  165. data/test/cassettes/openstack/compute/v2/public/delete_image_metadata_item/returns_the_correct_value_for_url_.yml +65 -0
  166. data/test/cassettes/openstack/compute/v2/public/delete_server_metadata_item/leads_to_a_valid_response_when_invalid_metadata_key_is_provided.yml +135 -0
  167. data/test/cassettes/openstack/compute/v2/public/delete_server_metadata_item/leads_to_a_valid_response_when_invalid_server_id_is_provided.yml +98 -0
  168. data/test/cassettes/openstack/compute/v2/public/delete_server_metadata_item/leads_to_a_valid_response_when_valid_server_id_and_metadata_key_are_provided.yml +167 -0
  169. data/test/cassettes/openstack/compute/v2/public/delete_server_metadata_item/returns_the_correct_value_for_body_.yml +65 -0
  170. data/test/cassettes/openstack/compute/v2/public/delete_server_metadata_item/returns_the_correct_value_for_headers_.yml +65 -0
  171. data/test/cassettes/openstack/compute/v2/public/delete_server_metadata_item/returns_the_correct_value_for_http_method_.yml +65 -0
  172. data/test/cassettes/openstack/compute/v2/public/delete_server_metadata_item/returns_the_correct_value_for_url_.yml +65 -0
  173. data/test/cassettes/openstack/compute/v2/public/get_image_metadata_item/leads_to_a_valid_response_when_invalid_image_id_is_provided.yml +98 -0
  174. data/test/cassettes/openstack/compute/v2/public/get_image_metadata_item/leads_to_a_valid_response_when_invalid_metadata_key_is_provided.yml +148 -0
  175. data/test/cassettes/openstack/compute/v2/public/get_image_metadata_item/leads_to_a_valid_response_when_valid_image_id_and_metadata_key_are_provided.yml +180 -0
  176. data/test/cassettes/openstack/compute/v2/public/get_image_metadata_item/returns_the_correct_value_for_body_.yml +65 -0
  177. data/test/cassettes/openstack/compute/v2/public/get_image_metadata_item/returns_the_correct_value_for_headers_.yml +65 -0
  178. data/test/cassettes/openstack/compute/v2/public/get_image_metadata_item/returns_the_correct_value_for_http_method_.yml +65 -0
  179. data/test/cassettes/openstack/compute/v2/public/get_image_metadata_item/returns_the_correct_value_for_url_.yml +65 -0
  180. data/test/cassettes/openstack/compute/v2/public/get_server_metadata_item/leads_to_a_valid_response_when_invalid_metadata_key_is_provided.yml +135 -0
  181. data/test/cassettes/openstack/compute/v2/public/get_server_metadata_item/leads_to_a_valid_response_when_invalid_server_id_and_metadata_key_are_provided.yml +98 -0
  182. data/test/cassettes/openstack/compute/v2/public/get_server_metadata_item/leads_to_a_valid_response_when_valid_server_id_and_metadata_key_are_provided.yml +167 -0
  183. data/test/cassettes/openstack/compute/v2/public/get_server_metadata_item/returns_the_correct_value_for_body_.yml +65 -0
  184. data/test/cassettes/openstack/compute/v2/public/get_server_metadata_item/returns_the_correct_value_for_headers_.yml +65 -0
  185. data/test/cassettes/openstack/compute/v2/public/get_server_metadata_item/returns_the_correct_value_for_http_method_.yml +65 -0
  186. data/test/cassettes/openstack/compute/v2/public/get_server_metadata_item/returns_the_correct_value_for_url_.yml +65 -0
  187. data/test/cassettes/openstack/compute/v2/public/list_image_metadata/leads_to_a_valid_response_when_invalid_image_id_is_provided.yml +98 -0
  188. data/test/cassettes/openstack/compute/v2/public/list_image_metadata/leads_to_a_valid_response_when_valid_image_id_is_provided.yml +147 -0
  189. data/test/cassettes/openstack/compute/v2/public/list_image_metadata/returns_the_correct_value_for_body_.yml +65 -0
  190. data/test/cassettes/openstack/compute/v2/public/list_image_metadata/returns_the_correct_value_for_headers_.yml +65 -0
  191. data/test/cassettes/openstack/compute/v2/public/list_image_metadata/returns_the_correct_value_for_http_method_.yml +65 -0
  192. data/test/cassettes/openstack/compute/v2/public/list_image_metadata/returns_the_correct_value_for_url_.yml +65 -0
  193. data/test/cassettes/openstack/compute/v2/public/list_server_metadata/leads_to_a_valid_response_when_invalid_server_id_is_provided.yml +98 -0
  194. data/test/cassettes/openstack/compute/v2/public/list_server_metadata/leads_to_a_valid_response_when_valid_server_id_is_provided.yml +134 -0
  195. data/test/cassettes/openstack/compute/v2/public/list_server_metadata/returns_the_correct_value_for_body_.yml +65 -0
  196. data/test/cassettes/openstack/compute/v2/public/list_server_metadata/returns_the_correct_value_for_headers_.yml +65 -0
  197. data/test/cassettes/openstack/compute/v2/public/list_server_metadata/returns_the_correct_value_for_http_method_.yml +65 -0
  198. data/test/cassettes/openstack/compute/v2/public/list_server_metadata/returns_the_correct_value_for_url_.yml +65 -0
  199. data/test/cassettes/openstack/compute/v2/public/set_image_metadata/leads_to_a_valid_response_when_invalid_image_id_is_provided.yml +98 -0
  200. data/test/cassettes/openstack/compute/v2/public/set_image_metadata/leads_to_a_valid_response_when_valid_image_id_is_provided.yml +98 -0
  201. data/test/cassettes/openstack/compute/v2/public/set_image_metadata/returns_the_correct_value_for_body_.yml +65 -0
  202. data/test/cassettes/openstack/compute/v2/public/set_image_metadata/returns_the_correct_value_for_headers_.yml +65 -0
  203. data/test/cassettes/openstack/compute/v2/public/set_image_metadata/returns_the_correct_value_for_http_method_.yml +65 -0
  204. data/test/cassettes/openstack/compute/v2/public/set_image_metadata/returns_the_correct_value_for_url_.yml +65 -0
  205. data/test/cassettes/openstack/compute/v2/public/set_server_metadata/leads_to_a_valid_response_when_invalid_server_id_is_provided.yml +98 -0
  206. data/test/cassettes/openstack/compute/v2/public/set_server_metadata/leads_to_a_valid_response_when_valid_server_id_is_provided.yml +134 -0
  207. data/test/cassettes/openstack/compute/v2/public/set_server_metadata/returns_the_correct_value_for_body_.yml +65 -0
  208. data/test/cassettes/openstack/compute/v2/public/set_server_metadata/returns_the_correct_value_for_headers_.yml +65 -0
  209. data/test/cassettes/openstack/compute/v2/public/set_server_metadata/returns_the_correct_value_for_http_method_.yml +65 -0
  210. data/test/cassettes/openstack/compute/v2/public/set_server_metadata/returns_the_correct_value_for_url_.yml +65 -0
  211. data/test/cassettes/openstack/compute/v2/public/update_image_metadata/leads_to_a_valid_response_when_invalid_image_id_is_provided.yml +98 -0
  212. data/test/cassettes/openstack/compute/v2/public/update_image_metadata/leads_to_a_valid_response_when_valid_image_id_is_provided.yml +98 -0
  213. data/test/cassettes/openstack/compute/v2/public/update_image_metadata/returns_the_correct_value_for_body_.yml +65 -0
  214. data/test/cassettes/openstack/compute/v2/public/update_image_metadata/returns_the_correct_value_for_headers_.yml +65 -0
  215. data/test/cassettes/openstack/compute/v2/public/update_image_metadata/returns_the_correct_value_for_http_method_.yml +65 -0
  216. data/test/cassettes/openstack/compute/v2/public/update_image_metadata/returns_the_correct_value_for_url_.yml +65 -0
  217. data/test/cassettes/openstack/compute/v2/public/update_server_metadata/leads_to_a_valid_response_when_invalid_server_id_is_provided.yml +98 -0
  218. data/test/cassettes/openstack/compute/v2/public/update_server_metadata/leads_to_a_valid_response_when_valid_server_id_is_provided.yml +134 -0
  219. data/test/cassettes/openstack/compute/v2/public/update_server_metadata/returns_the_correct_value_for_body_.yml +65 -0
  220. data/test/cassettes/openstack/compute/v2/public/update_server_metadata/returns_the_correct_value_for_headers_.yml +65 -0
  221. data/test/cassettes/openstack/compute/v2/public/update_server_metadata/returns_the_correct_value_for_http_method_.yml +65 -0
  222. data/test/cassettes/openstack/compute/v2/public/update_server_metadata/returns_the_correct_value_for_url_.yml +65 -0
  223. data/test/cassettes/openstack/identity/v2/admin/get_tenant_by_id/leads_to_a_valid_response_when_a_valid_tenant_id_is_provided.yml +133 -0
  224. data/test/cassettes/openstack/identity/v2/admin/get_tenant_by_id/returns_the_correct_value_for_body_.yml +65 -0
  225. data/test/cassettes/openstack/identity/v2/admin/get_tenant_by_id/returns_the_correct_value_for_headers_.yml +65 -0
  226. data/test/cassettes/openstack/identity/v2/admin/get_tenant_by_id/returns_the_correct_value_for_http_method_.yml +65 -0
  227. data/test/cassettes/openstack/identity/v2/admin/get_tenant_by_id/returns_the_correct_value_for_url_.yml +65 -0
  228. data/test/cassettes/openstack/image/v1/public/list_public_images/leads_to_a_valid_response_when_filtering_with_matches.yml +99 -0
  229. data/test/cassettes/openstack/image/v1/public/list_public_images/leads_to_a_valid_response_when_filtering_with_no_matches.yml +97 -0
  230. data/test/cassettes/openstack/image/v1/public/list_public_images/leads_to_a_valid_response_when_no_parameters_are_provided.yml +99 -0
  231. data/test/cassettes/openstack/image/v1/public/list_public_images/returns_the_correct_value_for_body_.yml +64 -0
  232. data/test/cassettes/openstack/image/v1/public/list_public_images/returns_the_correct_value_for_headers_.yml +64 -0
  233. data/test/cassettes/openstack/image/v1/public/list_public_images/returns_the_correct_value_for_http_method_.yml +64 -0
  234. data/test/cassettes/openstack/volume/v1/public/list_volumes/leads_to_a_valid_response_when_all_tenants_param_is_true.yml +139 -0
  235. data/test/environment.yml.example +2 -2
  236. data/test/environment.yml.travis-ci +2 -2
  237. data/test/support/request_helper.rb +13 -13
  238. data/test/support/test_base_class.rb +13 -13
  239. data/test/support/test_environment.rb +33 -15
  240. data/test/support/test_reporter.rb +38 -30
  241. data/test/support/vcr_setup.rb +29 -11
  242. data/test/test_helper.rb +16 -6
  243. metadata +205 -42
  244. data/.ruby-gemset +0 -1
  245. data/.ruby-version +0 -1
@@ -0,0 +1,38 @@
1
+ module Aviator
2
+
3
+ define_request :set_server_metadata, :inherit => [:openstack, :common, :v2, :public, :base] do
4
+
5
+ meta :service, :compute
6
+
7
+ link 'documentation',
8
+ 'http://docs.openstack.org/api/openstack-compute/2/content/Create_or_Replace_Metadata-d1e5358.html'
9
+
10
+
11
+ param :id, :required => true
12
+ param :metadata, :required => true
13
+
14
+
15
+ def body
16
+ {
17
+ :metadata => params[:metadata]
18
+ }
19
+ end
20
+
21
+
22
+ def headers
23
+ super
24
+ end
25
+
26
+
27
+ def http_method
28
+ :put
29
+ end
30
+
31
+
32
+ def url
33
+ "#{ base_url }/servers/#{ params[:id] }/metadata"
34
+ end
35
+
36
+ end
37
+
38
+ end
@@ -1,17 +1,17 @@
1
1
  module Aviator
2
2
 
3
- define_request :suspend_server, inherit: [:openstack, :common, :v2, :public, :base] do
3
+ define_request :suspend_server, :inherit => [:openstack, :common, :v2, :public, :base] do
4
4
 
5
5
  meta :service, :compute
6
6
 
7
7
  link 'documentation',
8
8
  'http://docs.openstack.org/api/openstack-compute/2/content/POST_suspend_v2__tenant_id__servers__server_id__action_ext-os-admin-actions.html'
9
9
 
10
- param :id, required: true
10
+ param :id, :required => true
11
11
 
12
12
 
13
13
  def body
14
- { suspend: nil }
14
+ { :suspend => nil }
15
15
  end
16
16
 
17
17
 
@@ -1,17 +1,17 @@
1
1
  module Aviator
2
2
 
3
- define_request :unpause_server, inherit: [:openstack, :common, :v2, :public, :base] do
3
+ define_request :unpause_server, :inherit => [:openstack, :common, :v2, :public, :base] do
4
4
 
5
5
  meta :service, :compute
6
6
 
7
7
  link 'documentation',
8
8
  'http://docs.openstack.org/api/openstack-compute/2/content/POST_unpause_v2__tenant_id__servers__server_id__action_ext-os-admin-actions.html'
9
9
 
10
- param :id, required: true
10
+ param :id, :required => true
11
11
 
12
12
 
13
13
  def body
14
- { unpause: nil }
14
+ { :unpause => nil }
15
15
  end
16
16
 
17
17
 
@@ -0,0 +1,38 @@
1
+ module Aviator
2
+
3
+ define_request :update_image_metadata, :inherit => [:openstack, :common, :v2, :public, :base] do
4
+
5
+ meta :service, :compute
6
+
7
+ link 'documentation',
8
+ 'http://docs.openstack.org/api/openstack-compute/2/content/Update_Metadata-d1e5208.html'
9
+
10
+
11
+ param :id, :required => true
12
+ param :metadata, :required => true
13
+
14
+
15
+ def body
16
+ {
17
+ :metadata => params[:metadata]
18
+ }
19
+ end
20
+
21
+
22
+ def headers
23
+ super
24
+ end
25
+
26
+
27
+ def http_method
28
+ :post
29
+ end
30
+
31
+
32
+ def url
33
+ "#{ base_url }/images/#{ params[:id] }/metadata"
34
+ end
35
+
36
+ end
37
+
38
+ end
@@ -1,21 +1,21 @@
1
1
  module Aviator
2
2
 
3
- define_request :update_server, inherit: [:openstack, :common, :v2, :public, :base] do
3
+ define_request :update_server, :inherit => [:openstack, :common, :v2, :public, :base] do
4
4
 
5
5
  meta :service, :compute
6
6
 
7
7
  link 'documentation',
8
8
  'http://docs.openstack.org/api/openstack-compute/2/content/ServerUpdate.html'
9
9
 
10
- param :accessIPv4, required: false, alias: :access_ipv4
11
- param :accessIPv6, required: false, alias: :access_ipv6
12
- param :id, required: true
13
- param :name, required: false
10
+ param :accessIPv4, :required => false, :alias => :access_ipv4
11
+ param :accessIPv6, :required => false, :alias => :access_ipv6
12
+ param :id, :required => true
13
+ param :name, :required => false
14
14
 
15
15
 
16
16
  def body
17
17
  p = {
18
- server: { }
18
+ :server => { }
19
19
  }
20
20
 
21
21
  [:name, :accessIPv4, :accessIPv6].each do |key|
@@ -0,0 +1,38 @@
1
+ module Aviator
2
+
3
+ define_request :update_server_metadata, :inherit => [:openstack, :common, :v2, :public, :base] do
4
+
5
+ meta :service, :compute
6
+
7
+ link 'documentation',
8
+ 'http://docs.openstack.org/api/openstack-compute/2/content/Update_Metadata-d1e5208.html'
9
+
10
+
11
+ param :id, :required => true
12
+ param :metadata, :required => true
13
+
14
+
15
+ def body
16
+ {
17
+ :metadata => params[:metadata]
18
+ }
19
+ end
20
+
21
+
22
+ def headers
23
+ super
24
+ end
25
+
26
+
27
+ def http_method
28
+ :post
29
+ end
30
+
31
+
32
+ def url
33
+ "#{ base_url }/servers/#{ params[:id] }/metadata"
34
+ end
35
+
36
+ end
37
+
38
+ end
@@ -1,6 +1,6 @@
1
1
  module Aviator
2
2
 
3
- define_request :add_role_to_user_on_tenant, inherit: [:openstack, :common, :v2, :admin, :base] do
3
+ define_request :add_role_to_user_on_tenant, :inherit => [:openstack, :common, :v2, :admin, :base] do
4
4
 
5
5
  meta :service, :identity
6
6
 
@@ -8,9 +8,9 @@ module Aviator
8
8
  'http://docs.openstack.org/api/openstack-identity-service/2.0/content/PUT_addRolesToUserOnTenant_v2.0_tenants__tenantId__users__userId__roles_OS-KSADM__roleId__.html'
9
9
 
10
10
 
11
- param :tenant_id, required: true
12
- param :user_id, required: true
13
- param :role_id, required: true
11
+ param :tenant_id, :required => true
12
+ param :user_id, :required => true
13
+ param :role_id, :required => true
14
14
 
15
15
 
16
16
  def headers
@@ -1,6 +1,6 @@
1
1
  module Aviator
2
2
 
3
- define_request :create_tenant, inherit: [:openstack, :common, :v2, :admin, :base] do
3
+ define_request :create_tenant, :inherit => [:openstack, :common, :v2, :admin, :base] do
4
4
 
5
5
  meta :service, :identity
6
6
 
@@ -8,17 +8,17 @@ module Aviator
8
8
  'http://docs.openstack.org/api/openstack-identity-service/2.0/content/'
9
9
 
10
10
 
11
- param :name, required: true
12
- param :description, required: true
13
- param :enabled, required: true
11
+ param :name, :required => true
12
+ param :description, :required => true
13
+ param :enabled, :required => true
14
14
 
15
15
 
16
16
  def body
17
17
  {
18
- tenant: {
19
- name: params[:name],
20
- description: params[:description],
21
- enabled: params[:enabled]
18
+ :tenant => {
19
+ :name => params[:name],
20
+ :description => params[:description],
21
+ :enabled => params[:enabled]
22
22
  }
23
23
  }
24
24
  end
@@ -18,17 +18,17 @@ module Aviator
18
18
  'https://bugs.launchpad.net/keystone/+bug/1226466'
19
19
 
20
20
 
21
- param :name, required: true
22
- param :password, required: true
21
+ param :name, :required => true
22
+ param :password, :required => true
23
23
 
24
- param :email, required: false
25
- param :enabled, required: false
26
- param :tenantId, required: false, alias: :tenant_id
24
+ param :email, :required => false
25
+ param :enabled, :required => false
26
+ param :tenantId, :required => false, :alias => :tenant_id
27
27
 
28
28
 
29
29
  def body
30
30
  p = {
31
- user: {}
31
+ :user => {}
32
32
  }
33
33
 
34
34
  (required_params + optional_params).each do |key|
@@ -1,6 +1,6 @@
1
1
  module Aviator
2
2
 
3
- define_request :delete_role_from_user_on_tenant, inherit: [:openstack, :common, :v2, :admin, :base] do
3
+ define_request :delete_role_from_user_on_tenant, :inherit => [:openstack, :common, :v2, :admin, :base] do
4
4
 
5
5
  meta :service, :identity
6
6
 
@@ -9,9 +9,9 @@ module Aviator
9
9
  'http://docs.openstack.org/api/openstack-identity-service/2.0/content/DELETE_deleteRoleFromUserOnTenant_v2.0_tenants__tenantId__users__userId__roles_OS-KSADM__roleId__.html'
10
10
 
11
11
 
12
- param :tenant_id, required: true
13
- param :user_id, required: true
14
- param :role_id, required: true
12
+ param :tenant_id, :required => true
13
+ param :user_id, :required => true
14
+ param :role_id, :required => true
15
15
 
16
16
 
17
17
  def headers
@@ -1,13 +1,13 @@
1
1
  module Aviator
2
2
 
3
- define_request :delete_tenant, inherit: [:openstack, :common, :v2, :admin, :base] do
3
+ define_request :delete_tenant, :inherit => [:openstack, :common, :v2, :admin, :base] do
4
4
 
5
5
  meta :service, :identity
6
6
 
7
7
  link 'documentation',
8
8
  'http://docs.openstack.org/api/openstack-identity-service/2.0/content/DELETE_deleteTenant_v2.0_tenants__tenantId__.html'
9
9
 
10
- param :id, required: true
10
+ param :id, :required => true
11
11
 
12
12
 
13
13
  def headers
@@ -10,7 +10,7 @@ module Aviator
10
10
  link 'documentation',
11
11
  'http://docs.openstack.org/api/openstack-identity-service/2.0/content/DELETE_deleteUser_v2.0_users__userId__.html'
12
12
 
13
- param :id, required: true
13
+ param :id, :required => true
14
14
 
15
15
 
16
16
  def headers
@@ -0,0 +1,30 @@
1
+ module Aviator
2
+
3
+ define_request :get_tenant_by_id, :inherit => [:openstack, :common, :v2, :admin, :base] do
4
+
5
+ meta :service, :identity
6
+
7
+ link 'documentation',
8
+ 'http://docs.openstack.org/api/openstack-identity-service/2.0/content/GET_listUsers_v2.0_users_.html'
9
+
10
+
11
+ param :id, :required => true
12
+
13
+
14
+ def headers
15
+ super
16
+ end
17
+
18
+
19
+ def http_method
20
+ :get
21
+ end
22
+
23
+
24
+ def url
25
+ "#{ base_url }/tenants/#{ params[:id] }"
26
+ end
27
+
28
+ end
29
+
30
+ end
@@ -1,6 +1,6 @@
1
1
  module Aviator
2
2
 
3
- define_request :list_tenants, inherit: [:openstack, :common, :v2, :admin, :base] do
3
+ define_request :list_tenants, :inherit => [:openstack, :common, :v2, :admin, :base] do
4
4
 
5
5
  meta :service, :identity
6
6
 
@@ -11,8 +11,8 @@ module Aviator
11
11
  'https://bugs.launchpad.net/keystone/+bug/1218601'
12
12
 
13
13
 
14
- param :marker, required: false
15
- param :limit, required: false
14
+ param :marker, :required => false
15
+ param :limit, :required => false
16
16
 
17
17
 
18
18
  def headers
@@ -1,6 +1,6 @@
1
1
  module Aviator
2
2
 
3
- define_request :update_tenant, inherit: [:openstack, :common, :v2, :admin, :base] do
3
+ define_request :update_tenant, :inherit => [:openstack, :common, :v2, :admin, :base] do
4
4
 
5
5
  meta :service, :identity
6
6
 
@@ -9,15 +9,15 @@ module Aviator
9
9
  'http://docs.openstack.org/api/openstack-identity-service/2.0/content/POST_updateTenant_v2.0_tenants__tenantId__.html'
10
10
 
11
11
 
12
- param :id, required: true
13
- param :name, required: false
14
- param :enabled, required: false
15
- param :description, required: false
12
+ param :id, :required => true
13
+ param :name, :required => false
14
+ param :enabled, :required => false
15
+ param :description, :required => false
16
16
 
17
17
 
18
18
  def body
19
19
  p = {
20
- tenant: {}
20
+ :tenant => {}
21
21
  }
22
22
 
23
23
  [:name, :enabled, :description].each do |key|
@@ -14,17 +14,17 @@ module Aviator
14
14
  link 'bug',
15
15
  'https://bugs.launchpad.net/keystone/+bug/1226475'
16
16
 
17
- param :id, required: true
18
- param :name, required: false
19
- param :password, required: false
20
- param :email, required: false
21
- param :enabled, required: false
22
- param :tenantId, required: false, alias: :tenant_id
17
+ param :id, :required => true
18
+ param :name, :required => false
19
+ param :password, :required => false
20
+ param :email, :required => false
21
+ param :enabled, :required => false
22
+ param :tenantId, :required => false, :alias => :tenant_id
23
23
 
24
24
 
25
25
  def body
26
26
  p = {
27
- user: {}
27
+ :user => {}
28
28
  }
29
29
 
30
30
  optional_params.each do |key|
@@ -1,6 +1,6 @@
1
1
  module Aviator
2
2
 
3
- define_request :create_token, inherit: [:openstack, :common, :v2, :public, :base] do
3
+ define_request :create_token, :inherit => [:openstack, :common, :v2, :public, :base] do
4
4
 
5
5
  meta :anonymous, true
6
6
  meta :service, :identity
@@ -12,28 +12,28 @@ module Aviator
12
12
  'https://bugs.launchpad.net/keystone/+bug/1208607'
13
13
 
14
14
 
15
- param :username, required: false
16
- param :password, required: false
17
- param :tokenId, required: false, alias: :token_id
18
- param :tenantName, required: false, alias: :tenant_name
19
- param :tenantId, required: false, alias: :tenant_id
15
+ param :username, :required => false
16
+ param :password, :required => false
17
+ param :tokenId, :required => false, :alias => :token_id
18
+ param :tenantName, :required => false, :alias => :tenant_name
19
+ param :tenantId, :required => false, :alias => :tenant_id
20
20
 
21
21
 
22
22
  def body
23
23
  p = if params[:tokenId]
24
24
  {
25
- auth: {
26
- token: {
27
- id: params[:tokenId]
25
+ :auth => {
26
+ :token => {
27
+ :id => params[:tokenId]
28
28
  }
29
29
  }
30
30
  }
31
31
  else
32
32
  {
33
- auth: {
34
- passwordCredentials: {
35
- username: params[:username],
36
- password: params[:password]
33
+ :auth => {
34
+ :passwordCredentials => {
35
+ :username => params[:username],
36
+ :password => params[:password]
37
37
  }
38
38
  }
39
39
  }
@@ -1,6 +1,6 @@
1
1
  module Aviator
2
2
 
3
- define_request :list_tenants, inherit: [:openstack, :common, :v2, :public, :base] do
3
+ define_request :list_tenants, :inherit => [:openstack, :common, :v2, :public, :base] do
4
4
 
5
5
  meta :service, :identity
6
6
 
@@ -11,8 +11,8 @@ module Aviator
11
11
  'https://bugs.launchpad.net/keystone/+bug/1218601'
12
12
 
13
13
 
14
- param :marker, required: false
15
- param :limit, required: false
14
+ param :marker, :required => false
15
+ param :limit, :required => false
16
16
 
17
17
 
18
18
  def url
@@ -1,6 +1,6 @@
1
1
  module Aviator
2
2
 
3
- define_request :root, inherit: [:openstack, :common, :v2, :public, :base] do
3
+ define_request :root, :inherit => [:openstack, :common, :v2, :public, :base] do
4
4
 
5
5
  meta :service, :identity
6
6
 
@@ -0,0 +1,45 @@
1
+ module Aviator
2
+
3
+ define_request :list_public_images, :inherit => [:openstack, :common, :v2, :public, :base] do
4
+
5
+ meta :service, :image
6
+ meta :api_version, :v1
7
+
8
+ link 'documentation', 'http://docs.openstack.org/api/openstack-image-service/1.1/content/requesting-a-list-of-public-vm-images.html'
9
+
10
+ param :name, :required => false
11
+ param :container_format, :required => false
12
+ param :disk_format, :required => false
13
+ param :status, :required => false
14
+ param :size_min, :required => false
15
+ param :size_max, :required => false
16
+ param :sort_key, :required => false
17
+ param :sort_dir, :required => false
18
+
19
+
20
+ def headers
21
+ super
22
+ end
23
+
24
+ def http_method
25
+ :get
26
+ end
27
+
28
+ def url
29
+ uri = URI(base_url)
30
+ url = "#{ uri.scheme }://#{ uri.host }:#{ uri.port.to_s }/v1/images"
31
+
32
+ filters = []
33
+
34
+ optional_params.each do |param_name|
35
+ filters << "#{ param_name }=#{ params[param_name] }" if params[param_name]
36
+ end
37
+
38
+ url += "?#{ filters.join('&') }" unless filters.empty?
39
+
40
+ url
41
+ end
42
+
43
+ end
44
+
45
+ end
@@ -1,6 +1,6 @@
1
1
  module Aviator
2
2
 
3
- define_request :root, inherit: [:openstack, :common, :v2, :public, :base] do
3
+ define_request :root, :inherit => [:openstack, :common, :v2, :public, :base] do
4
4
 
5
5
  meta :service, :image
6
6
  meta :api_version, :v1
@@ -1,6 +1,6 @@
1
1
  module Aviator
2
2
 
3
- define_request :list_projects, inherit: [:openstack, :common, :v2, :admin, :base] do
3
+ define_request :list_projects, :inherit => [:openstack, :common, :v2, :admin, :base] do
4
4
 
5
5
  meta :service, :metering
6
6
  meta :api_version, :v1
@@ -1,30 +1,30 @@
1
1
  module Aviator
2
2
 
3
- define_request :create_volume, inherit: [:openstack, :common, :v2, :public, :base] do
3
+ define_request :create_volume, :inherit => [:openstack, :common, :v2, :public, :base] do
4
4
 
5
5
  meta :service, :volume
6
6
  meta :api_version, :v1
7
7
 
8
8
  link 'documentation', 'http://docs.rackspace.com/cbs/api/v1.0/cbs-devguide/content/POST_createVolume_v1__tenant_id__volumes_v1__tenant_id__volumes.html'
9
9
 
10
- param :display_name, required: true
11
- param :display_description, required: true
12
- param :size, required: true
13
- param :volume_type, required: false
14
- param :availability_zone, required: false
15
- param :snapshot_id, required: false
16
- param :metadata, required: false
10
+ param :display_name, :required => true
11
+ param :display_description, :required => true
12
+ param :size, :required => true
13
+ param :volume_type, :required => false
14
+ param :availability_zone, :required => false
15
+ param :snapshot_id, :required => false
16
+ param :metadata, :required => false
17
17
 
18
18
  def body
19
19
  p = {
20
- volume: {
21
- display_name: params[:display_name],
22
- display_description: params[:display_description],
23
- size: params[:size]
20
+ :volume => {
21
+ :display_name => params[:display_name],
22
+ :display_description => params[:display_description],
23
+ :size => params[:size]
24
24
  }
25
25
  }
26
26
 
27
- [:availability_zone, :metadata].each do |key|
27
+ optional_params.each do |key|
28
28
  p[:volume][key] = params[key] if params[key]
29
29
  end
30
30
 
@@ -1,13 +1,13 @@
1
1
  module Aviator
2
2
 
3
- define_request :delete_volume, inherit: [:openstack, :common, :v2, :public, :base] do
3
+ define_request :delete_volume, :inherit => [:openstack, :common, :v2, :public, :base] do
4
4
 
5
5
  meta :service, :volume
6
6
  meta :api_version, :v1
7
7
 
8
8
  link 'documentation', 'http://docs.rackspace.com/cbs/api/v1.0/cbs-devguide/content/DELETE_deleteVolume_v1__tenant_id__volumes__volume_id__v1__tenant_id__volumes.html'
9
9
 
10
- param :id, required: true
10
+ param :id, :required => true
11
11
 
12
12
  def headers
13
13
  super
@@ -1,6 +1,6 @@
1
1
  module Aviator
2
2
 
3
- define_request :get_volume, inherit: [:openstack, :common, :v2, :public, :base] do
3
+ define_request :get_volume, :inherit => [:openstack, :common, :v2, :public, :base] do
4
4
  meta :provider, :openstack
5
5
  meta :service, :volume
6
6
  meta :api_version, :v1
@@ -8,7 +8,7 @@ module Aviator
8
8
 
9
9
  link 'documentation', 'http://docs.rackspace.com/cbs/api/v1.0/cbs-devguide/content/GET_getVolume_v1__tenant_id__volumes__volume_id__v1__tenant_id__volumes.html'
10
10
 
11
- param :id, required: true
11
+ param :id, :required => true
12
12
 
13
13
  def headers
14
14
  super
@@ -1,6 +1,6 @@
1
1
  module Aviator
2
2
 
3
- define_request :list_volume_types, inherit: [:openstack, :common, :v2, :public, :base] do
3
+ define_request :list_volume_types, :inherit => [:openstack, :common, :v2, :public, :base] do
4
4
 
5
5
  meta :provider, :openstack
6
6
  meta :service, :volume
@@ -9,8 +9,8 @@ module Aviator
9
9
 
10
10
  link 'documentation', 'http://docs.rackspace.com/cbs/api/v1.0/cbs-devguide/content/GET_getVolumeTypes_v1__tenant_id__types_v1__tenant_id__types.html'
11
11
 
12
- param :extra_specs, required: false
13
- param :name, required: false
12
+ param :extra_specs, :required => false
13
+ param :name, :required => false
14
14
 
15
15
  def headers
16
16
  super