fog-google 1.24.1 → 1.26.0

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 (437) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/integration-compute-core.yml +2 -2
  3. data/.github/workflows/integration-compute-instance_groups.yml +2 -2
  4. data/.github/workflows/integration-compute-loadbalancing.yml +2 -2
  5. data/.github/workflows/integration-compute-networking.yml +2 -2
  6. data/.github/workflows/integration-monitoring.yml +2 -2
  7. data/.github/workflows/integration-pubsub.yml +2 -2
  8. data/.github/workflows/integration-sql.yml +2 -2
  9. data/.github/workflows/integration-storage.yml +2 -2
  10. data/.github/workflows/unit.yml +2 -2
  11. data/CHANGELOG.md +58 -27
  12. data/CONTRIBUTING.md +11 -11
  13. data/README.md +7 -7
  14. data/SECURITY.md +3 -14
  15. data/examples/create_instance_and_attach_disk_later.rb +6 -7
  16. data/examples/dns/project.rb +1 -1
  17. data/examples/dns/zones.rb +1 -1
  18. data/examples/storage.rb +1 -1
  19. data/examples/storage_json.rb +1 -1
  20. data/fog-google.gemspec +3 -4
  21. data/lib/fog/bin/google.rb +23 -25
  22. data/lib/fog/{compute/google → google/compute}/mock.rb +2 -2
  23. data/lib/fog/{compute/google → google/compute}/models/address.rb +8 -8
  24. data/lib/fog/{compute/google → google/compute}/models/addresses.rb +3 -3
  25. data/lib/fog/{compute/google → google/compute}/models/backend_service.rb +4 -4
  26. data/lib/fog/{compute/google → google/compute}/models/backend_services.rb +3 -3
  27. data/lib/fog/{compute/google → google/compute}/models/disk.rb +5 -5
  28. data/lib/fog/{compute/google → google/compute}/models/disk_type.rb +2 -2
  29. data/lib/fog/{compute/google → google/compute}/models/disk_types.rb +3 -3
  30. data/lib/fog/{compute/google → google/compute}/models/disks.rb +3 -3
  31. data/lib/fog/{compute/google → google/compute}/models/firewall.rb +6 -6
  32. data/lib/fog/{compute/google → google/compute}/models/firewalls.rb +3 -3
  33. data/lib/fog/{compute/google → google/compute}/models/forwarding_rule.rb +4 -4
  34. data/lib/fog/{compute/google → google/compute}/models/forwarding_rules.rb +3 -3
  35. data/lib/fog/{compute/google → google/compute}/models/global_address.rb +4 -4
  36. data/lib/fog/{compute/google → google/compute}/models/global_addresses.rb +3 -3
  37. data/lib/fog/{compute/google → google/compute}/models/global_forwarding_rule.rb +4 -4
  38. data/lib/fog/{compute/google → google/compute}/models/global_forwarding_rules.rb +3 -3
  39. data/lib/fog/{compute/google → google/compute}/models/http_health_check.rb +5 -5
  40. data/lib/fog/{compute/google → google/compute}/models/http_health_checks.rb +3 -3
  41. data/lib/fog/{compute/google → google/compute}/models/image.rb +4 -4
  42. data/lib/fog/{compute/google → google/compute}/models/images.rb +3 -3
  43. data/lib/fog/{compute/google → google/compute}/models/instance_group.rb +2 -2
  44. data/lib/fog/{compute/google → google/compute}/models/instance_group_manager.rb +3 -3
  45. data/lib/fog/{compute/google → google/compute}/models/instance_group_managers.rb +3 -3
  46. data/lib/fog/{compute/google → google/compute}/models/instance_groups.rb +5 -5
  47. data/lib/fog/{compute/google → google/compute}/models/instance_template.rb +4 -4
  48. data/lib/fog/{compute/google → google/compute}/models/instance_templates.rb +3 -3
  49. data/lib/fog/{compute/google → google/compute}/models/machine_type.rb +2 -2
  50. data/lib/fog/{compute/google → google/compute}/models/machine_types.rb +3 -3
  51. data/lib/fog/{compute/google → google/compute}/models/network.rb +4 -4
  52. data/lib/fog/{compute/google → google/compute}/models/networks.rb +3 -3
  53. data/lib/fog/{compute/google → google/compute}/models/operation.rb +2 -2
  54. data/lib/fog/{compute/google → google/compute}/models/operations.rb +3 -3
  55. data/lib/fog/{compute/google → google/compute}/models/project.rb +3 -3
  56. data/lib/fog/{compute/google → google/compute}/models/projects.rb +3 -3
  57. data/lib/fog/{compute/google → google/compute}/models/region.rb +2 -2
  58. data/lib/fog/{compute/google → google/compute}/models/regions.rb +3 -3
  59. data/lib/fog/{compute/google → google/compute}/models/route.rb +4 -4
  60. data/lib/fog/{compute/google → google/compute}/models/routes.rb +3 -3
  61. data/lib/fog/{compute/google → google/compute}/models/server.rb +19 -19
  62. data/lib/fog/{compute/google → google/compute}/models/servers.rb +3 -3
  63. data/lib/fog/{compute/google → google/compute}/models/snapshot.rb +3 -3
  64. data/lib/fog/{compute/google → google/compute}/models/snapshots.rb +3 -3
  65. data/lib/fog/{compute/google → google/compute}/models/ssl_certificate.rb +4 -4
  66. data/lib/fog/{compute/google → google/compute}/models/ssl_certificates.rb +3 -3
  67. data/lib/fog/{compute/google → google/compute}/models/subnetwork.rb +6 -6
  68. data/lib/fog/{compute/google → google/compute}/models/subnetworks.rb +3 -3
  69. data/lib/fog/{compute/google → google/compute}/models/target_http_proxies.rb +3 -3
  70. data/lib/fog/{compute/google → google/compute}/models/target_http_proxy.rb +5 -5
  71. data/lib/fog/{compute/google → google/compute}/models/target_https_proxies.rb +3 -3
  72. data/lib/fog/{compute/google → google/compute}/models/target_https_proxy.rb +7 -7
  73. data/lib/fog/{compute/google → google/compute}/models/target_instance.rb +4 -4
  74. data/lib/fog/{compute/google → google/compute}/models/target_instances.rb +3 -3
  75. data/lib/fog/{compute/google → google/compute}/models/target_pool.rb +8 -8
  76. data/lib/fog/{compute/google → google/compute}/models/target_pools.rb +3 -3
  77. data/lib/fog/{compute/google → google/compute}/models/url_map.rb +7 -7
  78. data/lib/fog/{compute/google → google/compute}/models/url_maps.rb +3 -3
  79. data/lib/fog/{compute/google → google/compute}/models/zone.rb +2 -2
  80. data/lib/fog/{compute/google → google/compute}/models/zones.rb +3 -3
  81. data/lib/fog/{compute/google → google/compute}/real.rb +2 -2
  82. data/lib/fog/{compute/google → google/compute}/requests/abandon_instances.rb +2 -2
  83. data/lib/fog/{compute/google → google/compute}/requests/add_backend_service_backends.rb +2 -2
  84. data/lib/fog/{compute/google → google/compute}/requests/add_instance_group_instances.rb +2 -2
  85. data/lib/fog/{compute/google → google/compute}/requests/add_server_access_config.rb +2 -2
  86. data/lib/fog/{compute/google → google/compute}/requests/add_target_pool_health_checks.rb +2 -2
  87. data/lib/fog/{compute/google → google/compute}/requests/add_target_pool_instances.rb +2 -2
  88. data/lib/fog/{compute/google → google/compute}/requests/attach_disk.rb +2 -2
  89. data/lib/fog/{compute/google → google/compute}/requests/create_disk_snapshot.rb +2 -2
  90. data/lib/fog/{compute/google → google/compute}/requests/delete_address.rb +2 -2
  91. data/lib/fog/{compute/google → google/compute}/requests/delete_backend_service.rb +2 -2
  92. data/lib/fog/{compute/google → google/compute}/requests/delete_disk.rb +2 -2
  93. data/lib/fog/{compute/google → google/compute}/requests/delete_firewall.rb +2 -2
  94. data/lib/fog/{compute/google → google/compute}/requests/delete_forwarding_rule.rb +2 -2
  95. data/lib/fog/{compute/google → google/compute}/requests/delete_global_address.rb +2 -2
  96. data/lib/fog/{compute/google → google/compute}/requests/delete_global_forwarding_rule.rb +2 -2
  97. data/lib/fog/{compute/google → google/compute}/requests/delete_global_operation.rb +2 -2
  98. data/lib/fog/{compute/google → google/compute}/requests/delete_http_health_check.rb +2 -2
  99. data/lib/fog/{compute/google → google/compute}/requests/delete_image.rb +2 -2
  100. data/lib/fog/{compute/google → google/compute}/requests/delete_instance_group.rb +2 -2
  101. data/lib/fog/{compute/google → google/compute}/requests/delete_instance_group_manager.rb +2 -2
  102. data/lib/fog/{compute/google → google/compute}/requests/delete_instance_template.rb +2 -2
  103. data/lib/fog/{compute/google → google/compute}/requests/delete_network.rb +2 -2
  104. data/lib/fog/{compute/google → google/compute}/requests/delete_region_operation.rb +2 -2
  105. data/lib/fog/{compute/google → google/compute}/requests/delete_route.rb +2 -2
  106. data/lib/fog/{compute/google → google/compute}/requests/delete_server.rb +2 -2
  107. data/lib/fog/{compute/google → google/compute}/requests/delete_server_access_config.rb +2 -2
  108. data/lib/fog/{compute/google → google/compute}/requests/delete_snapshot.rb +2 -2
  109. data/lib/fog/{compute/google → google/compute}/requests/delete_ssl_certificate.rb +2 -2
  110. data/lib/fog/{compute/google → google/compute}/requests/delete_subnetwork.rb +2 -2
  111. data/lib/fog/{compute/google → google/compute}/requests/delete_target_http_proxy.rb +2 -2
  112. data/lib/fog/{compute/google → google/compute}/requests/delete_target_https_proxy.rb +2 -2
  113. data/lib/fog/{compute/google → google/compute}/requests/delete_target_instance.rb +2 -2
  114. data/lib/fog/{compute/google → google/compute}/requests/delete_target_pool.rb +2 -2
  115. data/lib/fog/{compute/google → google/compute}/requests/delete_url_map.rb +2 -2
  116. data/lib/fog/{compute/google → google/compute}/requests/delete_zone_operation.rb +2 -2
  117. data/lib/fog/{compute/google → google/compute}/requests/deprecate_image.rb +2 -2
  118. data/lib/fog/{compute/google → google/compute}/requests/detach_disk.rb +2 -2
  119. data/lib/fog/{compute/google → google/compute}/requests/expand_subnetwork_ip_cidr_range.rb +2 -2
  120. data/lib/fog/{compute/google → google/compute}/requests/get_address.rb +2 -2
  121. data/lib/fog/{compute/google → google/compute}/requests/get_backend_service.rb +2 -2
  122. data/lib/fog/{compute/google → google/compute}/requests/get_backend_service_health.rb +2 -2
  123. data/lib/fog/{compute/google → google/compute}/requests/get_disk.rb +2 -2
  124. data/lib/fog/{compute/google → google/compute}/requests/get_disk_type.rb +2 -2
  125. data/lib/fog/{compute/google → google/compute}/requests/get_firewall.rb +2 -2
  126. data/lib/fog/{compute/google → google/compute}/requests/get_forwarding_rule.rb +2 -2
  127. data/lib/fog/{compute/google → google/compute}/requests/get_global_address.rb +2 -2
  128. data/lib/fog/{compute/google → google/compute}/requests/get_global_forwarding_rule.rb +2 -2
  129. data/lib/fog/{compute/google → google/compute}/requests/get_global_operation.rb +2 -2
  130. data/lib/fog/{compute/google → google/compute}/requests/get_http_health_check.rb +2 -2
  131. data/lib/fog/{compute/google → google/compute}/requests/get_image.rb +2 -2
  132. data/lib/fog/{compute/google → google/compute}/requests/get_image_from_family.rb +2 -2
  133. data/lib/fog/{compute/google → google/compute}/requests/get_instance_group.rb +2 -2
  134. data/lib/fog/{compute/google → google/compute}/requests/get_instance_group_manager.rb +2 -2
  135. data/lib/fog/{compute/google → google/compute}/requests/get_instance_template.rb +2 -2
  136. data/lib/fog/{compute/google → google/compute}/requests/get_machine_type.rb +2 -2
  137. data/lib/fog/{compute/google → google/compute}/requests/get_network.rb +2 -2
  138. data/lib/fog/{compute/google → google/compute}/requests/get_project.rb +2 -2
  139. data/lib/fog/{compute/google → google/compute}/requests/get_region.rb +2 -2
  140. data/lib/fog/{compute/google → google/compute}/requests/get_region_operation.rb +2 -2
  141. data/lib/fog/{compute/google → google/compute}/requests/get_route.rb +2 -2
  142. data/lib/fog/{compute/google → google/compute}/requests/get_server.rb +2 -2
  143. data/lib/fog/{compute/google → google/compute}/requests/get_server_serial_port_output.rb +2 -2
  144. data/lib/fog/{compute/google → google/compute}/requests/get_snapshot.rb +2 -2
  145. data/lib/fog/{compute/google → google/compute}/requests/get_ssl_certificate.rb +2 -2
  146. data/lib/fog/{compute/google → google/compute}/requests/get_subnetwork.rb +2 -2
  147. data/lib/fog/{compute/google → google/compute}/requests/get_target_http_proxy.rb +2 -2
  148. data/lib/fog/{compute/google → google/compute}/requests/get_target_https_proxy.rb +2 -2
  149. data/lib/fog/{compute/google → google/compute}/requests/get_target_instance.rb +2 -2
  150. data/lib/fog/{compute/google → google/compute}/requests/get_target_pool.rb +2 -2
  151. data/lib/fog/{compute/google → google/compute}/requests/get_target_pool_health.rb +2 -2
  152. data/lib/fog/{compute/google → google/compute}/requests/get_url_map.rb +2 -2
  153. data/lib/fog/{compute/google → google/compute}/requests/get_zone.rb +2 -2
  154. data/lib/fog/{compute/google → google/compute}/requests/get_zone_operation.rb +2 -2
  155. data/lib/fog/{compute/google → google/compute}/requests/insert_address.rb +2 -2
  156. data/lib/fog/{compute/google → google/compute}/requests/insert_backend_service.rb +2 -2
  157. data/lib/fog/{compute/google → google/compute}/requests/insert_disk.rb +2 -2
  158. data/lib/fog/{compute/google → google/compute}/requests/insert_firewall.rb +2 -2
  159. data/lib/fog/{compute/google → google/compute}/requests/insert_forwarding_rule.rb +2 -2
  160. data/lib/fog/{compute/google → google/compute}/requests/insert_global_address.rb +2 -2
  161. data/lib/fog/{compute/google → google/compute}/requests/insert_global_forwarding_rule.rb +2 -2
  162. data/lib/fog/{compute/google → google/compute}/requests/insert_http_health_check.rb +2 -2
  163. data/lib/fog/{compute/google → google/compute}/requests/insert_image.rb +2 -2
  164. data/lib/fog/{compute/google → google/compute}/requests/insert_instance_group.rb +2 -2
  165. data/lib/fog/{compute/google → google/compute}/requests/insert_instance_group_manager.rb +2 -2
  166. data/lib/fog/{compute/google → google/compute}/requests/insert_instance_template.rb +2 -2
  167. data/lib/fog/{compute/google → google/compute}/requests/insert_network.rb +2 -2
  168. data/lib/fog/{compute/google → google/compute}/requests/insert_route.rb +2 -2
  169. data/lib/fog/{compute/google → google/compute}/requests/insert_server.rb +3 -3
  170. data/lib/fog/{compute/google → google/compute}/requests/insert_ssl_certificate.rb +2 -2
  171. data/lib/fog/{compute/google → google/compute}/requests/insert_subnetwork.rb +2 -2
  172. data/lib/fog/{compute/google → google/compute}/requests/insert_target_http_proxy.rb +2 -2
  173. data/lib/fog/{compute/google → google/compute}/requests/insert_target_https_proxy.rb +2 -2
  174. data/lib/fog/{compute/google → google/compute}/requests/insert_target_instance.rb +2 -2
  175. data/lib/fog/{compute/google → google/compute}/requests/insert_target_pool.rb +2 -2
  176. data/lib/fog/{compute/google → google/compute}/requests/insert_url_map.rb +2 -2
  177. data/lib/fog/{compute/google → google/compute}/requests/invalidate_url_map_cache.rb +2 -2
  178. data/lib/fog/{compute/google → google/compute}/requests/list_addresses.rb +2 -2
  179. data/lib/fog/{compute/google → google/compute}/requests/list_aggregated_addresses.rb +2 -2
  180. data/lib/fog/{compute/google → google/compute}/requests/list_aggregated_disk_types.rb +2 -2
  181. data/lib/fog/{compute/google → google/compute}/requests/list_aggregated_disks.rb +2 -2
  182. data/lib/fog/{compute/google → google/compute}/requests/list_aggregated_forwarding_rules.rb +2 -2
  183. data/lib/fog/{compute/google → google/compute}/requests/list_aggregated_instance_group_managers.rb +2 -2
  184. data/lib/fog/{compute/google → google/compute}/requests/list_aggregated_instance_groups.rb +2 -2
  185. data/lib/fog/{compute/google → google/compute}/requests/list_aggregated_machine_types.rb +2 -2
  186. data/lib/fog/{compute/google → google/compute}/requests/list_aggregated_servers.rb +2 -2
  187. data/lib/fog/{compute/google → google/compute}/requests/list_aggregated_subnetworks.rb +2 -2
  188. data/lib/fog/{compute/google → google/compute}/requests/list_aggregated_target_instances.rb +2 -2
  189. data/lib/fog/{compute/google → google/compute}/requests/list_aggregated_target_pools.rb +2 -2
  190. data/lib/fog/{compute/google → google/compute}/requests/list_backend_services.rb +2 -2
  191. data/lib/fog/{compute/google → google/compute}/requests/list_disk_types.rb +2 -2
  192. data/lib/fog/{compute/google → google/compute}/requests/list_disks.rb +2 -2
  193. data/lib/fog/{compute/google → google/compute}/requests/list_firewalls.rb +2 -2
  194. data/lib/fog/{compute/google → google/compute}/requests/list_forwarding_rules.rb +2 -2
  195. data/lib/fog/{compute/google → google/compute}/requests/list_global_addresses.rb +2 -2
  196. data/lib/fog/{compute/google → google/compute}/requests/list_global_forwarding_rules.rb +2 -2
  197. data/lib/fog/{compute/google → google/compute}/requests/list_global_operations.rb +2 -2
  198. data/lib/fog/{compute/google → google/compute}/requests/list_http_health_checks.rb +2 -2
  199. data/lib/fog/{compute/google → google/compute}/requests/list_images.rb +2 -2
  200. data/lib/fog/{compute/google → google/compute}/requests/list_instance_group_instances.rb +2 -2
  201. data/lib/fog/{compute/google → google/compute}/requests/list_instance_group_managers.rb +2 -2
  202. data/lib/fog/{compute/google → google/compute}/requests/list_instance_groups.rb +2 -2
  203. data/lib/fog/{compute/google → google/compute}/requests/list_instance_templates.rb +2 -2
  204. data/lib/fog/{compute/google → google/compute}/requests/list_machine_types.rb +2 -2
  205. data/lib/fog/{compute/google → google/compute}/requests/list_networks.rb +2 -2
  206. data/lib/fog/{compute/google → google/compute}/requests/list_region_operations.rb +2 -2
  207. data/lib/fog/{compute/google → google/compute}/requests/list_regions.rb +2 -2
  208. data/lib/fog/{compute/google → google/compute}/requests/list_routes.rb +2 -2
  209. data/lib/fog/{compute/google → google/compute}/requests/list_servers.rb +2 -2
  210. data/lib/fog/{compute/google → google/compute}/requests/list_snapshots.rb +2 -2
  211. data/lib/fog/{compute/google → google/compute}/requests/list_ssl_certificates.rb +2 -2
  212. data/lib/fog/{compute/google → google/compute}/requests/list_subnetworks.rb +2 -2
  213. data/lib/fog/{compute/google → google/compute}/requests/list_target_http_proxies.rb +2 -2
  214. data/lib/fog/{compute/google → google/compute}/requests/list_target_https_proxies.rb +2 -2
  215. data/lib/fog/{compute/google → google/compute}/requests/list_target_instances.rb +2 -2
  216. data/lib/fog/{compute/google → google/compute}/requests/list_target_pools.rb +2 -2
  217. data/lib/fog/{compute/google → google/compute}/requests/list_url_maps.rb +2 -2
  218. data/lib/fog/{compute/google → google/compute}/requests/list_zone_operations.rb +2 -2
  219. data/lib/fog/{compute/google → google/compute}/requests/list_zones.rb +2 -2
  220. data/lib/fog/{compute/google → google/compute}/requests/patch_firewall.rb +2 -2
  221. data/lib/fog/{compute/google → google/compute}/requests/patch_url_map.rb +2 -2
  222. data/lib/fog/{compute/google → google/compute}/requests/recreate_instances.rb +2 -2
  223. data/lib/fog/{compute/google → google/compute}/requests/remove_instance_group_instances.rb +2 -2
  224. data/lib/fog/{compute/google → google/compute}/requests/remove_target_pool_health_checks.rb +2 -2
  225. data/lib/fog/{compute/google → google/compute}/requests/remove_target_pool_instance.rb +2 -2
  226. data/lib/fog/{compute/google → google/compute}/requests/remove_target_pool_instances.rb +2 -2
  227. data/lib/fog/{compute/google → google/compute}/requests/reset_server.rb +2 -2
  228. data/lib/fog/{compute/google → google/compute}/requests/reset_windows_password.rb +2 -2
  229. data/lib/fog/{compute/google → google/compute}/requests/set_common_instance_metadata.rb +2 -2
  230. data/lib/fog/{compute/google → google/compute}/requests/set_forwarding_rule_target.rb +2 -2
  231. data/lib/fog/{compute/google → google/compute}/requests/set_global_forwarding_rule_target.rb +2 -2
  232. data/lib/fog/{compute/google → google/compute}/requests/set_instance_template.rb +2 -2
  233. data/lib/fog/{compute/google → google/compute}/requests/set_server_disk_auto_delete.rb +2 -2
  234. data/lib/fog/{compute/google → google/compute}/requests/set_server_machine_type.rb +2 -2
  235. data/lib/fog/{compute/google → google/compute}/requests/set_server_metadata.rb +2 -2
  236. data/lib/fog/{compute/google → google/compute}/requests/set_server_scheduling.rb +2 -2
  237. data/lib/fog/{compute/google → google/compute}/requests/set_server_tags.rb +2 -2
  238. data/lib/fog/{compute/google → google/compute}/requests/set_snapshot_labels.rb +2 -2
  239. data/lib/fog/{compute/google → google/compute}/requests/set_subnetwork_private_ip_google_access.rb +2 -2
  240. data/lib/fog/{compute/google → google/compute}/requests/set_target_http_proxy_url_map.rb +2 -2
  241. data/lib/fog/{compute/google → google/compute}/requests/set_target_https_proxy_ssl_certificates.rb +2 -2
  242. data/lib/fog/{compute/google → google/compute}/requests/set_target_https_proxy_url_map.rb +2 -2
  243. data/lib/fog/{compute/google → google/compute}/requests/set_target_pool_backup.rb +2 -2
  244. data/lib/fog/{compute/google → google/compute}/requests/start_server.rb +2 -2
  245. data/lib/fog/{compute/google → google/compute}/requests/stop_server.rb +2 -2
  246. data/lib/fog/{compute/google → google/compute}/requests/update_firewall.rb +2 -2
  247. data/lib/fog/{compute/google → google/compute}/requests/update_http_health_check.rb +2 -2
  248. data/lib/fog/{compute/google → google/compute}/requests/update_url_map.rb +2 -2
  249. data/lib/fog/{compute/google → google/compute}/requests/validate_url_map.rb +2 -2
  250. data/lib/fog/{compute/google.rb → google/compute.rb} +6 -6
  251. data/lib/fog/{dns/google → google/dns}/mock.rb +2 -2
  252. data/lib/fog/{dns/google → google/dns}/models/change.rb +2 -2
  253. data/lib/fog/{dns/google → google/dns}/models/changes.rb +8 -6
  254. data/lib/fog/{dns/google → google/dns}/models/project.rb +2 -2
  255. data/lib/fog/{dns/google → google/dns}/models/projects.rb +4 -4
  256. data/lib/fog/{dns/google → google/dns}/models/record.rb +11 -11
  257. data/lib/fog/{dns/google → google/dns}/models/records.rb +8 -6
  258. data/lib/fog/{dns/google → google/dns}/models/zone.rb +7 -7
  259. data/lib/fog/{dns/google → google/dns}/models/zones.rb +6 -5
  260. data/lib/fog/{dns/google → google/dns}/real.rb +2 -2
  261. data/lib/fog/{dns/google → google/dns}/requests/create_change.rb +2 -2
  262. data/lib/fog/{dns/google → google/dns}/requests/create_managed_zone.rb +2 -2
  263. data/lib/fog/{dns/google → google/dns}/requests/delete_managed_zone.rb +2 -2
  264. data/lib/fog/{dns/google → google/dns}/requests/get_change.rb +2 -2
  265. data/lib/fog/{dns/google → google/dns}/requests/get_managed_zone.rb +2 -2
  266. data/lib/fog/{dns/google → google/dns}/requests/get_project.rb +2 -2
  267. data/lib/fog/{dns/google → google/dns}/requests/list_changes.rb +2 -2
  268. data/lib/fog/{dns/google → google/dns}/requests/list_managed_zones.rb +2 -2
  269. data/lib/fog/{dns/google → google/dns}/requests/list_resource_record_sets.rb +2 -2
  270. data/lib/fog/{dns/google.rb → google/dns.rb} +6 -6
  271. data/lib/fog/{parsers/storage/google → google/parsers/storage}/access_control_list.rb +3 -3
  272. data/lib/fog/{parsers/storage/google → google/parsers/storage}/copy_object.rb +3 -3
  273. data/lib/fog/{parsers/storage/google → google/parsers/storage}/get_bucket.rb +3 -3
  274. data/lib/fog/{parsers/storage/google → google/parsers/storage}/get_bucket_logging.rb +3 -3
  275. data/lib/fog/{parsers/storage/google → google/parsers/storage}/get_bucket_object_versions.rb +3 -3
  276. data/lib/fog/{parsers/storage/google → google/parsers/storage}/get_bucket_versioning.rb +3 -3
  277. data/lib/fog/{parsers/storage/google → google/parsers/storage}/get_request_payment.rb +3 -3
  278. data/lib/fog/{parsers/storage/google → google/parsers/storage}/get_service.rb +3 -3
  279. data/lib/fog/google/parsers/storage.rb +15 -0
  280. data/lib/fog/google/shared.rb +8 -7
  281. data/lib/fog/{storage/google_json → google/storage/storage_json}/mock.rb +2 -2
  282. data/lib/fog/{storage/google_json → google/storage/storage_json}/models/directories.rb +4 -3
  283. data/lib/fog/{storage/google_json → google/storage/storage_json}/models/directory.rb +3 -3
  284. data/lib/fog/{storage/google_json → google/storage/storage_json}/models/file.rb +2 -2
  285. data/lib/fog/{storage/google_json → google/storage/storage_json}/models/files.rb +8 -7
  286. data/lib/fog/{storage/google_json → google/storage/storage_json}/real.rb +6 -4
  287. data/lib/fog/{storage/google_json → google/storage/storage_json}/requests/copy_object.rb +2 -2
  288. data/lib/fog/{storage/google_json → google/storage/storage_json}/requests/delete_bucket.rb +2 -2
  289. data/lib/fog/{storage/google_json → google/storage/storage_json}/requests/delete_object.rb +2 -2
  290. data/lib/fog/{storage/google_json → google/storage/storage_json}/requests/delete_object_url.rb +2 -2
  291. data/lib/fog/{storage/google_json → google/storage/storage_json}/requests/get_bucket.rb +2 -2
  292. data/lib/fog/{storage/google_json → google/storage/storage_json}/requests/get_bucket_acl.rb +2 -2
  293. data/lib/fog/{storage/google_json → google/storage/storage_json}/requests/get_object.rb +2 -2
  294. data/lib/fog/{storage/google_json → google/storage/storage_json}/requests/get_object_acl.rb +2 -2
  295. data/lib/fog/{storage/google_json → google/storage/storage_json}/requests/get_object_http_url.rb +2 -2
  296. data/lib/fog/{storage/google_json → google/storage/storage_json}/requests/get_object_https_url.rb +2 -2
  297. data/lib/fog/{storage/google_json → google/storage/storage_json}/requests/get_object_metadata.rb +2 -2
  298. data/lib/fog/{storage/google_json → google/storage/storage_json}/requests/get_object_url.rb +4 -4
  299. data/lib/fog/{storage/google_json → google/storage/storage_json}/requests/list_bucket_acl.rb +2 -2
  300. data/lib/fog/{storage/google_json → google/storage/storage_json}/requests/list_buckets.rb +2 -2
  301. data/lib/fog/{storage/google_json → google/storage/storage_json}/requests/list_object_acl.rb +2 -2
  302. data/lib/fog/{storage/google_json → google/storage/storage_json}/requests/list_objects.rb +2 -2
  303. data/lib/fog/{storage/google_json → google/storage/storage_json}/requests/put_bucket.rb +2 -2
  304. data/lib/fog/{storage/google_json → google/storage/storage_json}/requests/put_bucket_acl.rb +2 -2
  305. data/lib/fog/{storage/google_json → google/storage/storage_json}/requests/put_object.rb +2 -2
  306. data/lib/fog/{storage/google_json → google/storage/storage_json}/requests/put_object_acl.rb +2 -2
  307. data/lib/fog/{storage/google_json → google/storage/storage_json}/requests/put_object_url.rb +2 -2
  308. data/lib/fog/{storage/google_json → google/storage/storage_json}/utils.rb +8 -6
  309. data/lib/fog/{storage/google_json.rb → google/storage/storage_json.rb} +8 -8
  310. data/lib/fog/{storage/google_xml → google/storage/storage_xml}/mock.rb +2 -2
  311. data/lib/fog/{storage/google_xml → google/storage/storage_xml}/models/directories.rb +7 -7
  312. data/lib/fog/{storage/google_xml → google/storage/storage_xml}/models/directory.rb +3 -3
  313. data/lib/fog/{storage/google_xml → google/storage/storage_xml}/models/file.rb +2 -2
  314. data/lib/fog/{storage/google_xml → google/storage/storage_xml}/models/files.rb +11 -11
  315. data/lib/fog/{storage/google_xml → google/storage/storage_xml}/real.rb +6 -4
  316. data/lib/fog/{storage/google_xml → google/storage/storage_xml}/requests/copy_object.rb +3 -3
  317. data/lib/fog/{storage/google_xml → google/storage/storage_xml}/requests/delete_bucket.rb +2 -2
  318. data/lib/fog/{storage/google_xml → google/storage/storage_xml}/requests/delete_object.rb +2 -2
  319. data/lib/fog/{storage/google_xml → google/storage/storage_xml}/requests/delete_object_url.rb +2 -2
  320. data/lib/fog/{storage/google_xml → google/storage/storage_xml}/requests/get_bucket.rb +4 -4
  321. data/lib/fog/{storage/google_xml → google/storage/storage_xml}/requests/get_bucket_acl.rb +3 -3
  322. data/lib/fog/{storage/google_xml → google/storage/storage_xml}/requests/get_object.rb +2 -2
  323. data/lib/fog/{storage/google_xml → google/storage/storage_xml}/requests/get_object_acl.rb +3 -3
  324. data/lib/fog/{storage/google_xml → google/storage/storage_xml}/requests/get_object_http_url.rb +2 -2
  325. data/lib/fog/{storage/google_xml → google/storage/storage_xml}/requests/get_object_https_url.rb +2 -2
  326. data/lib/fog/{storage/google_xml → google/storage/storage_xml}/requests/get_object_url.rb +4 -4
  327. data/lib/fog/{storage/google_xml → google/storage/storage_xml}/requests/get_service.rb +3 -3
  328. data/lib/fog/{storage/google_xml → google/storage/storage_xml}/requests/head_object.rb +2 -2
  329. data/lib/fog/{storage/google_xml → google/storage/storage_xml}/requests/put_bucket.rb +2 -2
  330. data/lib/fog/{storage/google_xml → google/storage/storage_xml}/requests/put_bucket_acl.rb +2 -2
  331. data/lib/fog/{storage/google_xml → google/storage/storage_xml}/requests/put_object.rb +2 -2
  332. data/lib/fog/{storage/google_xml → google/storage/storage_xml}/requests/put_object_acl.rb +2 -2
  333. data/lib/fog/{storage/google_xml → google/storage/storage_xml}/requests/put_object_url.rb +2 -2
  334. data/lib/fog/{storage/google_xml → google/storage/storage_xml}/utils.rb +22 -19
  335. data/lib/fog/{storage/google_xml.rb → google/storage/storage_xml.rb} +7 -7
  336. data/lib/fog/{storage/google.rb → google/storage.rb} +5 -5
  337. data/lib/fog/google/version.rb +1 -1
  338. data/lib/fog/google.rb +30 -16
  339. metadata +322 -518
  340. data/.github/workflows/stale.yml +0 -23
  341. data/lib/fog/parsers/storage/google.rb +0 -15
  342. data/test/helpers/client_helper.rb +0 -63
  343. data/test/helpers/integration_test_helper.rb +0 -108
  344. data/test/helpers/test_collection.rb +0 -60
  345. data/test/helpers/test_helper.rb +0 -28
  346. data/test/integration/compute/core_compute/test_client_options.rb +0 -12
  347. data/test/integration/compute/core_compute/test_coverage.rb +0 -6
  348. data/test/integration/compute/core_compute/test_disk_types.rb +0 -43
  349. data/test/integration/compute/core_compute/test_disks.rb +0 -53
  350. data/test/integration/compute/core_compute/test_images.rb +0 -32
  351. data/test/integration/compute/core_compute/test_machine_types.rb +0 -55
  352. data/test/integration/compute/core_compute/test_operations.rb +0 -45
  353. data/test/integration/compute/core_compute/test_projects.rb +0 -19
  354. data/test/integration/compute/core_compute/test_regions.rb +0 -33
  355. data/test/integration/compute/core_compute/test_servers.rb +0 -235
  356. data/test/integration/compute/core_compute/test_snapshots.rb +0 -21
  357. data/test/integration/compute/core_compute/test_zones.rb +0 -35
  358. data/test/integration/compute/core_networking/test_addresses.rb +0 -107
  359. data/test/integration/compute/core_networking/test_coverage.rb +0 -6
  360. data/test/integration/compute/core_networking/test_firewalls.rb +0 -11
  361. data/test/integration/compute/core_networking/test_networks.rb +0 -30
  362. data/test/integration/compute/core_networking/test_routes.rb +0 -26
  363. data/test/integration/compute/core_networking/test_subnetworks.rb +0 -11
  364. data/test/integration/compute/instance_groups/test_coverage.rb +0 -6
  365. data/test/integration/compute/instance_groups/test_instance_group_managers.rb +0 -11
  366. data/test/integration/compute/instance_groups/test_instance_groups.rb +0 -11
  367. data/test/integration/compute/instance_groups/test_instance_templates.rb +0 -11
  368. data/test/integration/compute/loadbalancing/test_backend_services.rb +0 -11
  369. data/test/integration/compute/loadbalancing/test_coverage.rb +0 -6
  370. data/test/integration/compute/loadbalancing/test_forwarding_rules.rb +0 -11
  371. data/test/integration/compute/loadbalancing/test_global_addresses.rb +0 -11
  372. data/test/integration/compute/loadbalancing/test_global_forwarding_rules.rb +0 -11
  373. data/test/integration/compute/loadbalancing/test_http_health_checks.rb +0 -11
  374. data/test/integration/compute/loadbalancing/test_ssl_certificates.rb +0 -11
  375. data/test/integration/compute/loadbalancing/test_target_http_proxies.rb +0 -11
  376. data/test/integration/compute/loadbalancing/test_target_https_proxies.rb +0 -11
  377. data/test/integration/compute/loadbalancing/test_target_instances.rb +0 -11
  378. data/test/integration/compute/loadbalancing/test_target_pools.rb +0 -55
  379. data/test/integration/compute/loadbalancing/test_url_maps.rb +0 -11
  380. data/test/integration/factories/addresses_factory.rb +0 -20
  381. data/test/integration/factories/backend_services_factory.rb +0 -19
  382. data/test/integration/factories/collection_factory.rb +0 -52
  383. data/test/integration/factories/disks_factory.rb +0 -22
  384. data/test/integration/factories/firewalls_factory.rb +0 -13
  385. data/test/integration/factories/forwarding_rules_factory.rb +0 -25
  386. data/test/integration/factories/global_addresses_factory.rb +0 -15
  387. data/test/integration/factories/global_forwarding_rules_factory.rb +0 -20
  388. data/test/integration/factories/http_health_checks_factory.rb +0 -11
  389. data/test/integration/factories/images_factory.rb +0 -16
  390. data/test/integration/factories/instance_group_manager_factory.rb +0 -30
  391. data/test/integration/factories/instance_groups_factory.rb +0 -20
  392. data/test/integration/factories/instance_template_factory.rb +0 -24
  393. data/test/integration/factories/networks_factory.rb +0 -14
  394. data/test/integration/factories/servers_factory.rb +0 -30
  395. data/test/integration/factories/sql_certs_factory.rb +0 -20
  396. data/test/integration/factories/sql_instances_factory.rb +0 -19
  397. data/test/integration/factories/sql_users_factory.rb +0 -23
  398. data/test/integration/factories/ssl_certificates_factory.rb +0 -13
  399. data/test/integration/factories/subnetworks_factory.rb +0 -26
  400. data/test/integration/factories/target_http_proxies_factory.rb +0 -19
  401. data/test/integration/factories/target_https_proxies_factory.rb +0 -26
  402. data/test/integration/factories/target_instances_factory.rb +0 -24
  403. data/test/integration/factories/target_pools_factory.rb +0 -28
  404. data/test/integration/factories/url_maps_factory.rb +0 -19
  405. data/test/integration/monitoring/test_coverage.rb +0 -6
  406. data/test/integration/monitoring/test_metric_descriptors.rb +0 -131
  407. data/test/integration/monitoring/test_monitored_resource_descriptors.rb +0 -37
  408. data/test/integration/monitoring/test_timeseries.rb +0 -253
  409. data/test/integration/pubsub/pubsub_shared.rb +0 -75
  410. data/test/integration/pubsub/test_coverage.rb +0 -6
  411. data/test/integration/pubsub/test_pubsub_models.rb +0 -135
  412. data/test/integration/pubsub/test_pubsub_requests.rb +0 -105
  413. data/test/integration/sql/test_certs.rb +0 -50
  414. data/test/integration/sql/test_common_flags.rb +0 -31
  415. data/test/integration/sql/test_common_tiers.rb +0 -26
  416. data/test/integration/sql/test_coverage.rb +0 -6
  417. data/test/integration/sql/test_instances.rb +0 -101
  418. data/test/integration/sql/test_users.rb +0 -37
  419. data/test/integration/storage/storage_shared.rb +0 -101
  420. data/test/integration/storage/test_buckets.rb +0 -112
  421. data/test/integration/storage/test_coverage.rb +0 -6
  422. data/test/integration/storage/test_directories.rb +0 -67
  423. data/test/integration/storage/test_files.rb +0 -168
  424. data/test/integration/storage/test_objects.rb +0 -226
  425. data/test/integration/test_authentication.rb +0 -38
  426. data/test/unit/compute/test_common_collections.rb +0 -42
  427. data/test/unit/compute/test_common_models.rb +0 -35
  428. data/test/unit/compute/test_disk.rb +0 -26
  429. data/test/unit/compute/test_server.rb +0 -29
  430. data/test/unit/dns/test_common_collections.rb +0 -43
  431. data/test/unit/monitoring/test_comon_collections.rb +0 -44
  432. data/test/unit/pubsub/test_common_collections.rb +0 -35
  433. data/test/unit/sql/test_common_collections.rb +0 -46
  434. data/test/unit/storage/test_common_json_collections.rb +0 -38
  435. data/test/unit/storage/test_common_xml_collections.rb +0 -50
  436. data/test/unit/storage/test_json_requests.rb +0 -60
  437. data/test/unit/storage/test_xml_requests.rb +0 -60
