fog-google 1.25.0 → 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 (118) 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 +46 -27
  12. data/SECURITY.md +3 -14
  13. data/fog-google.gemspec +2 -3
  14. data/lib/fog/google/compute/models/server.rb +1 -1
  15. data/lib/fog/google/storage/storage_json/real.rb +4 -2
  16. data/lib/fog/google/storage/storage_json/utils.rb +4 -2
  17. data/lib/fog/google/storage/storage_xml/real.rb +4 -2
  18. data/lib/fog/google/storage/storage_xml/requests/get_bucket.rb +1 -1
  19. data/lib/fog/google/storage/storage_xml/utils.rb +4 -2
  20. data/lib/fog/google/version.rb +1 -1
  21. metadata +5 -198
  22. data/.github/workflows/stale.yml +0 -23
  23. data/test/helpers/client_helper.rb +0 -63
  24. data/test/helpers/integration_test_helper.rb +0 -108
  25. data/test/helpers/test_collection.rb +0 -60
  26. data/test/helpers/test_helper.rb +0 -28
  27. data/test/integration/compute/core_compute/test_client_options.rb +0 -12
  28. data/test/integration/compute/core_compute/test_coverage.rb +0 -6
  29. data/test/integration/compute/core_compute/test_disk_types.rb +0 -43
  30. data/test/integration/compute/core_compute/test_disks.rb +0 -53
  31. data/test/integration/compute/core_compute/test_images.rb +0 -32
  32. data/test/integration/compute/core_compute/test_machine_types.rb +0 -55
  33. data/test/integration/compute/core_compute/test_operations.rb +0 -45
  34. data/test/integration/compute/core_compute/test_projects.rb +0 -19
  35. data/test/integration/compute/core_compute/test_regions.rb +0 -33
  36. data/test/integration/compute/core_compute/test_servers.rb +0 -235
  37. data/test/integration/compute/core_compute/test_snapshots.rb +0 -21
  38. data/test/integration/compute/core_compute/test_zones.rb +0 -35
  39. data/test/integration/compute/core_networking/test_addresses.rb +0 -107
  40. data/test/integration/compute/core_networking/test_coverage.rb +0 -6
  41. data/test/integration/compute/core_networking/test_firewalls.rb +0 -11
  42. data/test/integration/compute/core_networking/test_networks.rb +0 -30
  43. data/test/integration/compute/core_networking/test_routes.rb +0 -26
  44. data/test/integration/compute/core_networking/test_subnetworks.rb +0 -11
  45. data/test/integration/compute/instance_groups/test_coverage.rb +0 -6
  46. data/test/integration/compute/instance_groups/test_instance_group_managers.rb +0 -11
  47. data/test/integration/compute/instance_groups/test_instance_groups.rb +0 -11
  48. data/test/integration/compute/instance_groups/test_instance_templates.rb +0 -11
  49. data/test/integration/compute/loadbalancing/test_backend_services.rb +0 -11
  50. data/test/integration/compute/loadbalancing/test_coverage.rb +0 -6
  51. data/test/integration/compute/loadbalancing/test_forwarding_rules.rb +0 -11
  52. data/test/integration/compute/loadbalancing/test_global_addresses.rb +0 -11
  53. data/test/integration/compute/loadbalancing/test_global_forwarding_rules.rb +0 -11
  54. data/test/integration/compute/loadbalancing/test_http_health_checks.rb +0 -11
  55. data/test/integration/compute/loadbalancing/test_ssl_certificates.rb +0 -11
  56. data/test/integration/compute/loadbalancing/test_target_http_proxies.rb +0 -11
  57. data/test/integration/compute/loadbalancing/test_target_https_proxies.rb +0 -11
  58. data/test/integration/compute/loadbalancing/test_target_instances.rb +0 -11
  59. data/test/integration/compute/loadbalancing/test_target_pools.rb +0 -55
  60. data/test/integration/compute/loadbalancing/test_url_maps.rb +0 -11
  61. data/test/integration/factories/addresses_factory.rb +0 -20
  62. data/test/integration/factories/backend_services_factory.rb +0 -19
  63. data/test/integration/factories/collection_factory.rb +0 -52
  64. data/test/integration/factories/disks_factory.rb +0 -22
  65. data/test/integration/factories/firewalls_factory.rb +0 -13
  66. data/test/integration/factories/forwarding_rules_factory.rb +0 -25
  67. data/test/integration/factories/global_addresses_factory.rb +0 -15
  68. data/test/integration/factories/global_forwarding_rules_factory.rb +0 -20
  69. data/test/integration/factories/http_health_checks_factory.rb +0 -11
  70. data/test/integration/factories/images_factory.rb +0 -16
  71. data/test/integration/factories/instance_group_manager_factory.rb +0 -30
  72. data/test/integration/factories/instance_groups_factory.rb +0 -20
  73. data/test/integration/factories/instance_template_factory.rb +0 -24
  74. data/test/integration/factories/networks_factory.rb +0 -14
  75. data/test/integration/factories/servers_factory.rb +0 -30
  76. data/test/integration/factories/sql_certs_factory.rb +0 -20
  77. data/test/integration/factories/sql_instances_factory.rb +0 -19
  78. data/test/integration/factories/sql_users_factory.rb +0 -23
  79. data/test/integration/factories/ssl_certificates_factory.rb +0 -13
  80. data/test/integration/factories/subnetworks_factory.rb +0 -26
  81. data/test/integration/factories/target_http_proxies_factory.rb +0 -19
  82. data/test/integration/factories/target_https_proxies_factory.rb +0 -26
  83. data/test/integration/factories/target_instances_factory.rb +0 -24
  84. data/test/integration/factories/target_pools_factory.rb +0 -28
  85. data/test/integration/factories/url_maps_factory.rb +0 -19
  86. data/test/integration/monitoring/test_coverage.rb +0 -6
  87. data/test/integration/monitoring/test_metric_descriptors.rb +0 -131
  88. data/test/integration/monitoring/test_monitored_resource_descriptors.rb +0 -37
  89. data/test/integration/monitoring/test_timeseries.rb +0 -253
  90. data/test/integration/pubsub/pubsub_shared.rb +0 -75
  91. data/test/integration/pubsub/test_coverage.rb +0 -6
  92. data/test/integration/pubsub/test_pubsub_models.rb +0 -135
  93. data/test/integration/pubsub/test_pubsub_requests.rb +0 -105
  94. data/test/integration/sql/test_certs.rb +0 -50
  95. data/test/integration/sql/test_common_flags.rb +0 -31
  96. data/test/integration/sql/test_common_tiers.rb +0 -26
  97. data/test/integration/sql/test_coverage.rb +0 -6
  98. data/test/integration/sql/test_instances.rb +0 -101
  99. data/test/integration/sql/test_users.rb +0 -37
  100. data/test/integration/storage/storage_shared.rb +0 -101
  101. data/test/integration/storage/test_buckets.rb +0 -112
  102. data/test/integration/storage/test_coverage.rb +0 -6
  103. data/test/integration/storage/test_directories.rb +0 -67
  104. data/test/integration/storage/test_files.rb +0 -168
  105. data/test/integration/storage/test_objects.rb +0 -226
  106. data/test/integration/test_authentication.rb +0 -38
  107. data/test/unit/compute/test_common_collections.rb +0 -42
  108. data/test/unit/compute/test_common_models.rb +0 -35
  109. data/test/unit/compute/test_disk.rb +0 -26
  110. data/test/unit/compute/test_server.rb +0 -29
  111. data/test/unit/dns/test_common_collections.rb +0 -43
  112. data/test/unit/monitoring/test_comon_collections.rb +0 -44
  113. data/test/unit/pubsub/test_common_collections.rb +0 -35
  114. data/test/unit/sql/test_common_collections.rb +0 -46
  115. data/test/unit/storage/test_common_json_collections.rb +0 -38
  116. data/test/unit/storage/test_common_xml_collections.rb +0 -50
  117. data/test/unit/storage/test_json_requests.rb +0 -60
  118. data/test/unit/storage/test_xml_requests.rb +0 -60
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: fog-google
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.25.0
4
+ version: 1.26.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Nat Welch
@@ -196,14 +196,14 @@ dependencies:
196
196
  requirements:
