fog-google 1.7.1 → 1.8.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 (76) hide show
  1. checksums.yaml +4 -4
  2. data/.rubocop.yml +3 -0
  3. data/.travis.yml +0 -3
  4. data/CHANGELOG.md +45 -1
  5. data/CONTRIBUTING.md +11 -5
  6. data/README.md +0 -2
  7. data/fog-google.gemspec +4 -5
  8. data/lib/fog/bin/google.rb +4 -0
  9. data/lib/fog/compute/google/models/addresses.rb +9 -3
  10. data/lib/fog/compute/google/models/backend_services.rb +3 -2
  11. data/lib/fog/compute/google/models/disk_types.rb +5 -6
  12. data/lib/fog/compute/google/models/disks.rb +10 -4
  13. data/lib/fog/compute/google/models/firewalls.rb +3 -2
  14. data/lib/fog/compute/google/models/forwarding_rules.rb +8 -12
  15. data/lib/fog/compute/google/models/global_addresses.rb +3 -2
  16. data/lib/fog/compute/google/models/global_forwarding_rules.rb +3 -2
  17. data/lib/fog/compute/google/models/http_health_checks.rb +4 -3
  18. data/lib/fog/compute/google/models/images.rb +23 -12
  19. data/lib/fog/compute/google/models/instance_group_managers.rb +10 -7
  20. data/lib/fog/compute/google/models/instance_groups.rb +21 -15
  21. data/lib/fog/compute/google/models/instance_templates.rb +3 -2
  22. data/lib/fog/compute/google/models/machine_types.rb +13 -4
  23. data/lib/fog/compute/google/models/networks.rb +3 -2
  24. data/lib/fog/compute/google/models/operations.rb +8 -8
  25. data/lib/fog/compute/google/models/projects.rb +3 -2
  26. data/lib/fog/compute/google/models/regions.rb +3 -2
  27. data/lib/fog/compute/google/models/routes.rb +3 -2
  28. data/lib/fog/compute/google/models/servers.rb +7 -7
  29. data/lib/fog/compute/google/models/snapshots.rb +5 -4
  30. data/lib/fog/compute/google/models/ssl_certificates.rb +4 -3
  31. data/lib/fog/compute/google/models/subnetworks.rb +13 -7
  32. data/lib/fog/compute/google/models/target_http_proxies.rb +3 -2
  33. data/lib/fog/compute/google/models/target_https_proxies.rb +3 -2
  34. data/lib/fog/compute/google/models/target_instances.rb +8 -8
  35. data/lib/fog/compute/google/models/target_pools.rb +7 -10
  36. data/lib/fog/compute/google/models/url_maps.rb +3 -2
  37. data/lib/fog/compute/google/models/zones.rb +4 -2
  38. data/lib/fog/compute/google/real.rb +2 -0
  39. data/lib/fog/compute/google/requests/list_aggregated_instance_groups.rb +1 -2
  40. data/lib/fog/dns/google/real.rb +1 -0
  41. data/lib/fog/google/models/sql/instances.rb +4 -1
  42. data/lib/fog/google/monitoring/real.rb +1 -0
  43. data/lib/fog/google/pubsub/real.rb +1 -0
  44. data/lib/fog/google/shared.rb +15 -1
  45. data/lib/fog/google/sql/real.rb +1 -0
  46. data/lib/fog/google/version.rb +1 -1
  47. data/lib/fog/storage/google_json/real.rb +2 -0
  48. data/test/helpers/integration_test_helper.rb +2 -0
  49. data/test/helpers/test_collection.rb +26 -3
  50. data/test/integration/compute/core_compute/test_client_options.rb +12 -0
  51. data/test/integration/compute/core_compute/test_disk_types.rb +9 -0
  52. data/test/integration/compute/core_compute/test_images.rb +21 -0
  53. data/test/integration/compute/core_compute/test_machine_types.rb +13 -0
  54. data/test/integration/compute/core_compute/test_operations.rb +19 -1
  55. data/test/integration/compute/instance_groups/test_instance_group_managers.rb +1 -1
  56. data/test/integration/factories/addresses_factory.rb +4 -0
  57. data/test/integration/factories/collection_factory.rb +1 -1
  58. data/test/integration/factories/disks_factory.rb +4 -0
  59. data/test/integration/factories/forwarding_rules_factory.rb +4 -0
  60. data/test/integration/factories/images_factory.rb +4 -0
  61. data/test/integration/factories/instance_group_manager_factory.rb +8 -0
  62. data/test/integration/factories/instance_groups_factory.rb +4 -0
  63. data/test/integration/factories/servers_factory.rb +8 -0
  64. data/test/integration/factories/subnetworks_factory.rb +4 -0
  65. data/test/integration/factories/target_instances_factory.rb +4 -0
  66. data/test/integration/factories/target_pools_factory.rb +4 -0
  67. data/test/unit/compute/test_common_collections.rb +19 -8
  68. data/test/unit/compute/test_common_models.rb +10 -11
  69. data/test/unit/compute/test_server.rb +2 -1
  70. data/test/unit/dns/test_common_collections.rb +43 -0
  71. data/test/unit/monitoring/test_comon_collections.rb +44 -0
  72. data/test/unit/pubsub/test_common_collections.rb +35 -0
  73. data/test/unit/sql/test_common_collections.rb +46 -0
  74. data/test/unit/storage/test_common_json_collections.rb +38 -0
  75. data/test/unit/storage/test_common_xml_collections.rb +39 -0
  76. metadata +33 -27
