fog-google 0.5.0 → 0.5.1

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 0dc1f39d88b02301c3862a372a55a6086209a845
4
- data.tar.gz: 756283b7749001656eb11ecebdf31bf3417796de
3
+ metadata.gz: ad43648d6ec49a3e00c06ef22da0f2c12e84919c
4
+ data.tar.gz: cf6f8b28815b5ee18dfdce87306559c058eb49b9
5
5
  SHA512:
6
- metadata.gz: 021a04a4a181e6ad9853c5f76ba17ad8dbceb2a1792b7b3708331ed1fe006d68b68f6e44bc0ea564fcc383dd64f94298671aeb910baf25cb5d09ad8537b49ae0
7
- data.tar.gz: 18c9ff430a290e8f226aeb7f28f00f81a07eb9fbf05e266fd7388062d8b741d2d3f70abf130f493bfa08b1baadb05b4fe709586363c106de662c13818e4cc352
6
+ metadata.gz: 5df9ade71b8ac3430be566e5f8006425f6b8dd38ffeb5130f53c6c0d76a12fa56d73eec811a2c72342cbb669fdc0de2df796c037c3fbd32a26be2e2e6c41e8b2
7
+ data.tar.gz: aaa5bbe014e6d4c44438f068d8137abeb18276b25196ebb212ed54af9e98ca3c9d46d794a780cfd5869399451f654aac190095d983f23a56a7a45de7c54adf87
@@ -1,4 +1,5 @@
1
1
  language: ruby
2
+ cache: bundler
2
3
  sudo: false
3
4
  matrix:
4
5
  fast_finish: true
@@ -7,9 +8,10 @@ matrix:
7
8
  - rvm: 2.2
8
9
  - rvm: 2.3.0
9
10
  - rvm: 2.3.1
11
+ - rvm: 2.4.0
10
12
  - rvm: jruby-head
11
13
  allow_failures:
12
14
  - rvm: jruby-head
13
-
15
+ - rvm: 2.4.0
14
16
  notifications:
15
17
  email: false
@@ -9,13 +9,12 @@ Bundler.require(:default, :development)
9
9
  def test
10
10
  connection = Fog::Compute.new(:provider => "Google")
11
11
 
12
- name = "fog-smoke-test-#{Time.now.to_i}"
13
-
14
12
  disk = connection.disks.create(
15
- :name => name,
13
+ :name => "fog-smoke-test-#{Time.now.to_i}",
16
14
  :size_gb => 10,
17
15
  :zone_name => "us-central1-f",
18
- :source_image => "debian-7-wheezy-v20151104")
16
+ :source_image => "debian-8-jessie-v20161215"
17
+ )
19
18
 
20
19
  disk.wait_for { disk.ready? }
21
20
 
@@ -28,7 +27,8 @@ def test
28
27
  :zone_name => "us-central1-f",
29
28
  :user => ENV["USER"],
30
29
  :tags => ["fog"],
31
- :service_accounts => %w(sql-admin bigquery https://www.googleapis.com/auth/compute))
30
+ :service_accounts => %w(sql-admin bigquery https://www.googleapis.com/auth/compute)
31
+ )
32
32
 
33
33
  # Wait_for routine copied here to show errors, if necessary.
34
34
  duration = 0
@@ -23,7 +23,7 @@ def test
23
23
 
24
24
  puts "Fetching a single image from a global project..."
25
25
  puts "------------------------------------------------"
26
- img = connection.images.get("debian-7-wheezy-v20151104")
26
+ img = connection.images.get("debian-8-jessie-v20161215")
27
27
  raise "Could not GET the image" unless img
28
28
  puts img.inspect
29
29
 
@@ -15,7 +15,8 @@ def test
15
15
  :name => name,
16
16
  :size_gb => 10,
17
17
  :zone_name => "us-central1-f",
18
- :source_image => "debian-7-wheezy-v20131120")
18
+ :source_image => "debian-8-jessie-v20161215"
19
+ )
19
20
 
20
21
  disk.wait_for { disk.ready? }
21
22
 
@@ -10,7 +10,8 @@ def test
10
10
  :name => name,
11
11
  :size_gb => 10,
12
12
  :zone_name => "us-central1-a",
13
- :source_image => "debian-7-wheezy-v20131120")
13
+ :source_image => "debian-8-jessie-v20161215"
14
+ )
14
15
 
