1
0
Fork 0
mirror of https://github.com/fog/fog.git synced 2022-11-09 13:51:43 -05:00

Merge pull request #3170 from icco/gce_region_code

Fix broken build
This commit is contained in:
Wesley Beary 2014-09-17 13:36:32 -05:00
commit 3c3454e2dd
5 changed files with 35 additions and 31 deletions

View file

@ -22,15 +22,14 @@ module Fog
def get(identity, region=nil)
response = nil
if region.nil?
service.list_regions.body['items'].each do |region|
service.regions.all.each do |region|
begin
response = service.get_target_pool(identity, region['name'])
response = service.get_target_pool(identity, region.name)
break if response.status == 200
rescue Fog::Errors::Error
end
end
else
region = region['name'] if region['name']
response = service.get_target_pool(identity, region)
end
return nil if response.nil?

View file

@ -3,12 +3,21 @@ module Fog
class Google
class Mock
def get_region(identity)
identity = identity.split('/')[-1]
regions = Fog::Compute[:google].list_regions
region = regions.body['items'].select { |region| region['name'] == identity }
raise Fog::Errors::NotFound if region.nil? || region.empty?
build_excon_response(region.first)
rname = identity.split('/')[-1]
region = self.data[:regions][rname] || {
"error" => {
"errors" => [
{
"domain" => "global",
"reason" => "notFound",
"message" => "The resource 'projects/#{project}/regions/#{rname}' was not found"
}
],
"code" => 404,
"message" => "The resource 'projects/#{project}/regions/#{rname}' was not found"
}
}
build_excon_response(region)
end
end

View file

@ -3,24 +3,18 @@ module Fog
class Google
class Mock
def get_target_pool(name, region_name)
region_name = get_region(region_name).body['name']
region = data(project)[:regions][region_name]
target_pool = data(project)[:target_pools][name]
if target_pool.nil? or target_pool['region'] != region['selfLink']
return build_excon_response ({
"error" => {
"errors" => [
{
"domain" => "global",
"reason" => "notFound",
"message" => "The resource 'projects/#{project}/regions/#{region_name}/targetPools/#{name}' was not found"
}
],
"code" => 404,
region = get_region(region_name)
target_pool = self.data[:target_pools][name] || {
"error" => {
"errors" => [{
"domain" => "global",
"reason" => "notFound",
"message" => "The resource 'projects/#{project}/regions/#{region_name}/targetPools/#{name}' was not found"
}
})
end
}],
"code" => 404,
"message" => "The resource 'projects/#{project}/regions/#{region_name}/targetPools/#{name}' was not found"
}
}
build_excon_response(target_pool)
end
end

View file

@ -140,9 +140,9 @@ Shindo.tests('Fog::DNS[:aws] | DNS requests', ['aws', 'dns']) do
:type => 'A',
:ttl => 3600,
:resource_records => ['8.8.4.4'],
health_check_id: @health_check_id,
set_identifier: SecureRandom.hex(8),
weight: 50
:health_check_id => @health_check_id,
:set_identifier => SecureRandom.hex(8),
:weight => 50
}
resource_record_set = [@resource_record.merge(:action => 'CREATE')]
record_response = @r53_connection.change_resource_record_sets @zone_id, resource_record_set

View file

@ -4,6 +4,8 @@ Shindo.tests("Fog::Compute[:google] | target pools model", ['google']) do
region = 'us-central1'
instance = create_test_server(Fog::Compute[:google], 'us-central1-a')
health_check = create_test_http_health_check(Fog::Compute[:google])
collection_tests(Fog::Compute[:google].target_pools, {:name => "fog-test-target-pool-#{random_string}", :region => region, :instances => [instance.self_link], :healthChecks => [health_check.self_link]})
collection_tests(
Fog::Compute[:google].target_pools,
{:name => "fog-test-target-pool-#{random_string}", :region => region, :instances => [instance.self_link], :healthChecks => [health_check.self_link]}
)
end