fog-google 0.0.5 → 0.0.6
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.gitignore +1 -0
- data/CONTRIBUTING.md +66 -1
- data/CONTRIBUTORS.md +1 -0
- data/README.md +24 -7
- data/Rakefile +14 -5
- data/examples/image_create.rb +1 -1
- data/examples/launch_micro_instance.rb +1 -1
- data/lib/fog/google/compute.rb +6 -2
- data/lib/fog/google/models/compute/addresses.rb +13 -0
- data/lib/fog/google/models/compute/backend_services.rb +3 -4
- data/lib/fog/google/models/compute/global_forwarding_rules.rb +5 -3
- data/lib/fog/google/models/compute/images.rb +8 -2
- data/lib/fog/google/models/compute/resource_views.rb +2 -2
- data/lib/fog/google/models/compute/server.rb +37 -3
- data/lib/fog/google/models/compute/target_http_proxies.rb +5 -2
- data/lib/fog/google/models/compute/target_http_proxy.rb +1 -1
- data/lib/fog/google/models/compute/target_instance.rb +2 -2
- data/lib/fog/google/models/compute/target_instances.rb +21 -8
- data/lib/fog/google/models/compute/url_map.rb +1 -1
- data/lib/fog/google/models/compute/url_maps.rb +5 -2
- data/lib/fog/google/requests/compute/insert_target_instance.rb +1 -1
- data/lib/fog/google/requests/compute/list_aggregated_target_instances.rb +42 -0
- data/lib/fog/google/version.rb +1 -1
- data/test/helpers/integration_test_helper.rb +22 -0
- data/test/helpers/test_collection.rb +37 -0
- data/test/helpers/test_helper.rb +19 -0
- data/test/integration/compute/test_backend_services.rb +11 -0
- data/test/integration/compute/test_disk_types.rb +39 -0
- data/test/integration/compute/test_disks.rb +11 -0
- data/test/integration/compute/test_forwarding_rules.rb +11 -0
- data/test/integration/compute/test_global_forwarding_rules.rb +11 -0
- data/test/integration/compute/test_http_health_checks.rb +11 -0
- data/test/integration/compute/test_images.rb +11 -0
- data/test/integration/compute/test_regions.rb +33 -0
- data/test/integration/compute/test_servers.rb +28 -0
- data/test/integration/compute/test_target_http_proxies.rb +11 -0
- data/test/integration/compute/test_target_instances.rb +11 -0
- data/test/integration/compute/test_target_pools.rb +11 -0
- data/test/integration/compute/test_url_maps.rb +11 -0
- data/test/integration/factories/backend_services_factory.rb +19 -0
- data/test/integration/factories/collection_factory.rb +27 -0
- data/test/integration/factories/disks_factory.rb +13 -0
- data/test/integration/factories/forwarding_rules_factory.rb +21 -0
- data/test/integration/factories/global_forwarding_rules_factory.rb +19 -0
- data/test/integration/factories/http_health_checks_factory.rb +11 -0
- data/test/integration/factories/images_factory.rb +12 -0
- data/test/integration/factories/servers_factory.rb +21 -0
- data/test/integration/factories/target_http_proxies_factory.rb +19 -0
- data/test/integration/factories/target_instances_factory.rb +20 -0
- data/test/integration/factories/target_pools_factory.rb +24 -0
- data/test/integration/factories/url_maps_factory.rb +19 -0
- data/test/integration/test_authentication.rb +59 -0
- data/tests/helpers/collection_helper.rb +2 -0
- data/tests/helpers/model_helper.rb +2 -0
- metadata +61 -31
- data/.ruby-version +0 -1
- data/spec/minitest_helper.rb +0 -15
- data/tests/credentials_tests.rb +0 -73
- data/tests/models/compute/backend_service_tests.rb +0 -7
- data/tests/models/compute/backend_services_tests.rb +0 -8
- data/tests/models/compute/disk_tests.rb +0 -9
- data/tests/models/compute/disk_types_tests.rb +0 -22
- data/tests/models/compute/disks_tests.rb +0 -9
- data/tests/models/compute/forwarding_rule_tests.rb +0 -8
- data/tests/models/compute/forwarding_rules_tests.rb +0 -8
- data/tests/models/compute/global_forwarding_rule_tests.rb +0 -7
- data/tests/models/compute/global_forwarding_rules_tests.rb +0 -7
- data/tests/models/compute/http_health_check_tests.rb +0 -5
- data/tests/models/compute/http_health_checks_tests.rb +0 -5
- data/tests/models/compute/image_tests.rb +0 -6
- data/tests/models/compute/images_tests.rb +0 -6
- data/tests/models/compute/region_tests.rb +0 -10
- data/tests/models/compute/regions_tests.rb +0 -19
- data/tests/models/compute/server_tests.rb +0 -37
- data/tests/models/compute/servers_tests.rb +0 -14
- data/tests/models/compute/target_http_proxies_tests.rb +0 -7
- data/tests/models/compute/target_http_proxy_test.rb +0 -6
- data/tests/models/compute/target_instance_tests.rb +0 -7
- data/tests/models/compute/target_instances_tests.rb +0 -7
- data/tests/models/compute/target_pool_tests.rb +0 -12
- data/tests/models/compute/target_pools_tests.rb +0 -11
- data/tests/models/compute/url_map_tests.rb +0 -6
- data/tests/models/compute/url_maps_tests.rb +0 -7
@@ -7,20 +7,33 @@ module Fog
|
|
7
7
|
class TargetInstances < Fog::Collection
|
8
8
|
model Fog::Compute::Google::TargetInstance
|
9
9
|
|
10
|
-
def all(
|
11
|
-
if zone
|
12
|
-
data = []
|
13
|
-
data = service.list_target_instances.body['items'] || []
|
14
|
-
|
10
|
+
def all(filters={})
|
11
|
+
if filters['zone']
|
12
|
+
data = service.list_target_instances(filters['zone']).body['items'] || []
|
15
13
|
else
|
16
|
-
data =
|
14
|
+
data = []
|
15
|
+
service.list_aggregated_target_instances.body['items'].each_value do |zone|
|
16
|
+
data.concat(zone['targetInstances']) if zone['targetInstances']
|
17
|
+
end
|
17
18
|
end
|
18
19
|
load(data)
|
19
20
|
end
|
20
21
|
|
21
22
|
def get(identity, zone=nil)
|
22
|
-
|
23
|
-
|
23
|
+
response = nil
|
24
|
+
if zone
|
25
|
+
response = service.get_target_instance(identity, zone).body
|
26
|
+
else
|
27
|
+
target_instances = service.list_aggregated_target_instances(:filter => "name eq .*#{identity}").body['items']
|
28
|
+
target_instance = target_instances.each_value.select { |zone| zone.key?('targetInstances') }
|
29
|
+
|
30
|
+
# It can only be 1 target_instance with the same name across all regions
|
31
|
+
response = target_instance.first['targetInstances'].first unless target_instance.empty?
|
32
|
+
end
|
33
|
+
return nil if response.nil?
|
34
|
+
new(response)
|
35
|
+
rescue Fog::Errors::NotFound
|
36
|
+
nil
|
24
37
|
end
|
25
38
|
end
|
26
39
|
end
|
@@ -8,7 +8,7 @@ module Fog
|
|
8
8
|
|
9
9
|
attribute :kind, :aliases => 'kind'
|
10
10
|
attribute :creationTimestamp, :aliases => 'creation_timestamp'
|
11
|
-
attribute :defaultService, :aliases => 'default_service'
|
11
|
+
attribute :defaultService, :aliases => ['default_service', :default_service]
|
12
12
|
attribute :description, :aliases => 'description'
|
13
13
|
attribute :fingerprint, :aliases => 'fingerprint'
|
14
14
|
attribute :hostRules, :aliases => 'host_rules'
|
@@ -13,8 +13,11 @@ module Fog
|
|
13
13
|
end
|
14
14
|
|
15
15
|
def get(identity)
|
16
|
-
|
17
|
-
|
16
|
+
if url_map = service.get_url_map(identity).body
|
17
|
+
new(url_map)
|
18
|
+
end
|
19
|
+
rescue Fog::Errors::NotFound
|
20
|
+
nil
|
18
21
|
end
|
19
22
|
end
|
20
23
|
end
|
@@ -0,0 +1,42 @@
|
|
1
|
+
module Fog
|
2
|
+
module Compute
|
3
|
+
class Google
|
4
|
+
# XXX @ihmccreery added this mock to get the Shindo tests to pass. I don't really understand how mocks are supposed to work; I'm in the process of moving
|
5
|
+
# all testing over to Minitest, but in the meantime, the Shindo tests need to pass. This Mock should be considered with a *lot* of skepticism.
|
6
|
+
class Mock
|
7
|
+
def list_aggregated_target_instances(options = {})
|
8
|
+
# Create a Hash of unique zones from the target_instances Array previously filled when target_instances are created
|
9
|
+
zones = Hash[self.data[:target_instances].values.map { |target_instance| ["zones/#{target_instance['zone'].split('/')[-1]}", {'targetInstances' => [] }] }]
|
10
|
+
if options[:filter]
|
11
|
+
# Look up for the target_instance name
|
12
|
+
target_instance = self.data[:target_instances][options[:filter].gsub(/name eq \.\*/, '')]
|
13
|
+
# Fill the zones Hash with the target_instance (if it's found)
|
14
|
+
zones["zones/#{target_instance['zone'].split('/')[-1]}"]['targetInstances'].concat([target_instance]) if target_instance
|
15
|
+
else
|
16
|
+
# Fill the zones Hash with the target_instances attached to each zone
|
17
|
+
self.data[:target_instances].values.each { |target_instance| zones["zones/#{target_instance['zone'].split('/')[-1]}"]['targetInstances'].concat([target_instance]) }
|
18
|
+
end
|
19
|
+
build_excon_response({
|
20
|
+
"kind" => "compute#targetInstanceAggregatedList",
|
21
|
+
"selfLink" => "https://www.googleapis.com/compute/#{api_version}/projects/#{@project}/aggregated/targetInstances",
|
22
|
+
"id" => "projects/#{@project}/aggregated/targetInstances",
|
23
|
+
"items" => zones
|
24
|
+
|
25
|
+
})
|
26
|
+
end
|
27
|
+
end
|
28
|
+
|
29
|
+
class Real
|
30
|
+
def list_aggregated_target_instances(options = {})
|
31
|
+
api_method = @compute.target_instances.aggregated_list
|
32
|
+
parameters = {
|
33
|
+
'project' => @project,
|
34
|
+
}
|
35
|
+
parameters['filter'] = options[:filter] if options[:filter]
|
36
|
+
|
37
|
+
request(api_method, parameters)
|
38
|
+
end
|
39
|
+
end
|
40
|
+
end
|
41
|
+
end
|
42
|
+
end
|
data/lib/fog/google/version.rb
CHANGED
@@ -0,0 +1,22 @@
|
|
1
|
+
require 'helpers/test_helper'
|
2
|
+
require 'helpers/test_collection'
|
3
|
+
|
4
|
+
# Use :test credentials in ~/.fog for live integration testing
|
5
|
+
# XXX not sure if this will work on Travis CI or not
|
6
|
+
Fog.credential = :test
|
7
|
+
|
8
|
+
# Helpers
|
9
|
+
|
10
|
+
TEST_ZONE = "us-central1-f"
|
11
|
+
TEST_REGION = "us-central1"
|
12
|
+
TEST_SIZE_GB = 10
|
13
|
+
TEST_MACHINE_TYPE = "n1-standard-1"
|
14
|
+
# XXX This depends on a public image in gs://fog-test-bucket; there may be a better way to do this
|
15
|
+
# The image was created like so: https://cloud.google.com/compute/docs/images#export_an_image_to_google_cloud_storage
|
16
|
+
TEST_RAW_DISK_SOURCE = "http://storage.googleapis.com/fog-test-bucket/fog-test-raw-disk-source.image.tar.gz"
|
17
|
+
|
18
|
+
class FogIntegrationTest < MiniTest::Test
|
19
|
+
def namespaced_name
|
20
|
+
"#{self.class.to_s}_#{name}"
|
21
|
+
end
|
22
|
+
end
|
@@ -0,0 +1,37 @@
|
|
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
|
+
one.destroy
|
20
|
+
two.destroy
|
21
|
+
|
22
|
+
Fog.wait_for { !@subject.all.map(&:identity).include? one.identity }
|
23
|
+
Fog.wait_for { !@subject.all.map(&:identity).include? two.identity }
|
24
|
+
end
|
25
|
+
|
26
|
+
def test_get_returns_nil_if_resource_does_not_exist
|
27
|
+
assert_nil @subject.get('fog-test-fake-identity')
|
28
|
+
end
|
29
|
+
|
30
|
+
def test_enumerable
|
31
|
+
assert_respond_to @subject, :each
|
32
|
+
end
|
33
|
+
|
34
|
+
def teardown
|
35
|
+
@factory.cleanup
|
36
|
+
end
|
37
|
+
end
|
@@ -0,0 +1,19 @@
|
|
1
|
+
# The next line was added to squelch a warning message in Ruby 1.9.
|
2
|
+
# It ensures we're using the gem, not the built-in Minitest
|
3
|
+
# See https://github.com/seattlerb/minitest/#install
|
4
|
+
gem 'minitest'
|
5
|
+
|
6
|
+
require 'minitest/autorun'
|
7
|
+
|
8
|
+
if ENV['COVERAGE']
|
9
|
+
require 'coveralls'
|
10
|
+
require 'simplecov'
|
11
|
+
|
12
|
+
SimpleCov.start do
|
13
|
+
add_filter '/test/'
|
14
|
+
end
|
15
|
+
end
|
16
|
+
|
17
|
+
require File.join(File.dirname(__FILE__), '../../lib/fog/google.rb')
|
18
|
+
|
19
|
+
Coveralls.wear! if ENV['COVERAGE']
|
@@ -0,0 +1,11 @@
|
|
1
|
+
require "helpers/integration_test_helper"
|
2
|
+
require "integration/factories/backend_services_factory"
|
3
|
+
|
4
|
+
class TestBackendServices < FogIntegrationTest
|
5
|
+
include TestCollection
|
6
|
+
|
7
|
+
def setup
|
8
|
+
@subject = Fog::Compute[:google].backend_services
|
9
|
+
@factory = BackendServicesFactory.new(namespaced_name)
|
10
|
+
end
|
11
|
+
end
|
@@ -0,0 +1,39 @@
|
|
1
|
+
require "helpers/integration_test_helper"
|
2
|
+
|
3
|
+
class TestDiskTypes < FogIntegrationTest
|
4
|
+
NAMES = %w(local-ssd pd-ssd pd-standard)
|
5
|
+
ZONES = %w(https://www.googleapis.com/compute/v1/projects/graphite-fog/zones/us-central1-a
|
6
|
+
https://www.googleapis.com/compute/v1/projects/graphite-fog/zones/us-central1-b
|
7
|
+
https://www.googleapis.com/compute/v1/projects/graphite-fog/zones/us-central1-c
|
8
|
+
https://www.googleapis.com/compute/v1/projects/graphite-fog/zones/us-central1-f
|
9
|
+
https://www.googleapis.com/compute/v1/projects/graphite-fog/zones/europe-west1-b
|
10
|
+
https://www.googleapis.com/compute/v1/projects/graphite-fog/zones/europe-west1-c
|
11
|
+
https://www.googleapis.com/compute/v1/projects/graphite-fog/zones/europe-west1-d
|
12
|
+
https://www.googleapis.com/compute/v1/projects/graphite-fog/zones/asia-east1-a
|
13
|
+
https://www.googleapis.com/compute/v1/projects/graphite-fog/zones/asia-east1-b
|
14
|
+
https://www.googleapis.com/compute/v1/projects/graphite-fog/zones/asia-east1-c)
|
15
|
+
|
16
|
+
def setup
|
17
|
+
@subject = Fog::Compute[:google].disk_types
|
18
|
+
end
|
19
|
+
|
20
|
+
def test_all
|
21
|
+
assert_equal (NAMES.size * ZONES.size), @subject.all.size
|
22
|
+
end
|
23
|
+
|
24
|
+
def test_get
|
25
|
+
NAMES.each do |name|
|
26
|
+
ZONES.each do |zone|
|
27
|
+
refute_nil @subject.get(name, zone)
|
28
|
+
end
|
29
|
+
end
|
30
|
+
end
|
31
|
+
|
32
|
+
def test_bad_get
|
33
|
+
assert_nil @subject.get("bad-name")
|
34
|
+
end
|
35
|
+
|
36
|
+
def test_enumerable
|
37
|
+
assert_respond_to @subject, :each
|
38
|
+
end
|
39
|
+
end
|
@@ -0,0 +1,11 @@
|
|
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
|
+
end
|
@@ -0,0 +1,11 @@
|
|
1
|
+
require "helpers/integration_test_helper"
|
2
|
+
require "integration/factories/forwarding_rules_factory"
|
3
|
+
|
4
|
+
class TestForwardingRules < FogIntegrationTest
|
5
|
+
include TestCollection
|
6
|
+
|
7
|
+
def setup
|
8
|
+
@subject = Fog::Compute[:google].forwarding_rules
|
9
|
+
@factory = ForwardingRulesFactory.new(namespaced_name)
|
10
|
+
end
|
11
|
+
end
|
@@ -0,0 +1,11 @@
|
|
1
|
+
require "helpers/integration_test_helper"
|
2
|
+
require "integration/factories/global_forwarding_rules_factory"
|
3
|
+
|
4
|
+
class TestGlobalForwardingRules < FogIntegrationTest
|
5
|
+
include TestCollection
|
6
|
+
|
7
|
+
def setup
|
8
|
+
@subject = Fog::Compute[:google].global_forwarding_rules
|
9
|
+
@factory = GlobalForwardingRulesFactory.new(namespaced_name)
|
10
|
+
end
|
11
|
+
end
|
@@ -0,0 +1,11 @@
|
|
1
|
+
require "helpers/integration_test_helper"
|
2
|
+
require "integration/factories/http_health_checks_factory"
|
3
|
+
|
4
|
+
class TestHttpHealthChecks < FogIntegrationTest
|
5
|
+
include TestCollection
|
6
|
+
|
7
|
+
def setup
|
8
|
+
@subject = Fog::Compute[:google].http_health_checks
|
9
|
+
@factory = HttpHealthChecksFactory.new(namespaced_name)
|
10
|
+
end
|
11
|
+
end
|
@@ -0,0 +1,11 @@
|
|
1
|
+
require "helpers/integration_test_helper"
|
2
|
+
require "integration/factories/images_factory"
|
3
|
+
|
4
|
+
class TestImages < FogIntegrationTest
|
5
|
+
include TestCollection
|
6
|
+
|
7
|
+
def setup
|
8
|
+
@subject = Fog::Compute[:google].images
|
9
|
+
@factory = ImagesFactory.new(namespaced_name)
|
10
|
+
end
|
11
|
+
end
|
@@ -0,0 +1,33 @@
|
|
1
|
+
require "helpers/integration_test_helper"
|
2
|
+
|
3
|
+
class TestRegions < FogIntegrationTest
|
4
|
+
NAMES = %w(asia-east1 europe-west1 us-central1)
|
5
|
+
|
6
|
+
def setup
|
7
|
+
@subject = Fog::Compute[:google].regions
|
8
|
+
end
|
9
|
+
|
10
|
+
def test_all
|
11
|
+
assert_equal NAMES.size, @subject.all.size
|
12
|
+
end
|
13
|
+
|
14
|
+
def test_get
|
15
|
+
NAMES.each do |name|
|
16
|
+
refute_nil @subject.get(name)
|
17
|
+
end
|
18
|
+
end
|
19
|
+
|
20
|
+
def test_up
|
21
|
+
NAMES.each do |name|
|
22
|
+
assert @subject.get(name).up?
|
23
|
+
end
|
24
|
+
end
|
25
|
+
|
26
|
+
def test_bad_get
|
27
|
+
assert_nil @subject.get("bad-name")
|
28
|
+
end
|
29
|
+
|
30
|
+
def test_enumerable
|
31
|
+
assert_respond_to @subject, :each
|
32
|
+
end
|
33
|
+
end
|
@@ -0,0 +1,28 @@
|
|
1
|
+
require "helpers/integration_test_helper"
|
2
|
+
require "integration/factories/servers_factory"
|
3
|
+
|
4
|
+
class TestServers < FogIntegrationTest
|
5
|
+
include TestCollection
|
6
|
+
|
7
|
+
def setup
|
8
|
+
@subject = Fog::Compute[:google].servers
|
9
|
+
@factory = ServersFactory.new(namespaced_name)
|
10
|
+
end
|
11
|
+
|
12
|
+
def test_bootstrap_ssh_destroy
|
13
|
+
resource_name = @factory.resource_name
|
14
|
+
instance = @subject.bootstrap({:name => resource_name})
|
15
|
+
assert instance.ready?
|
16
|
+
instance.wait_for { sshable? }
|
17
|
+
assert_match /Linux/, instance.ssh("uname").first.stdout
|
18
|
+
assert_equal instance.destroy.operation_type, "delete"
|
19
|
+
Fog.wait_for { !@subject.all.map(&:identity).include? instance.identity }
|
20
|
+
# XXX clean up after bootstrap's automatic creation of disks
|
21
|
+
# This should be removed when
|
22
|
+
# https://github.com/fog/fog-google/issues/17
|
23
|
+
# is solved
|
24
|
+
disk = Fog::Compute[:google].disks.get(resource_name)
|
25
|
+
disk.destroy
|
26
|
+
Fog.wait_for { !Fog::Compute[:google].disks.all.map(&:identity).include? disk.identity }
|
27
|
+
end
|
28
|
+
end
|
@@ -0,0 +1,11 @@
|
|
1
|
+
require "helpers/integration_test_helper"
|
2
|
+
require "integration/factories/target_http_proxies_factory"
|
3
|
+
|
4
|
+
class TestTargetHttpProxies < FogIntegrationTest
|
5
|
+
include TestCollection
|
6
|
+
|
7
|
+
def setup
|
8
|
+
@subject = Fog::Compute[:google].target_http_proxies
|
9
|
+
@factory = TargetHttpProxiesFactory.new(namespaced_name)
|
10
|
+
end
|
11
|
+
end
|
@@ -0,0 +1,11 @@
|
|
1
|
+
require "helpers/integration_test_helper"
|
2
|
+
require "integration/factories/target_instances_factory"
|
3
|
+
|
4
|
+
class TestTargetInstances < FogIntegrationTest
|
5
|
+
include TestCollection
|
6
|
+
|
7
|
+
def setup
|
8
|
+
@subject = Fog::Compute[:google].target_instances
|
9
|
+
@factory = TargetInstancesFactory.new(namespaced_name)
|
10
|
+
end
|
11
|
+
end
|
@@ -0,0 +1,11 @@
|
|
1
|
+
require "helpers/integration_test_helper"
|
2
|
+
require "integration/factories/target_pools_factory"
|
3
|
+
|
4
|
+
class TestTargetPools < FogIntegrationTest
|
5
|
+
include TestCollection
|
6
|
+
|
7
|
+
def setup
|
8
|
+
@subject = Fog::Compute[:google].target_pools
|
9
|
+
@factory = TargetPoolsFactory.new(namespaced_name)
|
10
|
+
end
|
11
|
+
end
|
@@ -0,0 +1,11 @@
|
|
1
|
+
require "helpers/integration_test_helper"
|
2
|
+
require "integration/factories/url_maps_factory"
|
3
|
+
|
4
|
+
class TestUrlMaps < FogIntegrationTest
|
5
|
+
include TestCollection
|
6
|
+
|
7
|
+
def setup
|
8
|
+
@subject = Fog::Compute[:google].url_maps
|
9
|
+
@factory = UrlMapsFactory.new(namespaced_name)
|
10
|
+
end
|
11
|
+
end
|