aviator 0.0.6 → 0.0.7

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 (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,159 @@
1
+ require 'test_helper'
2
+
3
+ class Aviator::Test
4
+
5
+ describe 'aviator/openstack/compute/v2/public/delete_image_metadata_item' do
6
+
7
+ def create_request(session_data = delete_session_data, &block)
8
+ block ||= lambda do |p|
9
+ p[:id] = 'doesnt matter'
10
+ p[:key] = 'doesnt matter'
11
+ end
12
+
13
+ klass.new(session_data, &block)
14
+ end
15
+
16
+
17
+ def delete_session_data
18
+ session.send :auth_info
19
+ end
20
+
21
+
22
+ def helper
23
+ Aviator::Test::RequestHelper
24
+ end
25
+
26
+
27
+ def klass
28
+ @klass ||= helper.load_request('openstack', 'compute', 'v2', 'public', 'delete_image_metadata_item.rb')
29
+ end
30
+
31
+
32
+ def session
33
+ unless @session
34
+ @session = Aviator::Session.new(
35
+ :config_file => Environment.path,
36
+ :environment => 'openstack_member'
37
+ )
38
+ @session.authenticate
39
+ end
40
+
41
+ @session
42
+ end
43
+
44
+
45
+ validate_attr :anonymous? do
46
+ klass.anonymous?.must_equal false
47
+ end
48
+
49
+
50
+ validate_attr :api_version do
51
+ klass.api_version.must_equal :v2
52
+ end
53
+
54
+
55
+ validate_attr :body do
56
+ klass.body?.must_equal false
57
+ create_request.body?.must_equal false
58
+ end
59
+
60
+
61
+ validate_attr :endpoint_type do
62
+ klass.endpoint_type.must_equal :public
63
+ end
64
+
65
+
66
+ validate_attr :headers do
67
+ session_data = delete_session_data
68
+
69
+ headers = { 'X-Auth-Token' => session_data[:access][:token][:id] }
70
+
71
+ request = create_request(session_data)
72
+
73
+ request.headers.must_equal headers
74
+ end
75
+
76
+
77
+ validate_attr :http_method do
78
+ create_request.http_method.must_equal :delete
79
+ end
80
+
81
+
82
+ validate_attr :required_params do
83
+ klass.required_params.must_equal [:id, :key]
84
+ end
85
+
86
+
87
+ validate_attr :url do
88
+ image_id = 'doesnt matter'
89
+ metadata_key = 'doesnt matter'
90
+ service_spec = delete_session_data[:access][:serviceCatalog].find { |s| s[:type] == 'compute' }
91
+ url = "#{ service_spec[:endpoints][0][:publicURL] }/images/#{ image_id }/metadata/#{ metadata_key }"
92
+
93
+ request = create_request do |p|
94
+ p[:id] = image_id
95
+ p[:key] = metadata_key
96
+ end
97
+
98
+ request.url.must_equal url
99
+ end
100
+
101
+
102
+ validate_response 'valid image id and metadata key are provided' do
103
+ service = session.compute_service
104
+
105
+ images = service.request :list_images
106
+ image_id = images.body[:images].first[:id]
107
+
108
+ metadata = service.request(:list_image_metadata) { |p| p[:id] = image_id }.body[:metadata]
109
+ metadata_key = metadata.keys.first
110
+
111
+ response = service.request :delete_image_metadata_item do |params|
112
+ params[:id] = image_id
113
+ params[:key] = metadata_key
114
+ end
115
+
116
+ response.status.must_equal 204
117
+ response.body.wont_be_nil
118
+ response.headers.wont_be_nil
119
+ end
120
+
121
+
122
+ validate_response 'invalid image id is provided' do
123
+ service = session.compute_service
124
+ image_id = 'invalidimageid'
125
+ metadata_key = 'doesntmatter'
126
+
127
+ response = service.request :delete_image_metadata_item do |params|
128
+ params[:id] = image_id
129
+ params[:key] = metadata_key
130
+ end
131
+
132
+ response.status.must_equal 404
133
+ response.body.wont_be_nil
134
+ response.headers.wont_be_nil
135
+ end
136
+
137
+
138
+ validate_response 'invalid metadata key is provided' do
139
+ service = session.compute_service
140
+
141
+ images = service.request :list_images
142
+ image_id = images.body[:images].first[:id]
143
+
144
+ metadata_key = 'invalidmetadatakey'
145
+
146
+ response = service.request :delete_image_metadata_item do |params|
147
+ params[:id] = image_id
148
+ params[:key] = metadata_key
149
+ end
150
+
151
+ response.status.must_equal 404
152
+ response.body.wont_be_nil
153
+ response.headers.wont_be_nil
154
+ end
155
+
156
+
157
+ end
158
+
159
+ end
@@ -31,8 +31,8 @@ class Aviator::Test
31
31
  def session
32
32
  unless @session
33
33
  @session = Aviator::Session.new(
34
- config_file: Environment.path,
35
- environment: 'openstack_member'
34
+ :config_file => Environment.path,
35
+ :environment => 'openstack_member'
36
36
  )
37
37
  @session.authenticate
38
38
  end
@@ -0,0 +1,156 @@
1
+ require 'test_helper'
2
+
3
+ class Aviator::Test
4
+
5
+ describe 'aviator/openstack/compute/v2/public/delete_server_metadata_item' do
6
+
7
+ def create_request(session_data = delete_session_data, &block)
8
+ block ||= lambda do |p|
9
+ p[:id] = 'doesnt matter'
10
+ p[:key] = 'doesnt matter'
11
+ end
12
+
13
+ klass.new(session_data, &block)
14
+ end
15
+
16
+
17
+ def delete_session_data
18
+ session.send :auth_info
19
+ end
20
+
21
+
22
+ def helper
23
+ Aviator::Test::RequestHelper
24
+ end
25
+
26
+
27
+ def klass
28
+ @klass ||= helper.load_request('openstack', 'compute', 'v2', 'public', 'delete_server_metadata_item.rb')
29
+ end
30
+
31
+
32
+ def session
33
+ unless @session
34
+ @session = Aviator::Session.new(
35
+ :config_file => Environment.path,
36
+ :environment => 'openstack_member'
37
+ )
38
+ @session.authenticate
39
+ end
40
+
41
+ @session
42
+ end
43
+
44
+
45
+ validate_attr :anonymous? do
46
+ klass.anonymous?.must_equal false
47
+ end
48
+
49
+
50
+ validate_attr :api_version do
51
+ klass.api_version.must_equal :v2
52
+ end
53
+
54
+
55
+ validate_attr :body do
56
+ klass.body?.must_equal false
57
+ create_request.body?.must_equal false
58
+ end
59
+
60
+
61
+ validate_attr :endpoint_type do
62
+ klass.endpoint_type.must_equal :public
63
+ end
64
+
65
+
66
+ validate_attr :headers do
67
+ session_data = delete_session_data
68
+
69
+ headers = { 'X-Auth-Token' => session_data[:access][:token][:id] }
70
+
71
+ request = create_request(session_data)
72
+
73
+ request.headers.must_equal headers
74
+ end
75
+
76
+
77
+ validate_attr :http_method do
78
+ create_request.http_method.must_equal :delete
79
+ end
80
+
81
+
82
+ validate_attr :required_params do
83
+ klass.required_params.must_equal [:id, :key]
84
+ end
85
+
86
+
87
+ validate_attr :url do
88
+ server_id = 'doesnt matter'
89
+ metadata_key = 'doesnt matter'
90
+ service_spec = delete_session_data[:access][:serviceCatalog].find { |s| s[:type] == 'compute' }
91
+ url = "#{ service_spec[:endpoints][0][:publicURL] }/servers/#{ server_id }/metadata/#{ metadata_key }"
92
+
93
+ request = create_request do |p|
94
+ p[:id] = server_id
95
+ p[:key] = metadata_key
96
+ end
97
+
98
+ request.url.must_equal url
99
+ end
100
+
101
+
102
+ validate_response 'valid server id and metadata key are provided' do
103
+ service = session.compute_service
104
+ servers = service.request :list_servers
105
+ server_id = servers.body[:servers].first[:id]
106
+
107
+ metadata = service.request(:list_server_metadata) { |p| p[:id] = server_id }.body[:metadata]
108
+ metadata_key = metadata.keys.first
109
+
110
+ response = service.request :delete_server_metadata_item do |params|
111
+ params[:id] = server_id
112
+ params[:key] = metadata_key
113
+ end
114
+
115
+ response.status.must_equal 204
116
+ response.body.wont_be_nil
117
+ response.headers.wont_be_nil
118
+ end
119
+
120
+
121
+ validate_response 'invalid server id is provided' do
122
+ server_id = 'invalidserverid'
123
+ metadata_key = 'doesntmatter'
124
+
125
+ response = session.compute_service.request :delete_server_metadata_item do |params|
126
+ params[:id] = server_id
127
+ params[:key] = metadata_key
128
+ end
129
+
130
+ response.status.must_equal 404
131
+ response.body.wont_be_nil
132
+ response.headers.wont_be_nil
133
+ end
134
+
135
+
136
+ validate_response 'invalid metadata key is provided' do
137
+ service = session.compute_service
138
+ servers = service.request :list_servers
139
+ server_id = servers.body[:servers].first[:id]
140
+
141
+ metadata_key = 'invalidmetadatakey'
142
+
143
+ response = service.request :delete_server_metadata_item do |params|
144
+ params[:id] = server_id
145
+ params[:key] = metadata_key
146
+ end
147
+
148
+ response.status.must_equal 404
149
+ response.body.wont_be_nil
150
+ response.headers.wont_be_nil
151
+ end
152
+
153
+
154
+ end
155
+
156
+ end
@@ -27,8 +27,8 @@ class Aviator::Test
27
27
  def session
28
28
  unless @session
29
29
  @session = Aviator::Session.new(
30
- config_file: Environment.path,
31
- environment: 'openstack_member'
30
+ :config_file => Environment.path,
31
+ :environment => 'openstack_member'
32
32
  )
33
33
  @session.authenticate
34
34
  end
@@ -16,8 +16,8 @@ class Aviator::Test
16
16
  def session
17
17
  unless @session
18
18
  @session = Aviator::Session.new(
19
- config_file: Environment.path,
20
- environment: 'openstack_member'
19
+ :config_file => Environment.path,
20
+ :environment => 'openstack_member'
21
21
  )
22
22
  @session.authenticate
23
23
  end
@@ -31,8 +31,8 @@ class Aviator::Test
31
31
  def session
32
32
  unless @session
33
33
  @session = Aviator::Session.new(
34
- config_file: Environment.path,
35
- environment: 'openstack_member'
34
+ :config_file => Environment.path,
35
+ :environment => 'openstack_member'
36
36
  )
37
37
  @session.authenticate
38
38
  end
@@ -0,0 +1,160 @@
1
+ require 'test_helper'
2
+
3
+ class Aviator::Test
4
+
5
+ describe 'aviator/openstack/compute/v2/public/get_image_metadata_item' do
6
+
7
+ def create_request(session_data = get_session_data, &block)
8
+ block ||= lambda do |p|
9
+ p[:id] = 'doesnt matter'
10
+ p[:key] = 'doesnt matter'
11
+ end
12
+
13
+ klass.new(session_data, &block)
14
+ end
15
+
16
+
17
+ def get_session_data
18
+ session.send :auth_info
19
+ end
20
+
21
+
22
+ def helper
23
+ Aviator::Test::RequestHelper
24
+ end
25
+
26
+
27
+ def klass
28
+ @klass ||= helper.load_request('openstack', 'compute', 'v2', 'public', 'get_image_metadata_item.rb')
29
+ end
30
+
31
+
32
+ def session
33
+ unless @session
34
+ @session = Aviator::Session.new(
35
+ :config_file => Environment.path,
36
+ :environment => 'openstack_member'
37
+ )
38
+ @session.authenticate
39
+ end
40
+
41
+ @session
42
+ end
43
+
44
+
45
+ validate_attr :anonymous? do
46
+ klass.anonymous?.must_equal false
47
+ end
48
+
49
+
50
+ validate_attr :api_version do
51
+ klass.api_version.must_equal :v2
52
+ end
53
+
54
+
55
+ validate_attr :body do
56
+ klass.body?.must_equal false
57
+ create_request.body?.must_equal false
58
+ end
59
+
60
+
61
+ validate_attr :endpoint_type do
62
+ klass.endpoint_type.must_equal :public
63
+ end
64
+
65
+
66
+ validate_attr :headers do
67
+ session_data = get_session_data
68
+
69
+ headers = { 'X-Auth-Token' => session_data[:access][:token][:id] }
70
+
71
+ request = create_request(session_data)
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
+
82
+ validate_attr :required_params do
83
+ klass.required_params.must_equal [:id, :key]
84
+ end
85
+
86
+
87
+ validate_attr :url do
88
+ image_id = 'doesnt matter'
89
+ metadata_key = 'doesnt matter'
90
+ service_spec = get_session_data[:access][:serviceCatalog].find { |s| s[:type] == 'compute' }
91
+ url = "#{ service_spec[:endpoints][0][:publicURL] }/images/#{ image_id }/metadata/#{ metadata_key }"
92
+
93
+ request = create_request do |p|
94
+ p[:id] = image_id
95
+ p[:key] = metadata_key
96
+ end
97
+
98
+ request.url.must_equal url
99
+ end
100
+
101
+
102
+ validate_response 'valid image id and metadata key are provided' do
103
+ service = session.compute_service
104
+
105
+ images = service.request :list_images
106
+ image_id = images.body[:images].first[:id]
107
+
108
+ metadata = service.request(:list_image_metadata) { |p| p[:id] = image_id }.body[:metadata]
109
+ metadata_key = metadata.keys.first
110
+
111
+ response = service.request :get_image_metadata_item do |params|
112
+ params[:id] = image_id
113
+ params[:key] = metadata_key
114
+ end
115
+
116
+ response.status.must_equal 200
117
+ response.body.wont_be_nil
118
+ response.body[:meta].length.wont_equal 0
119
+ response.headers.wont_be_nil
120
+ end
121
+
122
+
123
+ validate_response 'invalid image id is provided' do
124
+ service = session.compute_service
125
+ image_id = 'invalidimageid'
126
+ metadata_key = 'doesntmatter'
127
+
128
+ response = service.request :get_image_metadata_item do |params|
129
+ params[:id] = image_id
130
+ params[:key] = metadata_key
131
+ end
132
+
133
+ response.status.must_equal 404
134
+ response.body.wont_be_nil
135
+ response.headers.wont_be_nil
136
+ end
137
+
138
+
139
+ validate_response 'invalid metadata key is provided' do
140
+ service = session.compute_service
141
+
142
+ images = service.request :list_images
143
+ image_id = images.body[:images].first[:id]
144
+
145
+ metadata_key = 'invalidmetadatakey'
146
+
147
+ response = service.request :get_image_metadata_item do |params|
148
+ params[:id] = image_id
149
+ params[:key] = metadata_key
150
+ end
151
+
152
+ response.status.must_equal 404
153
+ response.body.wont_be_nil
154
+ response.headers.wont_be_nil
155
+ end
156
+
157
+
158
+ end
159
+
160
+ end
@@ -28,8 +28,8 @@ class Aviator::Test
28
28
  def session
29
29
  unless @session
30
30
  @session = Aviator::Session.new(
31
- config_file: Environment.path,
32
- environment: 'openstack_member'
31
+ :config_file => Environment.path,
32
+ :environment => 'openstack_member'
33
33
  )
34
34
  @session.authenticate
35
35
  end
@@ -0,0 +1,160 @@
1
+ require 'test_helper'
2
+
3
+ class Aviator::Test
4
+
5
+ describe 'aviator/openstack/compute/v2/public/get_server_metadata_item' do
6
+
7
+ def create_request(session_data = get_session_data, &block)
8
+ block ||= lambda do |p|
9
+ p[:id] = 'doesnt matter'
10
+ p[:key] = 'doesnt matter'
11
+ end
12
+
13
+ klass.new(session_data, &block)
14
+ end
15
+
16
+
17
+ def get_session_data
18
+ session.send :auth_info
19
+ end
20
+
21
+
22
+ def helper
23
+ Aviator::Test::RequestHelper
24
+ end
25
+
26
+
27
+ def klass
28
+ @klass ||= helper.load_request('openstack', 'compute', 'v2', 'public', 'get_server_metadata_item.rb')
29
+ end
30
+
31
+
32
+ def session
33
+ unless @session
34
+ @session = Aviator::Session.new(
35
+ :config_file => Environment.path,
36
+ :environment => 'openstack_member'
37
+ )
38
+ @session.authenticate
39
+ end
40
+
41
+ @session
42
+ end
43
+
44
+
45
+ validate_attr :anonymous? do
46
+ klass.anonymous?.must_equal false
47
+ end
48
+
49
+
50
+ validate_attr :api_version do
51
+ klass.api_version.must_equal :v2
52
+ end
53
+
54
+
55
+ validate_attr :body do
56
+ klass.body?.must_equal false
57
+ create_request.body?.must_equal false
58
+ end
59
+
60
+
61
+ validate_attr :endpoint_type do
62
+ klass.endpoint_type.must_equal :public
63
+ end
64
+
65
+
66
+ validate_attr :headers do
67
+ session_data = get_session_data
68
+
69
+ headers = { 'X-Auth-Token' => session_data[:access][:token][:id] }
70
+
71
+ request = create_request(session_data)
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
+
82
+ validate_attr :required_params do
83
+ klass.required_params.must_equal [:id, :key]
84
+ end
85
+
86
+
87
+ validate_attr :url do
88
+ server_id = 'doesnt matter'
89
+ metadata_key = 'doesnt matter'
90
+ service_spec = get_session_data[:access][:serviceCatalog].find { |s| s[:type] == 'compute' }
91
+ url = "#{ service_spec[:endpoints][0][:publicURL] }/servers/#{ server_id }/metadata/#{ metadata_key }"
92
+
93
+ request = create_request do |p|
94
+ p[:id] = server_id
95
+ p[:key] = metadata_key
96
+ end
97
+
98
+ request.url.must_equal url
99
+ end
100
+
101
+
102
+ validate_response 'valid server id and metadata key are provided' do
103
+ service = session.compute_service
104
+
105
+ servers = service.request :list_servers
106
+ server_id = servers.body[:servers].first[:id]
107
+
108
+ metadata = service.request(:list_server_metadata) { |p| p[:id] = server_id }.body[:metadata]
109
+ metadata_key = metadata.keys.first
110
+
111
+ response = service.request :get_server_metadata_item do |params|
112
+ params[:id] = server_id
113
+ params[:key] = metadata_key
114
+ end
115
+
116
+ response.status.must_equal 200
117
+ response.body.wont_be_nil
118
+ response.body[:meta].length.wont_equal 0
119
+ response.headers.wont_be_nil
120
+ end
121
+
122
+
123
+ validate_response 'invalid server id and metadata key are provided' do
124
+ service = session.compute_service
125
+ server_id = 'invalidserverid'
126
+ metadata_key = 'doesntmatter'
127
+
128
+ response = service.request :get_server_metadata_item do |params|
129
+ params[:id] = server_id
130
+ params[:key] = metadata_key
131
+ end
132
+
133
+ response.status.must_equal 404
134
+ response.body.wont_be_nil
135
+ response.headers.wont_be_nil
136
+ end
137
+
138
+
139
+ validate_response 'invalid metadata key is provided' do
140
+ service = session.compute_service
141
+
142
+ servers = service.request :list_servers
143
+ server_id = servers.body[:servers].first[:id]
144
+
145
+ metadata_key = 'invalidmetadatakey'
146
+
147
+ response = service.request :get_server_metadata_item do |params|
148
+ params[:id] = server_id
149
+ params[:key] = metadata_key
150
+ end
151
+
152
+ response.status.must_equal 404
153
+ response.body.wont_be_nil
154
+ response.headers.wont_be_nil
155
+ end
156
+
157
+
158
+ end
159
+
160
+ end
@@ -12,8 +12,8 @@ class Aviator::Test
12
12
  def session
13
13
  unless @session
14
14
  @session = Aviator::Session.new(
15
- config_file: Environment.path,
16
- environment: 'openstack_member'
15
+ :config_file => Environment.path,
16
+ :environment => 'openstack_member'
17
17
  )
18
18
  @session.authenticate
19
19
  end