@@ -0,0 +1,46 @@
1
+ require "helpers/test_helper"
2
+
3
+ class UnitTestSQLCollections < MiniTest::Test
4
+ def setup
5
+ Fog.mock!
6
+ @client = Fog::Google::SQL.new(google_project: "foo")
7
+
8
+ # Exceptions that do not pass test_common_methods:
9
+ #
10
+ # SQL Users API doesn't have a 'get' method
11
+ # SQL Flags API has only one method - 'list'
12
+ # SQL Tiers API has only one method - 'list'
13
+ @common_method_exceptions = [Fog::Google::SQL::Users,
14
+ Fog::Google::SQL::Tiers,
15
+ Fog::Google::SQL::Flags]
16
+ # Enumerate all descendants of Fog::Collection
17
+ descendants = ObjectSpace.each_object(Fog::Collection.singleton_class)
18
+
19
+ @collections = descendants.select { |d| d.name.match(/Fog::Google::SQL/) }
20
+ end
21
+
22
+ def teardown
23
+ Fog.unmock!
24
+ end
25
+
26
+ # This tests whether Fog::Compute::Google collections have common lifecycle methods
27
+ def test_common_methods
28
+ subjects = @collections - @common_method_exceptions
29
+ subjects.each do |klass|
30
+ obj = klass.new
31
+ assert obj.respond_to?(:all), "#{klass} should have an .all method"
32
+ assert obj.respond_to?(:get), "#{klass} should have a .get method"
33
+ assert obj.respond_to?(:each), "#{klass} should behave like Enumerable"
34
+ end
35
+ end
36
+
37
+ def test_collection_get_arguments
38
+ # TODO: Fixture for #352
39
+ skip
40
+ @collections.each do |klass|
41
+ obj = klass.new
42
+ assert_operator(obj.method(:get).arity, :<=, 1,
43
+ "#{klass} should have at most 1 required parameter in get()")
44
+ end
45
+ end
46
+ end
@@ -0,0 +1,38 @@
1
+ require "helpers/test_helper"
2
+
3
+ class UnitTestStorageJSONCollections < MiniTest::Test
4
+ def setup
5
+ Fog.mock!
6
+ @client = Fog::Storage.new(provider: "google",
7
+ google_project: "foo")
8
+
9
+ # Enumerate all descendants of Fog::Collection
10
+ descendants = ObjectSpace.each_object(Fog::Collection.singleton_class)
11
+
12
+ @collections = descendants.select do |d|
13
+ d.name.match(/Fog::Storage::GoogleJSON/)
14
+ end
15
+ end
16
+
17
+ def teardown
18
+ Fog.unmock!
19
+ end
20
+
21
+ def test_common_methods
22
+ # This tests whether Fog::Compute::Google collections have common lifecycle methods
23
+ @collections.each do |klass|
24
+ obj = klass.new
25
+ assert obj.respond_to?(:all), "#{klass} should have an .all method"
26
+ assert obj.respond_to?(:get), "#{klass} should have a .get method"
27
+ assert obj.respond_to?(:each), "#{klass} should behave like Enumerable"
28
+ end
29
+ end
30
+
31
+ def test_collection_get_arguments
32
+ @collections.each do |klass|
33
+ obj = klass.new
34
+ assert_operator(obj.method(:get).arity, :<=, 1,
35
+ "#{klass} should have at most 1 required parameter in get()")
36
+ end
37
+ end
38
+ end
@@ -0,0 +1,39 @@
1
+ require "helpers/test_helper"
2
+
3
+ class UnitTestStorageXMLCollections < MiniTest::Test
4
+ def setup
5
+ Fog.mock!
6
+ @client = Fog::Storage.new(provider: "google",
7
+ google_storage_access_key_id: "",
8
+ google_storage_secret_access_key: "")
9
+
10
+ # Enumerate all descendants of Fog::Collection
11
+ descendants = ObjectSpace.each_object(Fog::Collection.singleton_class)
12
+
13
+ @collections = descendants.select do |d|
14
+ d.name.match(/Fog::Storage::GoogleXML/)
15
+ end
16
+ end
17
+
18
+ def teardown
19
+ Fog.unmock!
20
+ end
21
+
22
+ def test_common_methods
23
+ # This tests whether Fog::Compute::Google collections have common lifecycle methods
24
+ @collections.each do |klass|
25
+ obj = klass.new
26
+ assert obj.respond_to?(:all), "#{klass} should have an .all method"
27
+ assert obj.respond_to?(:get), "#{klass} should have a .get method"
28
+ assert obj.respond_to?(:each), "#{klass} should behave like Enumerable"
29
+ end
30
+ end
31
+
32
+ def test_collection_get_arguments
33
+ @collections.each do |klass|
34
+ obj = klass.new
35
+ assert_operator(obj.method(:get).arity, :<=, 1,
36
+ "#{klass} should have at most 1 required parameter in get()")
37
+ end
38
+ end
39
+ end
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.7.1
4
+ version: 1.8.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Nat Welch
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2018-08-21 00:00:00.000000000 Z
12
+ date: 2018-09-26 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: fog-core
@@ -17,42 +17,48 @@ dependencies:
17
17
  requirements:
18
18
  - - ">="
19
19
  - !ruby/object:Gem::Version
20
- version: '0'
20
+ version: '2.0'
21
+ - - "<="
22
+ - !ruby/object:Gem::Version
23
+ version: 2.1.0
21
24
  type: :runtime
22
25
  prerelease: false
23
26
  version_requirements: !ruby/object:Gem::Requirement
24
27
  requirements:
25
28
  - - ">="
26
29
  - !ruby/object:Gem::Version
27
- version: '0'
30
+ version: '2.0'
31
+ - - "<="
32
+ - !ruby/object:Gem::Version
33
+ version: 2.1.0
28
34
  - !ruby/object:Gem::Dependency
29
35
  name: fog-json
30
36
  requirement: !ruby/object:Gem::Requirement
31
37
  requirements:
32
- - - ">="
38
+ - - "~>"
33
39
  - !ruby/object:Gem::Version
34
- version: '0'
40
+ version: 1.2.0
35
41
  type: :runtime
36
42
  prerelease: false
37
43
  version_requirements: !ruby/object:Gem::Requirement
38
44
  requirements:
39
- - - ">="
45
+ - - "~>"
40
46
  - !ruby/object:Gem::Version
41
- version: '0'
47
+ version: 1.2.0
42
48
  - !ruby/object:Gem::Dependency
43
49
  name: fog-xml
44
50
  requirement: !ruby/object:Gem::Requirement
45
51
  requirements:
46
- - - ">="
52
+ - - "~>"
47
53
  - !ruby/object:Gem::Version
