address mocks

This commit is contained in:
Wesley Beary 2009-11-10 11:27:35 -08:00
parent 2fd5f771ff
commit becc9eb766
8 changed files with 62 additions and 7 deletions

View File

@ -34,6 +34,7 @@ else
response.status = 409
raise(Excon::Errors.status_error(202, 409, response))
else
Fog::Rackspace::Servers.data[:last_modified].delete(server_id)
Fog::Rackspace::Servers.data[:servers].delete(server_id)
response.status = 202
end

View File

@ -34,6 +34,15 @@ else
class Servers
def list_addresses(server_id)
response = Fog::Response.new
if server = list_servers_detail.body['servers'].detect { |server| server['id'] == server_id }
response.status = [200, 203][rand(1)]
response.body = { 'addresses' => server['addresses'] }
else
response.status = 404
raise(Excon::Errors.status_error(202, 404, response))
end
response
end
end

View File

@ -13,7 +13,7 @@ unless Fog.mocking?
# * response<~Excon::Response>:
# * body<~Hash>:
# * 'private'<~Array> - Public ip addresses
def list_private_addresses
def list_private_addresses(server_id)
request(
:expects => [200, 203],
:method => 'GET',
@ -31,7 +31,16 @@ else
module Rackspace
class Servers
def list_private_addresses
def list_private_addresses(server_id)
response = Fog::Response.new
if server = list_servers_detail.body['servers'].detect { |server| server['id'] == server_id }
response.status = [200, 203][rand(1)]
response.body = { 'private' => server['addresses']['private'] }
else
response.status = 404
raise(Excon::Errors.status_error(202, 404, response))
end
response
end
end

View File

@ -13,7 +13,7 @@ unless Fog.mocking?
# * response<~Excon::Response>:
# * body<~Hash>:
# * 'public'<~Array> - Public ip addresses
def list_public_addresses
def list_public_addresses(server_id)
request(
:expects => [200, 203],
:method => 'GET',
@ -31,7 +31,16 @@ else
module Rackspace
class Servers
def list_public_addresses
def list_public_addresses(server_id)
response = Fog::Response.new
if server = list_servers_detail.body['servers'].detect { |server| server['id'] == server_id }
response.status = [200, 203][rand(1)]
response.body = { 'public' => server['addresses']['public'] }
else
response.status = 404
raise(Excon::Errors.status_error(202, 404, response))
end
response
end
end

View File

@ -22,4 +22,13 @@ describe 'Rackspace::Servers.list_addresses' do
end
end
describe 'failure' do
it "should raise a NotFound error if the server does not exist" do
lambda {
servers.list_addresses(0)
}.should raise_error(Excon::Errors::NotFound)
end
end
end

View File

@ -15,9 +15,18 @@ describe 'Rackspace::Servers.list_private_addresses' do
end
it "should return proper attributes" do
actual = servers.list_private_addresses(@server_id)
actual = servers.list_private_addresses(@server_id).body
actual['private'].should be_an(Array)
end
end
describe 'failure' do
it "should raise a NotFound error if the server does not exist" do
lambda {
servers.list_private_addresses(0)
}.should raise_error(Excon::Errors::NotFound)
end
end
end

View File

@ -15,9 +15,18 @@ describe 'Rackspace::Servers.list_public_addresses' do
end
it "should return proper attributes" do
actual = servers.list_public_addresses(@server_id)
actual = servers.list_public_addresses(@server_id).body
actual['public'].should be_an(Array)
end
end
describe 'failure' do
it "should raise a NotFound error if the server does not exist" do
lambda {
servers.list_public_addresses(0)
}.should raise_error(Excon::Errors::NotFound)
end
end
end

View File

@ -3,7 +3,7 @@ require 'open-uri'
current_directory = File.dirname(__FILE__)
require "#{current_directory}/../lib/fog"
# Fog.mock!
Fog.mock!
def credentials
@credentials ||= begin