15
16
  disk.wait_for { disk.ready? }
16
17
 
@@ -17,80 +17,69 @@ module Fog
17
17
  when "debian-cloud"
18
18
  {
19
19
  :images => {
20
- "debian-6-squeeze-v20130816" => {
20
+ "debian-8-jessie-v20161215" => {
21
+ "archiveSizeBytes" => "3436783050",
22
+ "creationTimestamp" => "2016-12-15T12 =>53 =>12.508-08 =>00",
23
+ "description" => "Debian, Debian GNU/Linux, 8 (jessie), amd64 built on 2016-12-15",
24
+ "diskSizeGb" => "10",
25
+ "family" => "debian-8",
26
+ "id" => "7187216073735715927",
21
27
  "kind" => "compute#image",
22
- "selfLink" => "https://www.googleapis.com/compute/#{api_version}/projects/debian-cloud/global/images/debian-6-squeeze-v20130816",
23
- "id" => "14841592146580482051",
24
- "creationTimestamp" => "2013-09-04T13:21:53.292-07:00",
25
- "name" => "debian-6-squeeze-v20130816",
26
- "description" => "Debian GNU/Linux 6.0.7 (squeeze) built on 2013-08-16",
27
- "sourceType" => "RAW",
28
+ "licenses" => [
29
+ "https://www.googleapis.com/compute/#{api_version}/projects/debian-cloud/global/licenses/debian-8-jessie"
30
+ ],
31
+ "name" => "debian-8-jessie-v20161215",
28
32
  "rawDisk" => {
29
33
  "containerType" => "TAR",
30
34
  "source" => ""
31
35
  },
32
- "status" => "READY"
33
- },
34
- "debian-7-wheezy-v20130816" => {
35
- "kind" => "compute#image",
36
- "selfLink" => "https://www.googleapis.com/compute/#{api_version}/projects/debian-cloud/global/images/debian-7-wheezy-v20130816",
37
- "id" => "4213305957435180899",
38
- "creationTimestamp" => "2013-09-04T13:24:30.479-07:00",
39
- "name" => "debian-7-wheezy-v20130816",
40
- "description" => "Debian GNU/Linux 7.1 (wheezy) built on 2013-08-16",
36
+ "selfLink" => "https://www.googleapis.com/compute/#{api_version}/projects/debian-cloud/global/images/debian-8-jessie-v20161215",
41
37
  "sourceType" => "RAW",
42
- "rawDisk" => {
43
- "containerType" => "TAR",
44
- "source" => ""
45
- },
46
38
  "status" => "READY"
47
- },
48
- "debian-7-wheezy-v20131014" => {
39
+ }
40
+ }
41
+ }
42
+ when "centos-cloud"
43
+ {
44
+ :images => {
45
+ "centos-6-v20161212" => {
46
+ "archiveSizeBytes" => "3942360630",
47
+ "creationTimestamp" => "2016-12-14T10 =>30 =>52.053-08 =>00",
48
+ "description" => "CentOS, CentOS, 6, x86_64 built on 2016-12-12",
49
+ "diskSizeGb" => "10",
50
+ "family" => "centos-6",
51
+ "id" => "5262726857160929587",
49
52
  "kind" => "compute#image",
50
- "selfLink" => "https://www.googleapis.com/compute/#{api_version}/projects/debian-cloud/global/images/debian-7-wheezy-v20131014",
51
- "id" => "4213305957435180899",
52
- "creationTimestamp" => "2013-09-04T13:24:30.479-07:00",
53
- "name" => "debian-7-wheezy-v20131014",
54
- "description" => "Debian GNU/Linux 7.1 (wheezy) built on 2013-10-14",
55
- "sourceType" => "RAW",
53
+ "licenses" => [
54
+ "https://www.googleapis.com/compute/#{api_version}/projects/centos-cloud/global/licenses/centos-6"
55
+ ],
56
+ "name" => "centos-6-v20161212",
56
57
  "rawDisk" => {
57
58
  "containerType" => "TAR",
58
59
  "source" => ""
59
60
  },
61
+ "selfLink" => "https://www.googleapis.com/compute/#{api_version}/projects/centos-cloud/global/images/centos-6-v20161212",
62
+ "sourceType" => "RAW",
60
63
  "status" => "READY"
61
64
  },
62
- "debian-7-wheezy-v20140408" => {
65
+ "centos-7-v20161212" => {
66
+ "archiveSizeBytes" => "4491098988",
67
+ "creationTimestamp" => "2016-12-14T10 =>29 =>44.741-08 =>00",
68
+ "description" => "CentOS, CentOS, 7, x86_64 built on 2016-12-12",
69
+ "diskSizeGb" => "10",
70
+ "family" => "centos-7",
71
+ "id" => "8650499281020268919",
63
72
  "kind" => "compute#image",
64
- "selfLink" => "https://www.googleapis.com/compute/#{api_version}/projects/debian-cloud/global/images/debian-7-wheezy-v20140408",
65
- "id" => "17312518942796567788",
66
- "creationTimestamp" => "2013-11-25T15:17:00.436-08:00",
67
- "name" => "debian-7-wheezy-v20131120",
68
- "description" => "Debian GNU/Linux 7.2 (wheezy) built on 2013-11-20",
69
- "sourceType" => "RAW",
73
+ "licenses" => [
74
+ "https://www.googleapis.com/compute/#{api_version}/projects/centos-cloud/global/licenses/centos-7"
75
+ ],
76
+ "name" => "centos-7-v20161212",
70
77
  "rawDisk" => {
71
78
  "containerType" => "TAR",
72
79
  "source" => ""
73
80
  },
74
- "status" => "READY",
75
- "archiveSizeBytes" => "341857472"
76
- }
77
- }
78
- }
79
- when "centos-cloud"
80
- {
81
- :images => {
82
- "centos-6-v20130813" => {
83
- "kind" => "compute#image",
84
- "selfLink" => "https://www.googleapis.com/compute/#{api_version}/projects/centos-cloud/global/images/centos-6-v20130813",
85
- "id" => "4670523370938782739",
86
- "creationTimestamp" => "2013-08-19T11:56:47.004-07:00",
87
- "name" => "centos-6-v20130813",
88
- "description" => "SCSI-enabled CentOS 6; Created Tue, 13 Aug 2013 00:00:00 +0000",
81
+ "selfLink" => "https://www.googleapis.com/compute/#{api_version}/projects/centos-cloud/global/images/centos-7-v20161212",
89
82
  "sourceType" => "RAW",
90
- "rawDisk" => {
91
- "containerType" => "TAR",
92
- "source" => ""
93
- },
94
83
  "status" => "READY"
95
84
  }
96
85
  }
@@ -11,6 +11,8 @@ module Fog
11
11
  attribute :deprecated
12
12
  attribute :description
13
13
  attribute :disk_size_gb, :aliases => "diskSizeGb"
14
+ attribute :family
15
+ attribute :licenses
14
16
  attribute :self_link, :aliases => "selfLink"
15
17
  attribute :source_type, :aliases => "sourceType"
16
18
  attribute :status
@@ -221,7 +221,7 @@ module Fog
221
221
  metadata[metadata_key] += "\n" unless metadata[metadata_key].empty?
222
222
  metadata[metadata_key] += "#{username}:#{key.strip}"
223
223
 
224
- metadata
224
+ set_metadata(metadata)
225
225
  end
226
226
 
227
227
  def map_service_accounts(scope_array)
@@ -45,7 +45,7 @@ module Fog
45
45
  :name => name,
46
46
  :size_gb => 10,
47
47
  :zone_name => zone,
48
- :source_image => "debian-7-wheezy-v20151104"
48
+ :source_image => "debian-8-jessie-v20161215"
49
49
  }
50
50
 
51
51
  # backwards compatibility to pre-v1
@@ -64,7 +64,7 @@ module Fog
64
64
  options[:google_api_scope_url],
65
65
  options[:app_name],
66
66
  options[:app_version],
67
- options[:google_client_options]
67
+ options[:google_client_options] || {}
68
68
  )
69
69
  end
70
70
 
@@ -105,18 +105,21 @@ module Fog
105
105
  ##
106
106
  # Create a Google API Client with a user email and a pkcs12 key
107
107
  #
108
- # @param [String] google_client_email A @developer.gserviceaccount.com email address to use
109
- # @param [OpenSSL::PKey] signing_key The private key for signing
110
- # @param [String] google_api_scope_url Access scope URLs
111
- # @param [String] app_name The app name to set in the user agent
112
- # @param [String] app_version The app version to set in the user agent
113
- # @return [Google::APIClient] Google API Client
114
- def new_pk12_google_client(google_client_email, signing_key, google_api_scope_url, app_name = nil, app_version = nil, google_client_options = [])
108
+ # @param google_client_email [String] A @developer.gserviceaccount.com.
109
+ # email address to use
110
+ # @param signing_key [OpenSSL::PKey] The private key for signing
111
+ # @param google_api_scope_url [String] Access scope URLs
112
+ # @param app_name [String] The app name to set in the user agent
113
+ # @param app_version [String] The app version to set in the user agent
114
+ # @param google_client_options [Hash] additional options to pass to the
115
+ # underlying google client
116
+ # @return [Google::APIClient] a newly-constructed Google API Client
117
+ def new_pk12_google_client(google_client_email, signing_key, google_api_scope_url, app_name = nil, app_version = nil, google_client_options = {})
115
118
  application_name = app_name.nil? ? "fog" : "#{app_name}/#{app_version || '0.0.0'} fog"
116
119
  api_client_options = {
117
120
  :application_name => application_name,
118
121
  :application_version => Fog::Google::VERSION
119
- }
122
+ }.merge(google_client_options)
120
123
  client = ::Google::APIClient.new(api_client_options)