@@ -1,105 +0,0 @@
1
- require "helpers/integration_test_helper"
2
- require "integration/pubsub/pubsub_shared"
3
- require "securerandom"
4
- require "base64"
5
-
6
- class TestPubsubRequests < PubSubShared
7
- def test_create_topic
8
- name = new_topic_name
9
- result = @client.create_topic(name)
10
- assert_equal(result.name, name)
11
- end
12
-
13
- def test_get_topic
14
- result = @client.get_topic(some_topic_name)
15
- assert_equal(result.name, some_topic_name)
16
- end
17
-
18
- def test_list_topics
19
- # Force a topic to be created just so we have at least 1 to list
20
- name = new_topic_name
21
- @client.create_topic(name)
22
-
23
- Fog.wait_for(5) do
24
- result = @client.list_topics
25
- if result.topics.nil?
26
- false
27
- end
28
-
29
- result.topics.any? { |topic| topic.name == name }
30
- end
31
- end
32
-
33
- def test_delete_topic
34
- topic_to_delete = new_topic_name
35
- @client.create_topic(topic_to_delete)
36
-
37
- @client.delete_topic(topic_to_delete)
38
- end
39
-
40
- def test_publish_topic
41
- @client.publish_topic(some_topic_name, [:data => Base64.strict_encode64("some message")])
42
- end
43
-
44
- def test_create_subscription
45
- push_config = {}
46
- ack_deadline_seconds = 18
47
-
48
- subscription_name = new_subscription_name
49
- result = @client.create_subscription(subscription_name, some_topic_name,
50
- push_config, ack_deadline_seconds)
51
- assert_equal(result.name, subscription_name)
52
- end
53
-
54
- def test_get_subscription
55
- subscription_name = some_subscription_name
56
- result = @client.get_subscription(subscription_name)
57
-
58
- assert_equal(result.name, subscription_name)
59
- end
60
-
61
- def test_list_subscriptions
62
- # Force a subscription to be created just so we have at least 1 to list
63
- subscription_name = new_subscription_name
64
- @client.create_subscription(subscription_name, some_topic_name)
65
-
66
- Fog.wait_for(5) do
67
- result = @client.list_subscriptions
68
- if result.subscriptions.nil?
69
- false
70
- end
71
-
72
- result.subscriptions.any? { |sub| sub.name == subscription_name }
73
- end
74
- end
75
-
76
- def test_delete_subscription
77
- subscription_to_delete = new_subscription_name
78
- @client.create_subscription(subscription_to_delete, some_topic_name)
79
-
80
- @client.delete_subscription(subscription_to_delete)
81
- end
82
-
83
- def test_pull_subscription
84
- subscription_name = new_subscription_name
85
- message_bytes = Base64.strict_encode64("some message")
86
- @client.create_subscription(subscription_name, some_topic_name)
87
- @client.publish_topic(some_topic_name, [:data => message_bytes])
88
-
89
- result = @client.pull_subscription(subscription_name, {:return_immediately => false})
90
-
91
- contained = result.received_messages.any? { |received| received.message.data == message_bytes }
92
- assert_equal(true, contained, "sent messsage not contained within pulled responses")
93
- end
94
-
95
- def test_acknowledge_subscription
96
- subscription_name = new_subscription_name
97
- @client.create_subscription(subscription_name, some_topic_name)
98
- @client.publish_topic(some_topic_name, [:data => Base64.strict_encode64("some message")])
99
- pull_result = @client.pull_subscription(subscription_name, {:return_immediately => false})
100
- assert_operator(pull_result.received_messages.length, :>, 0)
101
-
102
- @client.acknowledge_subscription(subscription_name,
103
- pull_result.received_messages[0].ack_id)
104
- end
105
- end
@@ -1,50 +0,0 @@
1
- require "helpers/integration_test_helper"
2
- require "integration/factories/sql_certs_factory"
3
-
4
- class TestSQLCerts < FogIntegrationTest
5
- # This test doesn't include TestCollection as certs are not an independent resource.
6
-
7
- def setup
8
- @subject = Fog::Google[:sql].ssl_certs
9
- @factory = SqlCertsFactory.new(namespaced_name)
10
- @client = Fog::Google::SQL.new
11
- end
12
-
13
- def teardown
14
- @factory.cleanup
15
- end
16
-
17
- def test_ssl_certs
18
- # Create an instance and an SSL cert
19
- ssl_cert = @factory.create
20
- instance_name = ssl_cert.instance
21
-
22
- # Create a second cert and attach to the same instance
23
- ssl_cert2 = @subject.new(:common_name => "#{ssl_cert.common_name}-2",
24
- :instance => instance_name)
25
- ssl_cert2.save
26
-
27
- # Verify it can be retrieved
28
- @subject.get(instance_name, ssl_cert2.sha1_fingerprint).tap do |result|
29
- assert_equal(ssl_cert2.common_name, result.common_name)
30
- assert_equal("sql#sslCert", result.kind)
31
- end
32
-
33
- # Verify instance returns 2 certs
34
- list_result = @subject.all(instance_name)
35
- assert_equal(2, list_result.size,
36
- "expected 2 SSL certs")
37
-
38
- # Delete one cert
39
- ssl_cert2.destroy(:async => false)
40
- list_result = @subject.all(instance_name)
41
- assert_equal(1, list_result.size,
42
- "expected one less SSL cert after deletion")
43
-
44
- # Test if SSL config is reset correctly
45
- instance = @client.instances.get(instance_name)
46
- instance.reset_ssl_config(:async => false)
47
- assert_equal(0, @subject.all(instance_name).size,
48
- "expected no SSL certs after reset")
49
- end
50
- end
@@ -1,31 +0,0 @@
1
- require "helpers/integration_test_helper"
2
-
3
- class TestCommonFlags < FogIntegrationTest
4
- def setup
5
- @client = Fog::Google::SQL.new
6
- end
7
-
8
- def test_list
9
- resp = @client.list_flags
10
-
11
- assert_operator(resp.items.size, :>, 0,
12
- "resource descriptor count should be positive")
13
-
14
- _sanity_check_flag(resp.items.first)
15
- end
16
-
17
- def test_all
18
- resp = @client.flags.all
19
-
20
- assert_operator(resp.size, :>, 0,
21
- "resource descriptor count should be positive")
22
-
23
- _sanity_check_flag(resp.first)
24
- end
25
-
26
- def _sanity_check_flag(flag)
27
- assert_equal(flag.kind, "sql#flag")
28
- refute(flag.name.nil?, "flag name should not be empty")
29
- refute_empty(flag.applies_to, "flag should apply to some database version")
30
- end
31
- end
@@ -1,26 +0,0 @@
1
- require "helpers/integration_test_helper"
2
-
3
- class TestCommonTiers < FogIntegrationTest
4
- def setup
5
- @subject = Fog::Google[:sql].tiers
6
- end
7
-
8
- def test_all
9
- tiers = @subject.all
10
-
11
- assert_operator(tiers.size, :>, 0,
12
- "tier count should be positive")
13
- _sanity_check_tier(tiers.first)
14
- end
15
-
16
- def _sanity_check_tier(tier)
17
- assert_equal(tier.kind, "sql#tier")
18
- refute(tier.tier.nil?, "tier name should not be empty")
19
- assert_operator(tier.disk_quota, :>, 0,
20
- "tier disk quota should be positive")
21
- assert_operator(tier.ram, :>, 0,
22
- "tier ram should be positive")
23
- assert_operator(tier.region.size, :>, 0,
24
- "tier should have regions")
25
- end
26
- end
@@ -1,6 +0,0 @@
1
- require "helpers/integration_test_helper"
2
-
3
- # This is a simple coverage helper that helps differentiate
4
- # the tests when run in parallel so the final coverage report
5
- # can be properly combined together from multiple runners
6
- SimpleCov.command_name "test:sql" if ENV["COVERAGE"]
@@ -1,101 +0,0 @@
1
- require "helpers/integration_test_helper"
2
- require "integration/factories/sql_instances_factory"
3
- # Client helper is imported for `wait_until_complete`
4
- # TODO: Remove when fog-google#339 or fog-google#340 is resolved
5
- require "helpers/client_helper"
6
-
7
- class TestSQLV2Instances < FogIntegrationTest
8
- include TestCollection
9
- # TODO: Remove when fog-google#339 or fog-google#340 is resolved
10
- include ClientHelper
11
- attr_reader :client
12
-
13
- def setup
14
- @subject = Fog::Google[:sql].instances
15
- @factory = SqlInstancesFactory.new(namespaced_name)
16
- @backup_runs = Fog::Google[:sql].backup_runs
17
- # TODO: Remove after BackupRuns get save/reload - fog-google#339
18
- # See https://github.com/fog/fog-google/issues/339
19
- @client = Fog::Google::SQL.new
20
- end
21
-
22
- def test_update
23
- instance = @factory.create
24
-
25
- settings_version = instance.settings_version
26
- labels = {
27
- :foo => "bar"
28
- }
29
- instance.settings[:user_labels] = labels
30
- instance.save
31
-
32
- updated = @subject.get(instance.name)
33
- assert_equal(labels, updated.settings[:user_labels])
34
- assert_operator(updated.settings_version, :>, settings_version)
35
- end
36
-
37
- def test_default_settings
38
- instance = @factory.create
39
- assert_equal([], instance.ssl_certs, "new instance should have 0 initial ssl certs")
40
- end
41
-
42
- def test_restore_backup_run
43
- instance = @factory.create
44
-
45
- data = { :description => "test", :instance => instance.name }
46
- wait_until_complete { @client.insert_backup_run(instance.name, data) }
47
-
48
- backup_run = @backup_runs.all(instance.name).first
49
-
50
- # Wait for backup operation to be finished
51
- # or fail if it never finishes.
52
- instance.restore_backup(backup_run.id, :async => false)
53
- end
54
-
55
- def test_backup_runs
56
- # TODO: This probably can get pulled into the test above as those tests
57
- # very expensive time-wize (5 minutes or so each)
58
- instance = @factory.create
59
-
60
- description = "test backup run"
61
- operation = wait_until_complete do
62
- @client.insert_backup_run(
63
- instance.name,
64
- :description => description
65
- )
66
- end
67
-
68
- assert_equal(operation.operation_type, "BACKUP_VOLUME")
69
- runs = @backup_runs.all(instance.name)
70
- assert_operator(runs.size, :>, 0, "expected at least one backup run")
71
- assert_equal(description, runs.first.description)
72
-
73
- created_run = @backup_runs.get(instance.name, runs.first.id)
74
- assert_equal(created_run, runs.first)
75
-
76
- wait_until_complete do
77
- @client.delete_backup_run(instance.name, runs.first.id)
78
- end
79
-
80
- deleted_run = @backup_runs.get(instance.name, runs.first.id)
81
- assert_equal("DELETED", deleted_run.status)
82
- end
83
-
84
- def test_clone
85
- instance = @factory.create
86
- instance.clone("#{instance.name}-clone", :async => false)
87
- cloned = @client.instances.get("#{instance.name}-clone")
88
-
89
- # Sanity check some attributes
90
- compare = %i(current_disk_size project region ip_configuration_require_ssl activation_policy)
91
- compare.each do |k|
92
- v = instance.attributes[k]
93
- cloned_v = cloned.attributes[k]
94
- if v.nil?
95
- assert_nil(cloned_v)
96
- else
97
- assert_equal(v, cloned_v, "attribute #{k} in original instance is #{v}, cloned = #{cloned_v}")
98
- end
99
- end
100
- end
101
- end
@@ -1,37 +0,0 @@
1
- require "helpers/integration_test_helper"
2
- require "integration/factories/sql_instances_factory"
3
- require "integration/factories/sql_users_factory"
4
-
5
- class TestSQLUsers < FogIntegrationTest
6
- # This test doesn't include TestCollection as Users is not a
7
- # classical Fog model, as it's tied to a particular instance
8
- # I.e.:
9
- # - Fog::Google::SQL.users.all() requires an instance
10
- # - API doesn't provide a GET request for Users model
11
- # See: https://cloud.google.com/sql/docs/mysql/admin-api/v1beta4/users
12
-
13
- def setup
14
- @subject = Fog::Google[:sql].users
15
- @factory = SqlUsersFactory.new(namespaced_name)
16
- end
17
-
18
- def teardown
19
- @factory.cleanup
20
- end
21
-
22
- def test_users
23
- # Create user
24
- user = @factory.create
25
-
26
- # Check user was created
27
- users = @subject.all(user.instance).select { |u| u.name == user.name }
28
- assert_equal(1, users.size, "expected user to have been created")
29
-
30
- # Delete user
31
- users.first.destroy(:async => false)
32
- assert_empty(
33
- @subject.all(user.instance).select { |u| u.name == user.name },
34
- "expected no user #{user.name}"
35
- )
36
- end
37
- end
@@ -1,101 +0,0 @@
1
- require "helpers/integration_test_helper"
2
- require "integration/pubsub/pubsub_shared"
3
- require "securerandom"
4
- require "base64"
5
- require "tempfile"
6
-
7
- class StorageShared < FogIntegrationTest
8
- def setup
9
- @client = Fog::Storage::Google.new
10
- # Enable retries during the suite. This prevents us from
11
- # having to manually rate limit our requests.
12
- ::Google::Apis::RequestOptions.default.retries = 5
13
- # Ensure any resources we create with test prefixes are removed
14
- Minitest.after_run do
15
- delete_test_resources
16
- ::Google::Apis::RequestOptions.default.retries = 0
17
- end
18
- end
19
-
20
- def delete_test_resources
21
- unless @some_temp_file.nil?
22
- @some_temp_file.unlink
23
- end
24
-
25
- buckets_result = @client.list_buckets
26
-
27
- unless buckets_result.items.nil?
28
- begin
29
- buckets_result.items
30
- .map(&:name)
31
- .select { |t| t.start_with?(bucket_prefix) }
32
- .each do |t|
33
- object_result = @client.list_objects(t)
34
- unless object_result.items.nil?
35
- object_result.items.each { |object| @client.delete_object(t, object.name) }
36
- end
37
-
38
- begin
39
- @client.delete_bucket(t)
40
- # Given that bucket operations are specifically rate-limited, we handle that
41
- # by waiting a significant amount of time and trying.
42
- rescue Google::Apis::RateLimitError
43
- Fog::Logger.warning("encountered rate limit, backing off")
44
- sleep(10)
45
- @client.delete_bucket(t)
46
- end
47
- end
48
- # We ignore errors here as list operations may not represent changes applied recently.
49
- rescue Google::Apis::Error
50
- Fog::Logger.warning("ignoring Google Api error during delete_test_resources")
51
- end
52
- end
53
- end
54
-
55
- def bucket_prefix
56
- "fog-integration-test"
57
- end
58
-
59
- def object_prefix
60
- "fog-integration-test-object"
61
- end
62
-
63
- def new_bucket_name
64
- "#{bucket_prefix}-#{SecureRandom.uuid}"
65
- end
66
-
67
- def new_object_name
68
- "#{object_prefix}-#{SecureRandom.uuid}"
69
- end
70
-
71
- def some_bucket_name
72
- # create lazily to speed tests up
73
- @some_bucket ||= new_bucket_name.tap do |t|
74
- @client.put_bucket(t)
75
- end
76
- end
77
-
78
- def some_object_name
79
- # create lazily to speed tests up
80
- @some_object ||= new_object_name.tap do |t|
81
- @client.put_object(some_bucket_name, t, some_temp_file)
82
- end
83
- end
84
-
85
- def temp_file_content
86
- "hello world"
87
- end
88
-
89
- def binary_file_content
90
- "PK\x03\x04\x14\x00\x00\x00\b\x00\x18\x89\x8AM\xE7!\xB7\x1C\x1C\x15j\x00\xB4\xB9".force_encoding(Encoding::ASCII_8BIT)
91
- end
92
-
93
- def some_temp_file(content = temp_file_content)
94
- @some_temp_file ||= Tempfile.new("fog-google-storage").tap do |t|
95
- t.binmode
96
- t.write(content)
97
- t.close
98
- end
99
- File.open(@some_temp_file.path, "r")
100
- end
101
- end
@@ -1,112 +0,0 @@
1
- require "helpers/integration_test_helper"
2
- require "integration/storage/storage_shared"
3
- require "securerandom"
4
- require "base64"
5
- require "tempfile"
6
-
7
- class TestStorageRequests < StorageShared
8
- def test_put_bucket
9
- bucket_name = new_bucket_name
10
- bucket = @client.put_bucket(bucket_name)
11
-
12
- assert_equal(bucket.name, bucket_name)
13
- end
14
-
15
- # We cannot test the state of the ACL as there are two cases to consider
16
- # * The authenticated service account has Owner permisions, which allows
17
- # it to read the ACLs after the predefined ACL is applied.
18
- # * The authenticated service account does not have Owner permissions,
19
- # then, we cannot read the ACLs after the predefined ACL is applied.
20
- #
21
- # As we cannot control the service account used for testing, we'll
22
- # just ensure that a valid operation succeeds and an invalid operation fails.
23
- def test_put_bucket_predefined_acl
24
- @client.put_bucket(new_bucket_name, :predefined_acl => "publicRead")
25
- end
26
-
27
- def test_put_bucket_invalid_predefined_acl
28
- assert_raises(Google::Apis::ClientError) do
29
- @client.put_bucket(new_bucket_name, :predefined_acl => "invalidAcl")
30
- end
31
- end
32
-
33
- def test_get_bucket
34
- bucket = @client.get_bucket(some_bucket_name)
35
- assert_equal(bucket.name, some_bucket_name)
36
- end
37
-
38
- def test_delete_bucket
39
- # Create a new bucket to delete it
40
- bucket_to_delete = new_bucket_name
41
- @client.put_bucket(bucket_to_delete)
42
-
43
- @client.delete_bucket(bucket_to_delete)
44
-
45
- assert_raises(Google::Apis::ClientError) do
46
- @client.get_bucket(bucket_to_delete)
47
- end
48
- end
49
-
50
- def test_list_buckets
51
- # Create a new bucket to ensure at least one exists to find
52
- bucket_name = new_bucket_name
53
- @client.put_bucket(bucket_name)
54
-
55
- result = @client.list_buckets
56
- if result.items.nil?
57
- raise StandardError.new("no buckets found")
58
- end
59
-
60
- contained = result.items.any? { |bucket| bucket.name == bucket_name }
61
- assert_equal(true, contained, "expected bucket not present")
62
- end
63
-
64
- def test_put_bucket_acl
65
- bucket_name = new_bucket_name
66
- @client.put_bucket(bucket_name)
67
-
68
- acl = {
69
- :entity => "allUsers",
70
- :role => "READER"
71
- }
72
- @client.put_bucket_acl(bucket_name, acl)
73
- end
74
-
75
- def test_list_bucket_acl
76
- bucket_name = new_bucket_name
77
- @client.put_bucket(bucket_name)
78
-
79
- acl = {
80
- :entity => "allUsers",
81
- :role => "READER"
82
- }
83
- @client.put_bucket_acl(bucket_name, acl)
84
-
85
- result = @client.list_bucket_acl(bucket_name)
86
- if result.items.nil?
87
- raise StandardError.new("no bucket access controls found")
88
- end
89
-
90
- contained = result.items.any? do |control|
91
- control.entity == acl[:entity] && control.role == acl[:role]
92
- end
93
- assert_equal(true, contained, "expected bucket access control not present")
94
- end
95
-
96
- def test_get_bucket_acl
97
- bucket_name = new_bucket_name
98
- @client.put_bucket(bucket_name)
99
-
100
- acl = {
101
- :entity => "allUsers",
102
- :role => "READER"
103
- }
104
- @client.put_bucket_acl(bucket_name, acl)
105
- result = @client.get_bucket_acl(bucket_name, "allUsers")
106
- if result.nil?
107
- raise StandardError.new("no bucket access control found")
108
- end
109
-
110
- assert_equal(result.role, acl[:role], "incorrect bucket access control role")
111
- end
112
- end
@@ -1,6 +0,0 @@
1
- require "helpers/integration_test_helper"
2
-
3
- # This is a simple coverage helper that helps differentiate
4
- # the tests when run in parallel so the final coverage report
5
- # can be properly combined together from multiple runners
6
- SimpleCov.command_name "test:storage" if ENV["COVERAGE"]
@@ -1,67 +0,0 @@
1
- require "helpers/integration_test_helper"
2
- require "integration/storage/storage_shared"
3
- require "securerandom"
4
- require "base64"
5
- require "tempfile"
6
-
7
- class TestStorageRequests < StorageShared
8
- def test_directories_put
9
- dir_name = new_bucket_name
10
- directory = @client.directories.create(:key => dir_name)
11
- assert_equal(directory.key, dir_name)
12
- end
13
-
14
- def test_directories_put_predefined_acl
15
- @client.directories.create(
16
- :key => new_bucket_name,
17
- :predefined_acl => "publicRead"
18
- )
19
- end
20
-
21
- def test_directories_put_invalid_predefined_acl
22
- assert_raises(Google::Apis::ClientError) do
23
- @client.directories.create(
24
- :key => new_bucket_name,
25
- :predefined_acl => "invalidAcl"
26
- )
27
- end
28
- end
29
-
30
- def test_directories_get
31
- directory = @client.directories.get(some_bucket_name)
32
- assert_equal(directory.key, some_bucket_name)
33
- end
34
-
35
- def test_directory_files
36
- file = @client.directories.get(some_bucket_name).files.get(some_object_name)
37
- assert_equal(some_object_name, file.key)
38
- end
39
-
40
- def test_directory_public_url
41
- url = @client.directories.get(some_bucket_name).public_url
42
- assert_match(/storage.googleapis.com/, url)
43
- end
44
-
45
- def test_directories_destroy
46
- dir_name = new_bucket_name
47
- @client.directories.create(:key => dir_name)
48
-
49
- @client.directories.destroy(dir_name)
50
-
51
- assert_nil(@client.directories.get(dir_name))
52
- end
53
-
54
- def test_directories_all
55
- dir_name = new_bucket_name
56
- @client.directories.create(:key => dir_name)
57
-
58
- result = @client.directories.all
59
- if result.nil?
60
- raise StandardError.new("no directories found")
61
- end
62
-
63
- unless result.any? { |directory| directory.key == dir_name }
64
- raise StandardError.new("failed to find expected directory")
65
- end
66
- end
67
- end