48
- version: '0'
54
+ version: 0.1.0
49
55
  type: :runtime
50
56
  prerelease: false
51
57
  version_requirements: !ruby/object:Gem::Requirement
52
58
  requirements:
53
- - - ">="
59
+ - - "~>"
54
60
  - !ruby/object:Gem::Version
55
- version: '0'
61
+ version: 0.1.0
56
62
  - !ruby/object:Gem::Dependency
57
63
  name: google-api-client
58
64
  requirement: !ruby/object:Gem::Requirement
@@ -67,20 +73,6 @@ dependencies:
67
73
  - - "~>"
68
74
  - !ruby/object:Gem::Version
69
75
  version: 0.23.0
70
- - !ruby/object:Gem::Dependency
71
- name: mime-types
72
- requirement: !ruby/object:Gem::Requirement
73
- requirements:
74
- - - ">="
75
- - !ruby/object:Gem::Version
76
- version: '0'
77
- type: :development
78
- prerelease: false
79
- version_requirements: !ruby/object:Gem::Requirement
80
- requirements:
81
- - - ">="
82
- - !ruby/object:Gem::Version
83
- version: '0'
84
76
  - !ruby/object:Gem::Dependency
85
77
  name: pry
86
78
  requirement: !ruby/object:Gem::Requirement
@@ -671,6 +663,7 @@ files:
671
663
  - test/helpers/integration_test_helper.rb
672
664
  - test/helpers/test_collection.rb
673
665
  - test/helpers/test_helper.rb
666
+ - test/integration/compute/core_compute/test_client_options.rb
674
667
  - test/integration/compute/core_compute/test_coverage.rb
675
668
  - test/integration/compute/core_compute/test_disk_types.rb
676
669
  - test/integration/compute/core_compute/test_disks.rb
@@ -756,6 +749,12 @@ files:
756
749
  - test/unit/compute/test_common_collections.rb
757
750
  - test/unit/compute/test_common_models.rb
758
751
  - test/unit/compute/test_server.rb
752
+ - test/unit/dns/test_common_collections.rb
753
+ - test/unit/monitoring/test_comon_collections.rb
754
+ - test/unit/pubsub/test_common_collections.rb
755
+ - test/unit/sql/test_common_collections.rb
756
+ - test/unit/storage/test_common_json_collections.rb
757
+ - test/unit/storage/test_common_xml_collections.rb
759
758
  - test/unit/storage/test_json_requests.rb
760
759
  - test/unit/storage/test_xml_requests.rb
761
760
  homepage: https://github.com/fog/fog-google
@@ -778,7 +777,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
778
777
  version: '0'
779
778
  requirements: []
780
779
  rubyforge_project:
781
- rubygems_version: 2.5.1
780
+ rubygems_version: 2.6.14
782
781
  signing_key:
783
782
  specification_version: 4
784
783
  summary: Module for the 'fog' gem to support Google.
@@ -787,6 +786,7 @@ test_files:
787
786
  - test/helpers/integration_test_helper.rb
788
787
  - test/helpers/test_collection.rb
789
788
  - test/helpers/test_helper.rb
789
+ - test/integration/compute/core_compute/test_client_options.rb
790
790
  - test/integration/compute/core_compute/test_coverage.rb
791
791
  - test/integration/compute/core_compute/test_disk_types.rb
792
792
  - test/integration/compute/core_compute/test_disks.rb
@@ -872,5 +872,11 @@ test_files:
872
872
  - test/unit/compute/test_common_collections.rb
873
873
  - test/unit/compute/test_common_models.rb
874
874
  - test/unit/compute/test_server.rb
875
+ - test/unit/dns/test_common_collections.rb
876
+ - test/unit/monitoring/test_comon_collections.rb
877
+ - test/unit/pubsub/test_common_collections.rb
878
+ - test/unit/sql/test_common_collections.rb
879
+ - test/unit/storage/test_common_json_collections.rb
880
+ - test/unit/storage/test_common_xml_collections.rb
875
881
  - test/unit/storage/test_json_requests.rb
876
882
  - test/unit/storage/test_xml_requests.rb