197
197
  - - '='
198
198
  - !ruby/object:Gem::Version
199
- version: 0.14.2
199
+ version: 0.15.2
200
200
  type: :development
201
201
  prerelease: false
202
202
  version_requirements: !ruby/object:Gem::Requirement
203
203
  requirements:
204
204
  - - '='
205
205
  - !ruby/object:Gem::Version
206
- version: 0.14.2
206
+ version: 0.15.2
207
207
  - !ruby/object:Gem::Dependency
208
208
  name: retriable
209
209
  requirement: !ruby/object:Gem::Requirement
@@ -324,7 +324,6 @@ files:
324
324
  - ".github/workflows/integration-pubsub.yml"
325
325
  - ".github/workflows/integration-sql.yml"
326
326
  - ".github/workflows/integration-storage.yml"
327
- - ".github/workflows/stale.yml"
328
327
  - ".github/workflows/unit.yml"
329
328
  - ".gitignore"
330
329
  - ".hound.yml"
@@ -772,102 +771,6 @@ files:
772
771
  - tasks/console.rake
773
772
  - tasks/lint.rake
774
773
  - tasks/test.rake
775
- - test/helpers/client_helper.rb
776
- - test/helpers/integration_test_helper.rb
777
- - test/helpers/test_collection.rb
778
- - test/helpers/test_helper.rb
779
- - test/integration/compute/core_compute/test_client_options.rb
780
- - test/integration/compute/core_compute/test_coverage.rb
781
- - test/integration/compute/core_compute/test_disk_types.rb
782
- - test/integration/compute/core_compute/test_disks.rb
783
- - test/integration/compute/core_compute/test_images.rb
784
- - test/integration/compute/core_compute/test_machine_types.rb
785
- - test/integration/compute/core_compute/test_operations.rb
786
- - test/integration/compute/core_compute/test_projects.rb
787
- - test/integration/compute/core_compute/test_regions.rb
788
- - test/integration/compute/core_compute/test_servers.rb
789
- - test/integration/compute/core_compute/test_snapshots.rb
790
- - test/integration/compute/core_compute/test_zones.rb
791
- - test/integration/compute/core_networking/test_addresses.rb
792
- - test/integration/compute/core_networking/test_coverage.rb
793
- - test/integration/compute/core_networking/test_firewalls.rb
794
- - test/integration/compute/core_networking/test_networks.rb
795
- - test/integration/compute/core_networking/test_routes.rb
796
- - test/integration/compute/core_networking/test_subnetworks.rb
797
- - test/integration/compute/instance_groups/test_coverage.rb
798
- - test/integration/compute/instance_groups/test_instance_group_managers.rb
799
- - test/integration/compute/instance_groups/test_instance_groups.rb
800
- - test/integration/compute/instance_groups/test_instance_templates.rb
801
- - test/integration/compute/loadbalancing/test_backend_services.rb
802
- - test/integration/compute/loadbalancing/test_coverage.rb
803
- - test/integration/compute/loadbalancing/test_forwarding_rules.rb
804
- - test/integration/compute/loadbalancing/test_global_addresses.rb
805
- - test/integration/compute/loadbalancing/test_global_forwarding_rules.rb
806
- - test/integration/compute/loadbalancing/test_http_health_checks.rb
807
- - test/integration/compute/loadbalancing/test_ssl_certificates.rb
808
- - test/integration/compute/loadbalancing/test_target_http_proxies.rb
809
- - test/integration/compute/loadbalancing/test_target_https_proxies.rb
810
- - test/integration/compute/loadbalancing/test_target_instances.rb
811
- - test/integration/compute/loadbalancing/test_target_pools.rb
812
- - test/integration/compute/loadbalancing/test_url_maps.rb
813
- - test/integration/factories/addresses_factory.rb
814
- - test/integration/factories/backend_services_factory.rb
815
- - test/integration/factories/collection_factory.rb
816
- - test/integration/factories/disks_factory.rb
817
- - test/integration/factories/firewalls_factory.rb
818
- - test/integration/factories/forwarding_rules_factory.rb
819
- - test/integration/factories/global_addresses_factory.rb
820
- - test/integration/factories/global_forwarding_rules_factory.rb
821
- - test/integration/factories/http_health_checks_factory.rb
822
- - test/integration/factories/images_factory.rb
823
- - test/integration/factories/instance_group_manager_factory.rb
824
- - test/integration/factories/instance_groups_factory.rb
825
- - test/integration/factories/instance_template_factory.rb
826
- - test/integration/factories/networks_factory.rb
827
- - test/integration/factories/servers_factory.rb
828
- - test/integration/factories/sql_certs_factory.rb
829
- - test/integration/factories/sql_instances_factory.rb
830
- - test/integration/factories/sql_users_factory.rb
831
- - test/integration/factories/ssl_certificates_factory.rb
832
- - test/integration/factories/subnetworks_factory.rb
833
- - test/integration/factories/target_http_proxies_factory.rb
834
- - test/integration/factories/target_https_proxies_factory.rb
835
- - test/integration/factories/target_instances_factory.rb
836
- - test/integration/factories/target_pools_factory.rb
837
- - test/integration/factories/url_maps_factory.rb
838
- - test/integration/monitoring/test_coverage.rb
839
- - test/integration/monitoring/test_metric_descriptors.rb
840
- - test/integration/monitoring/test_monitored_resource_descriptors.rb
841
- - test/integration/monitoring/test_timeseries.rb
842
- - test/integration/pubsub/pubsub_shared.rb
843
- - test/integration/pubsub/test_coverage.rb
844
- - test/integration/pubsub/test_pubsub_models.rb
845
- - test/integration/pubsub/test_pubsub_requests.rb
846
- - test/integration/sql/test_certs.rb
847
- - test/integration/sql/test_common_flags.rb
848
- - test/integration/sql/test_common_tiers.rb
849
- - test/integration/sql/test_coverage.rb
850
- - test/integration/sql/test_instances.rb
851
- - test/integration/sql/test_users.rb
852
- - test/integration/storage/storage_shared.rb
853
- - test/integration/storage/test_buckets.rb
854
- - test/integration/storage/test_coverage.rb
855
- - test/integration/storage/test_directories.rb
856
- - test/integration/storage/test_files.rb
857
- - test/integration/storage/test_objects.rb
858
- - test/integration/test_authentication.rb
859
- - test/unit/compute/test_common_collections.rb
860
- - test/unit/compute/test_common_models.rb
861
- - test/unit/compute/test_disk.rb
862
- - test/unit/compute/test_server.rb
863
- - test/unit/dns/test_common_collections.rb
864
- - test/unit/monitoring/test_comon_collections.rb
865
- - test/unit/pubsub/test_common_collections.rb
866
- - test/unit/sql/test_common_collections.rb
867
- - test/unit/storage/test_common_json_collections.rb
868
- - test/unit/storage/test_common_xml_collections.rb
869
- - test/unit/storage/test_json_requests.rb
870
- - test/unit/storage/test_xml_requests.rb
871
774
  homepage: https://github.com/fog/fog-google