121
124
 
122
125
  client.authorization = Signet::OAuth2::Client.new(
@@ -126,8 +129,7 @@ module Fog
126
129
  :issuer => google_client_email,
127
130
  :scope => google_api_scope_url,
128
131
  :signing_key => signing_key,
129
- :token_credential_uri => "https://accounts.google.com/o/oauth2/token",
130
- :google_client_options => google_client_options
132
+ :token_credential_uri => "https://accounts.google.com/o/oauth2/token"
131
133
  )
132
134
  client.authorization.fetch_access_token!
133
135
 
@@ -1,5 +1,5 @@
1
1
  module Fog
2
2
  module Google
3
- VERSION = "0.5.0".freeze
3
+ VERSION = "0.5.1".freeze
4
4
  end
5
5
  end
@@ -0,0 +1,35 @@
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 operation is finished.
7
+ #
8
+ # @param op [Excon::Response] the operation object returned from an api call
9
+ # @return [Boolean] true if the operation is no longer executing, false
10
+ # otherwise
11
+ def operation_finished?(op)
12
+ # TODO: support both zone and region operations
13
+ region = op[:body]["region"]
14
+ name = op[:body]["name"]
15
+
16
+ result = client.get_region_operation(region, name)
17
+ !%w(PENDING RUNNING).include?(result[:body]["status"])
18
+ end
19
+
20
+ # Pause execution until an operation returned from a passed block is finished.
21
+ #
22
+ # @example Pause until server is provisioned
23
+ # @result = wait_until_complete { client.insert_server(name, zone, opts) }
24
+ # @yieldreturn [Excon::Response] the resulting operation object from a block.
25
+ # @return [Excon::Response] the final completed operation object
26
+ def wait_until_complete
27
+ result = yield
28
+ return result unless result[:body]["kind"] == "compute#operation"
29
+
30
+ # TODO: support both zone and region operations
31
+ region = result[:body]["region"]
32
+ Fog.wait_for { operation_finished?(result) }
33
+ client.get_region_operation(region, result[:body]["name"])
34
+ end
35
+ end
@@ -0,0 +1,84 @@
1
+ require "helpers/integration_test_helper"
2
+ require "helpers/client_helper"
3
+ require "securerandom"
4
+
5
+ class TestComputeAddressRequests < FogIntegrationTest
6
+ DEFAULT_REGION = "us-central1".freeze
7
+ ADDRESS_RESOURCE_PREFIX = "fog-test-address".freeze
8
+
9
+ include ClientHelper
10
+
11
+ # Ensure we clean up any created resources
12
+ Minitest.after_run do
13
+ client = Fog::Compute::Google.new
14
+ addresses = client.list_addresses(DEFAULT_REGION)[:body]["items"]
15
+ unless addresses.nil?
16
+ addresses.
17
+ map { |a| a["name"] }.
18
+ select { |a| a.start_with?(ADDRESS_RESOURCE_PREFIX) }.
19
+ each { |a| client.delete_address(a, DEFAULT_REGION) }
20
+ end
21
+ end
22
+
23
+ attr_reader :client
24
+
25
+ def setup
26
+ @client = Fog::Compute::Google.new
27
+ end
28
+
29
+ def new_address_name
30
+ "#{ADDRESS_RESOURCE_PREFIX}-#{SecureRandom.uuid}"
31
+ end
32
+
33
+ def some_address_name
34
+ # created lazily to speed tests up
35
+ @some_address ||= new_address_name.tap do |a|
36
+ result = @client.insert_address(a, DEFAULT_REGION)
37
+ Fog.wait_for { operation_finished?(result) }
38
+ end
39
+ end
40
+
41
+ def test_insert_address
42
+ result = wait_until_complete { @client.insert_address(new_address_name, DEFAULT_REGION) }
43
+
44
+ assert_equal(200, result.status, "request should be successful")
45
+ assert_equal(nil, result[:body]["error"], "result should contain no errors")
46
+ end
47
+
48
+ def test_get_address
49
+ result = @client.get_address(some_address_name, DEFAULT_REGION)
50
+
51
+ assert_equal(200, result.status, "request should be successful")
52
+ assert_includes(result[:body].keys, "name", "resulting body should contain expected keys")
53
+ end
54
+
55
+ def test_list_address
56
+ # Let's create at least one address so there's something to view
57
+ wait_until_complete { @client.insert_address(new_address_name, DEFAULT_REGION) }
58
+
59
+ result = @client.list_addresses(DEFAULT_REGION)
60
+
61
+ assert_equal(200, result.status, "request should be successful")
62
+ assert_includes(result[:body].keys, "items", "resulting body should contain expected keys")
63
+ assert_operator(result[:body]["items"].size, :>, 0, "address count should be positive")
64
+ end
65
+
66
+ def test_delete_address
67
+ # Create something to delete
68
+ address_to_delete = new_address_name
69
+ wait_until_complete { @client.insert_address(address_to_delete, DEFAULT_REGION) }
70
+
71
+ result = wait_until_complete { @client.delete_address(address_to_delete, DEFAULT_REGION) }
72
+
73
+ assert_equal(200, result.status, "request should be successful")
74
+ assert_equal(nil, result[:body]["error"], "result should contain no errors")
75
+ end
76
+
77
+ def test_list_aggregated_addresses
78
+ result = @client.list_aggregated_addresses
79
+
80
+ assert_equal(200, result.status, "request should be successful")
81
+ assert_includes(result[:body].keys, "items", "resulting body should contain expected keys")
82
+ assert_includes(result[:body]["items"].keys, "global", "resulting body 'items' subset should contain global keyword")
83
+ end
84
+ end
@@ -0,0 +1,74 @@
1
+ require "helpers/integration_test_helper"
2
+ require "securerandom"
3
+
4
+ class TestComputeAddressesCollection < FogIntegrationTest
5
+ DEFAULT_REGION = "us-central1".freeze
6
+ DEFAULT_ZONE = "us-central1-b".freeze
7
+ RESOURCE_PREFIX = "fog-test-addresscol".freeze
8
+
9
+ # Ensure we clean up any created resources
10
+ Minitest.after_run do
11
+ client = Fog::Compute::Google.new
12
+ client.addresses.each { |a| a.destroy if a.name.start_with?(RESOURCE_PREFIX) }
13
+ client.servers.each { |s| s.destroy if s.name.start_with?(RESOURCE_PREFIX) }
14
+ end
15
+
16
+ def test_address_workflow
17
+ client = Fog::Compute::Google.new
18
+
19
+ my_address_name = new_resource_name
20
+ # An address can be created by specifying a name and a region
21
+ my_address = client.addresses.create(
22
+ :name => my_address_name,
23
+ :region => DEFAULT_REGION
24
+ )
25
+ # TODO: Shouldn't this be returning an operation object that we have to explicitly wait for?
26
+ assert_equal(my_address_name, my_address.name, "My address should have the provided name")
27
+ assert_equal("RESERVED", my_address.status, "My address should not be in use")
28
+
29
+ # It should also be visible when listing addresses
30
+ assert_includes(client.addresses.all.map(&:name), my_address_name)
31
+
32
+ # Be aware that although the address resource is created, it might not yet
33
+ # have an ip address. You can poll until the address has been assigned.
34
+ my_address.wait_for { !my_address.address.nil? }
35
+ assert_match(/\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}/,
36
+ my_address.address,
37
+ "My address's address should have a valid ipv4 address")
38
+
39
+ # Now that we have an address, we can create a server using the static ip
40
+ my_server = client.servers.create(
41
+ :name => new_resource_name,
42
+ :machine_type => "f1-micro",
43
+ :zone_name => DEFAULT_ZONE,
44
+ :disks => [
45
+ :boot => true,
46
+ :autoDelete => true,
47
+ :initializeParams => {
48
+ :sourceImage => "projects/debian-cloud/global/images/family/debian-8"
49
+ }
50
+ ],
51
+ :external_ip => my_address.address
52
+ )
53
+ my_server.wait_for { my_server.state != "PROVISIONING" }
54
+
55
+ # And verify that it's correctly assigned
56
+ assert_equal(
57
+ my_address.address,
58
+ my_server.network_interfaces[0]["accessConfigs"][0]["natIP"],
59
+ "My created server should have the same ip as my address"
60
+ )
61
+
62
+ # If we look up the address again by name, we should see that it is now
63
+ # in use
64
+ assert_equal(
65
+ "IN_USE",
66
+ client.addresses.get(my_address_name, DEFAULT_REGION).status,
67
+ "Address should now be in use"
68
+ )
69
+ end
70
+
71
+ def new_resource_name
72
+ "#{RESOURCE_PREFIX}-#{SecureRandom.uuid}"
73
+ end
74
+ end
@@ -34,7 +34,7 @@ def create_test_disk(connection, zone)
34
34
  :name => "fog-test-disk-#{random_string}",
