fog-google 1.7.1 → 1.8.0

Sign up to get free protection for your applications and to get access to all the features.
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