872
775
  licenses:
873
776
  - MIT
@@ -886,103 +789,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
886
789
  - !ruby/object:Gem::Version
887
790
  version: '0'
888
791
  requirements: []
889
- rubygems_version: 3.6.8
792
+ rubygems_version: 3.6.9
890
793
  specification_version: 4
891
794
  summary: Module for the 'fog' gem to support Google.
892
- test_files:
893
- - test/helpers/client_helper.rb
894
- - test/helpers/integration_test_helper.rb
895
- - test/helpers/test_collection.rb
896
- - test/helpers/test_helper.rb
897
- - test/integration/compute/core_compute/test_client_options.rb
898
- - test/integration/compute/core_compute/test_coverage.rb
899
- - test/integration/compute/core_compute/test_disk_types.rb
900
- - test/integration/compute/core_compute/test_disks.rb
901
- - test/integration/compute/core_compute/test_images.rb
902
- - test/integration/compute/core_compute/test_machine_types.rb
903
- - test/integration/compute/core_compute/test_operations.rb
904
- - test/integration/compute/core_compute/test_projects.rb
905
- - test/integration/compute/core_compute/test_regions.rb
906
- - test/integration/compute/core_compute/test_servers.rb
907
- - test/integration/compute/core_compute/test_snapshots.rb
908
- - test/integration/compute/core_compute/test_zones.rb
909
- - test/integration/compute/core_networking/test_addresses.rb
910
- - test/integration/compute/core_networking/test_coverage.rb
911
- - test/integration/compute/core_networking/test_firewalls.rb
912
- - test/integration/compute/core_networking/test_networks.rb
913
- - test/integration/compute/core_networking/test_routes.rb
914
- - test/integration/compute/core_networking/test_subnetworks.rb
915
- - test/integration/compute/instance_groups/test_coverage.rb
916
- - test/integration/compute/instance_groups/test_instance_group_managers.rb
917
- - test/integration/compute/instance_groups/test_instance_groups.rb
918
- - test/integration/compute/instance_groups/test_instance_templates.rb
919
- - test/integration/compute/loadbalancing/test_backend_services.rb
920
- - test/integration/compute/loadbalancing/test_coverage.rb
921
- - test/integration/compute/loadbalancing/test_forwarding_rules.rb
922
- - test/integration/compute/loadbalancing/test_global_addresses.rb
923
- - test/integration/compute/loadbalancing/test_global_forwarding_rules.rb
924
- - test/integration/compute/loadbalancing/test_http_health_checks.rb
925
- - test/integration/compute/loadbalancing/test_ssl_certificates.rb
926
- - test/integration/compute/loadbalancing/test_target_http_proxies.rb
927
- - test/integration/compute/loadbalancing/test_target_https_proxies.rb
928
- - test/integration/compute/loadbalancing/test_target_instances.rb
929
- - test/integration/compute/loadbalancing/test_target_pools.rb
930
- - test/integration/compute/loadbalancing/test_url_maps.rb
931
- - test/integration/factories/addresses_factory.rb
932
- - test/integration/factories/backend_services_factory.rb
933
- - test/integration/factories/collection_factory.rb
934
- - test/integration/factories/disks_factory.rb
935
- - test/integration/factories/firewalls_factory.rb
936
- - test/integration/factories/forwarding_rules_factory.rb
937
- - test/integration/factories/global_addresses_factory.rb
938
- - test/integration/factories/global_forwarding_rules_factory.rb
939
- - test/integration/factories/http_health_checks_factory.rb
940
- - test/integration/factories/images_factory.rb
941
- - test/integration/factories/instance_group_manager_factory.rb
942
- - test/integration/factories/instance_groups_factory.rb
943
- - test/integration/factories/instance_template_factory.rb
944
- - test/integration/factories/networks_factory.rb
945
- - test/integration/factories/servers_factory.rb
946
- - test/integration/factories/sql_certs_factory.rb
947
- - test/integration/factories/sql_instances_factory.rb
948
- - test/integration/factories/sql_users_factory.rb
949
- - test/integration/factories/ssl_certificates_factory.rb
950
- - test/integration/factories/subnetworks_factory.rb
951
- - test/integration/factories/target_http_proxies_factory.rb
952
- - test/integration/factories/target_https_proxies_factory.rb
953
- - test/integration/factories/target_instances_factory.rb
954
- - test/integration/factories/target_pools_factory.rb
955
- - test/integration/factories/url_maps_factory.rb
956
- - test/integration/monitoring/test_coverage.rb
957
- - test/integration/monitoring/test_metric_descriptors.rb
958
- - test/integration/monitoring/test_monitored_resource_descriptors.rb
959
- - test/integration/monitoring/test_timeseries.rb
960
- - test/integration/pubsub/pubsub_shared.rb
961
- - test/integration/pubsub/test_coverage.rb
962
- - test/integration/pubsub/test_pubsub_models.rb
963
- - test/integration/pubsub/test_pubsub_requests.rb
964
- - test/integration/sql/test_certs.rb
965
- - test/integration/sql/test_common_flags.rb
966
- - test/integration/sql/test_common_tiers.rb
967
- - test/integration/sql/test_coverage.rb
968
- - test/integration/sql/test_instances.rb
969
- - test/integration/sql/test_users.rb
970
- - test/integration/storage/storage_shared.rb
971
- - test/integration/storage/test_buckets.rb
972
- - test/integration/storage/test_coverage.rb
973
- - test/integration/storage/test_directories.rb
974
- - test/integration/storage/test_files.rb
975
- - test/integration/storage/test_objects.rb
976
- - test/integration/test_authentication.rb
977
- - test/unit/compute/test_common_collections.rb
978
- - test/unit/compute/test_common_models.rb
979
- - test/unit/compute/test_disk.rb
980
- - test/unit/compute/test_server.rb
981
- - test/unit/dns/test_common_collections.rb
982
- - test/unit/monitoring/test_comon_collections.rb
983
- - test/unit/pubsub/test_common_collections.rb
984
- - test/unit/sql/test_common_collections.rb
985
- - test/unit/storage/test_common_json_collections.rb
986
- - test/unit/storage/test_common_xml_collections.rb
987
- - test/unit/storage/test_json_requests.rb
988
- - test/unit/storage/test_xml_requests.rb
795
+ test_files: []
@@ -1,23 +0,0 @@
1
- name: Mark stale issues and pull requests
2
-
3
- on:
4
- schedule:
5
- - cron: "30 1 * * *"
6
-
7
- jobs:
8
- stale:
9
-
10
- runs-on: ubuntu-latest
11
-
12
- steps:
13
- - uses: actions/stale@v9
14
- with:
15
- repo-token: ${{ secrets.GITHUB_TOKEN }}
16
- days-before-stale: 360
17
- days-before-close: 7
18
- exempt-issue-labels: 'pinned,security'
19
- exempt-pr-labels: 'pinned,security'
20
- stale-issue-message: 'This issue has been marked inactive and will be closed if no further activity occurs.'
21
- stale-pr-message: 'This pr has been marked inactive and will be closed if no further activity occurs.'
22
- stale-issue-label: 'no-issue-activity'
23
- stale-pr-label: 'no-pr-activity'
@@ -1,63 +0,0 @@
1
- ##
2
- # Helper mixin for tests (especially compute-based ones). Provide access to the
3
- # client in use via the #client method to use.
4
-
5
- module ClientHelper
6
- # Check to see if an compute operation is finished.
7
- #
8
- # @param op [Google::Apis::ComputeV1::Operation] the operation object returned from an api call
9
- # @return [Bolean] true if the operation is no longer executing, false
10
- # otherwise
11
- def operation_finished?(op)
12
- region = op.region
13
- zone = op.zone
14
- name = op.name
15
-
16
- if zone.nil?
17
- result = client.get_region_operation(region, name)
18
- else
19
- result = client.get_zone_operation(zone, name)
20
- end
21
- !%w(PENDING RUNNING).include?(result.status)
22
- end
23
-
24
- # Check to see if an SQL operation is finished.
25
- #
26
- # @param op [Google::Apis::SqladminV1beta4::Operation] the operation object
27
- # returned from an SQL Admin api call
28
- # @return [Boolean] true if the operation is no longer executing, false
29
- # otherwise
30
- def sql_operation_finished?(op)
31
- result = client.get_operation(op.name)
32
- !%w(PENDING RUNNING).include?(result.status)
33
- end
34
-
35
- # Pause execution until an operation (compute or sql) returned
36
- # from a passed block is finished.
37
- #
38
- # @example Pause until server is provisioned
39
- # @result = wait_until_complete { client.insert_server(name, zone, opts) }
40
- # @yieldreturn The resulting operation object from a block.
41
- # @return the result of the operation
42
-
43
- def wait_until_complete
44
- result = yield
45
-
46
- case result.kind
47
- when "compute#operation"
48
- region = result.region
49
- zone = result.zone
50
- Fog.wait_for { operation_finished?(result) }
51
- if zone.nil?
52
- client.get_region_operation(region, result.name)
53
- else
54
- client.get_zone_operation(zone, result.name)
55
- end
56
- when "sql#operation"
57
- Fog.wait_for { sql_operation_finished?(result) }
58
- client.get_operation(result.name)
59
- else
60
- result
61
- end
62
- end
63
- end
@@ -1,108 +0,0 @@
1
- require "helpers/test_helper"
2
- require "helpers/test_collection"
3
- require "retriable"
4
-
5
- # Use :test credentials in ~/.fog for live integration testing
6
- # XXX not sure if this will work on Travis CI or not
7
- Fog.credential = :test
8
-
9
- # Enable test debugging, providing additional information in some methods
10
- DEBUG = ENV['FOG_TEST_DEBUG'] || false
11
-
12
- # Helpers
13
-
14
- TEST_PROJECT = Fog.credentials[:google_project]
15
-
16
- TEST_ZONE = "us-central1-f".freeze
17
- TEST_REGION = "us-central1".freeze
18
- TEST_SIZE_GB = 10
19
- TEST_MACHINE_TYPE = "n1-standard-1".freeze
20
- TEST_IMAGE = "debian-11-bullseye-v20220920".freeze
21
- TEST_IMAGE_PROJECT = "debian-cloud".freeze
22
- TEST_IMAGE_FAMILY = "debian-11".freeze
23
-
24
- # XXX This depends on a public image in gs://fog-test-bucket; there may be a better way to do this
25
- # The image was created like so: https://cloud.google.com/compute/docs/images/export-image
26
- TEST_RAW_DISK_SOURCE = "https://storage.googleapis.com/fog-test-assets-bucket/fog-test-raw-disk-source.image.tar.gz".freeze
27
-
28
- TEST_SQL_TIER = "db-n1-standard-1".freeze
29
- TEST_SQL_REGION = TEST_REGION
30
-
31
- # Test certificate/key for SSL Proxy tests, generated via:
32
- # $ openssl genrsa -out example.key 2048
33
- # $ openssl req -new -key example.key -out example.csr
34
- # ...
35
- # Common Name (eg, fully qualified host name) []:example.com
36
- # Email Address []:admin@example.com
37
- # ...
38
- # $ openssl x509 -req -in example.csr -signkey example.key -out example.crt
39
-
40
- TEST_PEM_CERTIFICATE = <<CERT
41
- -----BEGIN CERTIFICATE-----
42
- MIIC7DCCAdQCCQCDSZQ3PYJW6zANBgkqhkiG9w0BAQUFADA4MRQwEgYDVQQDDAtl
43
- eGFtcGxlLmNvbTEgMB4GCSqGSIb3DQEJARYRYWRtaW5AZXhhbXBsZS5jb20wHhcN
44
- MTgwNjI4MDEzMzA5WhcNMTgwNzI4MDEzMzA5WjA4MRQwEgYDVQQDDAtleGFtcGxl
45
- LmNvbTEgMB4GCSqGSIb3DQEJARYRYWRtaW5AZXhhbXBsZS5jb20wggEiMA0GCSqG
46
- SIb3DQEBAQUAA4IBDwAwggEKAoIBAQC2DQkr6HBIoVsi7I+uHtmmge1KvbWP4nwg
47
- tmKe8FtprjyaBcY729Sc0LTgkOh0krVem9nsxd/Lea47jHTV/vM03xsOuEKRKy3S
48
- Horlr0TBRvB7tSmZCH0jn4x+V/k2qdLKhiDAtbLZ1UC3SWu3OjbE9ozf3fNPmssT
49
- bK2sNesa2XlydzL8wyZMajGLs8CEHVqpZwLSPTeGB3LAhdRjfzJLijqe124otVIb
50
- 3+tbxYZVY5GLVQIIR/DlwRzZLxptPALvHq3t3eOfC3eZImXqUzGmoug6nDrdKuEs
51
- C8yaoCNC3sSecoaV5Kyy70Hae+wFV7ocZGejm9AtuHXF1pgM4outAgMBAAEwDQYJ
52
- KoZIhvcNAQEFBQADggEBAFRYuOe7nwR8Sn7TDyzPcqau3yF2qYATtrDIzo7xmh3o
53
- T18FYCeX9gu/M9ytziM2lb/+WRqvcu55FrQiBz434E4wYH/IGUZK849V03dCro10
54
- Po5Hhayt5+tv5Ti0JqmJoC/HN0hNF+WQA8kikiteTTohIDj9rVX2uULA61rnHXSZ
55
- h6ZZRce3PdRKIUjOcQ4pIoI8QXSIToBsdY+Cieg9PHCt8mZhevU7COE1lfPFtdlY
56
- HJhg5xhHVUt40qsahpvUjnPBU8rJPPE06ougf5qjr0D8ZoYeuUQT0VJYwwacfpeb
57
- hs6AFOH5IAj6gjdIRhOWzYSxBYeyzJGfiPSbK4rowFM=
58
- -----END CERTIFICATE-----
59
- CERT
60
-
61
- TEST_PEM_CERTIFICATE_PRIVATE_KEY = <<KEY
62
- -----BEGIN RSA PRIVATE KEY-----
63
- MIIEpAIBAAKCAQEAtg0JK+hwSKFbIuyPrh7ZpoHtSr21j+J8ILZinvBbaa48mgXG
64
- O9vUnNC04JDodJK1XpvZ7MXfy3muO4x01f7zNN8bDrhCkSst0h6K5a9EwUbwe7Up
65
- mQh9I5+Mflf5NqnSyoYgwLWy2dVAt0lrtzo2xPaM393zT5rLE2ytrDXrGtl5cncy
66
- /MMmTGoxi7PAhB1aqWcC0j03hgdywIXUY38yS4o6ntduKLVSG9/rW8WGVWORi1UC
67
- CEfw5cEc2S8abTwC7x6t7d3jnwt3mSJl6lMxpqLoOpw63SrhLAvMmqAjQt7EnnKG
68
- leSssu9B2nvsBVe6HGRno5vQLbh1xdaYDOKLrQIDAQABAoIBAD5GA0cjwZT2rQgr
69
- R5LWNrmAZD1W246WeMNv4BhiO8LQuSYup3q+XeIuelD/AKUvsh7kzQzzOvSNcQ4p
70
- o6W4ClWho83LNeoWjRv9GqIq7Cf5LjYC6HHSt4vB/fsR+Mu8F8DzVKzW+pENI5AO
71
- 62vH3AhQFixV7e7jEmhYmqf34a5S9U3+0OkzRRbFVA5rBxKK4xLqrX/app4/TKs6
72
- msn+qCJUAVxggcKIACF0slzbGuKfCSOyfPM4dmKV1n857wDu2YB9QwaaI+aHtR9S
73
- rassm1TCcqirUIOsTcAaZ5szjkhAhH+pg/xVjl/2ppz1W/m9cfNQ4zwle1YuUmpS
74
- OxyqUcECgYEA8jQ0zZG4J7MOX29o2F+D4VI5I1kp6uLsfhb8KztEgpgdMy+nGNsK
75
- wlOd2fJU3hK51dg82HKSSEzHHPud7O39pWEo3iSmgdZ+pXhjXe95x+bVPfP01eSp
76
- CSyMP8t6c9RxVtpVU1IbrjMXROuwEIxaIzMhT4YYDGOoSj2xLn43N9kCgYEAwGuv
77
- MJeCDMI2Zr+OA1N3FUk6Py8q1zxJN3Wt3CwSjp57K3g2LaqN6gwgIbN3d1fEV9cM
78
- ATtjjsFC+toFrP8BZ1wj3DY8Q4OsOmXng1V4bw4Y5xsT6SxXh7E0gU2L8MCjUdri
79
- WUUu++yRRcUpWUGRRMYx6cN529HPNbAPm5Y8QfUCgYAGpCHShS1cgU9ilIZ2cGAI
80
- XJ3Od1Jr6176shyl/tEJF6ytS6A0UUVBQNOyNy/WiwLndy9r6/BQ5TIMfGW/KmNr
81
- FnftZ2ndY4lDdkKbP8bCEXVFZpwPBV8RLlSGJ0krReb5r7DpQPYbV7FKpX/FZGPQ
82
- VUWTjaS5Kj5iEsD5+mH/OQKBgQCKhftc8/V/0eDwHz7RTikQfeMc0Yv530CmWGWN
83
- d3z0h0sMhEIcpgf8UjZfjJ+YnuqOghX2XRbTEnZxuLsVS49rJX37bl/8CrLWZ74/
84
- YiyNZoyu82NmHbH10bCG1ZjE/SmWKAmDUrb8TdZXcBTQWM+Hv1b3fu4fPe/6KoFR
85
- 9Nn0cQKBgQC8BViTyfPTSuTEb8z7uzLEQk13MH+LTHFngFevWoq3OStEsmsIYK1K
86
- GcF1N9ZzPH024uwdcLjjwpul/avUHqzfp5ZILuI83Z/OqYYLiCQ0BbAQno7Cp5Be
87
- wLjafhPTSAIS0jijglJ7uzaSbFUW11fw1/EIqIFNe0R0Xf9lsyPxFA==
88
- -----END RSA PRIVATE KEY-----
89
- KEY
90
-
91
- # Retry module config - standard retriable gem settings
92
- # see: https://github.com/kamui/retriable
93
- RETRIABLE_TRIES = 3
94
- RETRIABLE_BASE_INTERVAL = 50
95
-
96
- class FogIntegrationTest < Minitest::Test
97
- def namespaced_name
98
- "#{self.class}_#{name}"
99
- end
100
-
101
- def retry_on(klass)
102
- Retriable.retriable(on: klass,
103
- tries: RETRIABLE_TRIES,
104
- base_interval: RETRIABLE_BASE_INTERVAL) do
105
- yield
106
- end
107
- end
108
- end
@@ -1,60 +0,0 @@
1
- module TestCollection
2
- # Anything that includes TestCollection must, during setup, assign @subject and @factory, where
3
- # @subject is the collection under test, (e.g. Fog::Compute[:google].servers)
4
- # @factory is a CollectionFactory
5
-
6
- def test_lifecycle
7
- one = @subject.new(@factory.params)
8
- one.save
9
- two = @subject.create(@factory.params)
10
-
11
- # XXX HACK compares identities
12
- # should be replaced with simple includes? when `==` is properly implemented in fog-core; see fog/fog-core#148
13
- assert_includes @subject.all.map(&:identity), one.identity
14
- assert_includes @subject.all.map(&:identity), two.identity
15
-
16
- assert_equal one.identity, @subject.get(one.identity).identity
17
- assert_equal two.identity, @subject.get(two.identity).identity
18
-
19
- # Some factories that have scoped parameters (zone, region) have a special
20
- # `get` method defined in the factory to pass the correct parameters in
21
- if @factory.respond_to?(:get)
22
- assert_equal one.identity, @factory.get(one.identity).identity
23
- assert_equal two.identity, @factory.get(two.identity).identity
24
- end
25
-
26
- # Some factories that have scoped parameters (zone, region) have a special
27
- # `all` method defined in the factory to pass the correct parameters in
28
- if @factory.respond_to?(:all)
29
- subject_list = @subject.all
30
- scoped_subject_list = @factory.all
31
-
32
- # Assert that whatever .all(scope) returns is a subset of .all
33
- assert(scoped_subject_list.all? { |x| subject_list.include? x },
34
- "Output of @factory.all must be a subset of @subject.all")
35
- end
36
-
37
- one.destroy
38
- two.destroy
39
-
40
- Fog.wait_for { !@subject.all.map(&:identity).include? one.identity }
41
- Fog.wait_for { !@subject.all.map(&:identity).include? two.identity }
42
- end
43
-
44
- def test_get_returns_nil_if_resource_does_not_exist
45
- assert_nil @factory.get("fog-test-fake-identity") if @factory.respond_to?(:get)
46
- assert_nil @subject.get("fog-test-fake-identity")
47
- end
48
-
49
- def test_enumerable
50
- assert_respond_to @subject, :each
51
- end
52
-
53
- def test_nil_get
54
- assert_nil @subject.get(nil)
55
- end
56
-
57
- def teardown
58
- @factory.cleanup
59
- end
60
- end
@@ -1,28 +0,0 @@
1
- # Configure simplecov for coverage tests
2
- # Note: needs to be done _before_ requiring minitest!
3
- if ENV["COVERAGE"]
4
- require "simplecov"
5
-
6
- require 'codecov'
7
- SimpleCov.formatter = SimpleCov::Formatter::Codecov
8
- SimpleCov.skip_token('no-coverage')
9
-
10
- SimpleCov.start do
11
- add_filter "/test/"
12
- end
13
- end
14
-
15
- # The next line was added to squelch a warning message in Ruby 1.9.
16
- # It ensures we're using the gem, not the built-in Minitest
17
- # See https://github.com/seattlerb/minitest/#install
18
- gem "minitest"
19
- require "minitest/autorun"
20
-
21
- # This is a workaround for RubyMine debugger that doesn't play nice with Minitest::Reporters
22
- unless ENV['RM_INFO']
23
- # Custom formatters to make the tests more legible in CI
24
- require "minitest/reporters"
25
- Minitest::Reporters.use! Minitest::Reporters::SpecReporter.new
26
- end
27
-
28
- require File.join(File.dirname(__FILE__), "../../lib/fog/google")
@@ -1,12 +0,0 @@
1
- require "helpers/integration_test_helper"
2
-
3
- class TestComputeClient < FogIntegrationTest
4
- def test_client_options
5
- # XXX This is a very rudimentary test checking that proxy option is applied
6
- client_options = { proxy_url: "https://user:password@host:8080" }
7
- connection = Fog::Google::Compute.new(google_client_options: client_options)
8
-
9
- err = assert_raises(ArgumentError) { connection.servers.all }
10
- assert_match(/unsupported proxy/, err.message)
11
- end
12
- 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:compute-core_compute" if ENV["COVERAGE"]
@@ -1,43 +0,0 @@
1
- require "helpers/integration_test_helper"
2
-
3
- class TestDiskTypes < FogIntegrationTest
4
- NAMES = %w(local-ssd pd-ssd pd-standard).freeze
5
- # Testing in one random zone per region (region list as of May 2018)
6
- ZONES = %w(asia-east1-a asia-northeast1-b asia-south1-c asia-southeast1-a australia-southeast1-b
7
- europe-west1-c europe-west2-a europe-west3-b europe-west4-c northamerica-northeast1-a
8
- southamerica-east1-b us-central1-c us-east1-b us-east4-a us-west1-c).freeze
9
-
10
- def setup
11
- @subject = Fog::Compute[:google].disk_types
12
- end
13
-
14
- def test_all
15
- assert_operator(@subject.all.size, :>=, NAMES.size * ZONES.size,
16
- "Number of all disk type references should be greater or equal to test zones * disk types")
17
- end
18
-
19
- def test_scoped_all
20
- subject_list = @subject.all
21
- scoped_subject_list = @subject.all(zone: TEST_ZONE)
22
-
23
- # Assert that whatever .all(scope) returns is a subset of .all
24
- assert(scoped_subject_list.all? { |x| subject_list.include? x },
25
- "Output of @subject.all(zone:#{TEST_ZONE}) must be a subset of @subject.all")
26
- end
27
-
28
- def test_get
29
- NAMES.each do |name|
30
- ZONES.each do |zone|
31
- refute_nil @subject.get(name, zone)
32
- end
33
- end
34
- end
35
-
36
- def test_bad_get
37
- assert_nil @subject.get("bad-name")
38
- end
39
-
40
- def test_enumerable
41
- assert_respond_to @subject, :each
42
- end
43
- end
@@ -1,53 +0,0 @@
1
- require "helpers/integration_test_helper"
2
- require "integration/factories/disks_factory"
3
-
4
- class TestDisks < FogIntegrationTest
5
- include TestCollection
6
-
7
- def setup
8
- @subject = Fog::Compute[:google].disks
9
- @factory = DisksFactory.new(namespaced_name)
10
- end
11
-
12
- def test_get_as_configs
13
- disk = @factory.create
14
- disk.wait_for { ready? }
15
-
16
- example = disk.get_as_boot_disk
17
- config = { :auto_delete => false,
18
- :boot => true,
19
- :source => disk.self_link,
20
- :mode => "READ_WRITE",
21
- :type => "PERSISTENT" }
22
- assert_equal(example, config)
23
-
24
- example_with_params = disk.get_as_boot_disk(false, true)
25
- config_with_params = { :auto_delete => true,
26
- :boot => true,
27
- :source => disk.self_link,
28
- :mode => "READ_ONLY",
29
- :type => "PERSISTENT" }
30
- assert_equal(example_with_params, config_with_params)
31
- end
32
-
33
- def test_create_snapshot
34
- disk = @factory.create
35
- disk.wait_for { ready? }
36
-
37
- snapshot = disk.create_snapshot("fog-test-snapshot")
38
-
39
- assert(snapshot.is_a?(Fog::Google::Compute::Snapshot),
40
- "Resulting snapshot should be a snapshot object.")
41
-
42
- assert_raises(ArgumentError) { snapshot.set_labels(%w(bar test)) }
43
-
44
- snapshot.set_labels(foo: "bar", fog: "test")
45
-
46
- assert_equal(snapshot.labels[:foo], "bar")
47
- assert_equal(snapshot.labels[:fog], "test")
48
-
49
- # Clean up the snapshot
50
- operation = snapshot.destroy
51
- operation.wait_for { ready? }
52
- end
53
- end