35
35
  :size_gb => "10",
36
36
  :zone => zone,
37
- :source_image => "debian-7-wheezy-v20140408"
37
+ :source_image => "debian-8-jessie-v20161215"
38
38
  })
39
39
  disk.wait_for { ready? }
40
40
  disk
@@ -50,7 +50,7 @@ Shindo.tests("Fog::Compute[:google] | disk requests", ["google"]) do
50
50
  disk_name = "new-disk-test"
51
51
  disk_size = "2"
52
52
  zone_name = "us-central1-a"
53
- image_name = "debian-7-wheezy-v20140408"
53
+ image_name = "debian-8-jessie-v20161215"
54
54
 
55
55
  # These will all fail if errors happen on insert
56
56
  tests("#insert_disk").formats(@insert_disk_format) do
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: 0.5.0
4
+ version: 0.5.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Nat Welch
@@ -11,7 +11,7 @@ authors:
11
11
  autorequire:
12
12
  bindir: bin
13
13
  cert_chain: []
14
- date: 2016-12-24 00:00:00.000000000 Z
14
+ date: 2017-01-12 00:00:00.000000000 Z
15
15
  dependencies:
16
16
  - !ruby/object:Gem::Dependency
17
17
  name: fog-core
@@ -600,10 +600,13 @@ files:
600
600
  - tasks/lint.rake
601
601
  - tasks/smoke.rake
602
602
  - tasks/test.rake
603
+ - test/helpers/client_helper.rb
603
604
  - test/helpers/integration_test_helper.rb
604
605
  - test/helpers/test_collection.rb
605
606
  - test/helpers/test_helper.rb
607
+ - test/integration/compute/requests/test_compute_address_requests.rb
606
608
  - test/integration/compute/test_backend_services.rb
609
+ - test/integration/compute/test_compute_addresses_collection.rb
607
610
  - test/integration/compute/test_disk_types.rb
608
611
  - test/integration/compute/test_disks.rb
609
612
  - test/integration/compute/test_forwarding_rules.rb
@@ -727,10 +730,13 @@ signing_key:
727
730
  specification_version: 4
728
731
  summary: Module for the 'fog' gem to support Google.
729
732
  test_files:
733
+ - test/helpers/client_helper.rb
730
734
  - test/helpers/integration_test_helper.rb
731
735
  - test/helpers/test_collection.rb
732
736
  - test/helpers/test_helper.rb
737
+ - test/integration/compute/requests/test_compute_address_requests.rb
733
738
  - test/integration/compute/test_backend_services.rb
739
+ - test/integration/compute/test_compute_addresses_collection.rb
734
740
  - test/integration/compute/test_disk_types.rb
735
741
  - test/integration/compute/test_disks.rb
736
742
  - test/integration/compute/test_forwarding_rules.rb