2011-01-10 14:12:48 +08:00
|
|
|
require 'spec_helper'
|
2009-09-20 09:21:21 -07:00
|
|
|
|
2010-09-09 17:50:38 -07:00
|
|
|
describe 'Fog::AWS::Compute::Address' do
|
2009-09-20 09:21:21 -07:00
|
|
|
|
|
|
|
describe "#initialize" do
|
|
|
|
|
|
|
|
it "should remap attributes from parser" do
|
2010-09-09 17:50:38 -07:00
|
|
|
address = AWS[:compute].addresses.new(
|
2009-09-20 09:21:21 -07:00
|
|
|
'instanceId' => 'i-00000000',
|
|
|
|
'publicIp' => '0.0.0.0'
|
|
|
|
)
|
2010-01-08 11:29:07 -08:00
|
|
|
address.server_id.should == 'i-00000000'
|
2009-09-20 09:21:21 -07:00
|
|
|
address.public_ip.should == '0.0.0.0'
|
|
|
|
end
|
|
|
|
|
|
|
|
end
|
|
|
|
|
|
|
|
describe "#addresses" do
|
|
|
|
|
2010-09-09 17:50:38 -07:00
|
|
|
it "should return a Fog::AWS::Compute::Addresses" do
|
|
|
|
AWS[:compute].addresses.new.collection.should be_a(Fog::AWS::Compute::Addresses)
|
2009-09-20 09:21:21 -07:00
|
|
|
end
|
|
|
|
|
|
|
|
it "should be the addresses the address is related to" do
|
2010-09-09 17:50:38 -07:00
|
|
|
addresses = AWS[:compute].addresses
|
2009-10-23 22:23:55 -07:00
|
|
|
addresses.new.collection.should == addresses
|
2009-09-20 09:21:21 -07:00
|
|
|
end
|
|
|
|
|
|
|
|
end
|
|
|
|
|
|
|
|
describe "#destroy" do
|
|
|
|
|
|
|
|
it "should return true if the address is deleted" do
|
2010-09-09 17:50:38 -07:00
|
|
|
address = AWS[:compute].addresses.create
|
2009-09-20 09:21:21 -07:00
|
|
|
address.destroy.should be_true
|
|
|
|
end
|
|
|
|
|
|
|
|
end
|
|
|
|
|
2010-01-08 11:29:07 -08:00
|
|
|
describe "#server=" do
|
2009-10-22 09:42:02 -07:00
|
|
|
before(:each) do
|
2010-09-09 17:50:38 -07:00
|
|
|
@address = AWS[:compute].addresses.new
|
|
|
|
@server = AWS[:compute].servers.create(:image_id => GENTOO_AMI)
|
2009-10-22 09:42:02 -07:00
|
|
|
end
|
|
|
|
|
|
|
|
after(:each) do
|
2010-04-28 17:41:25 -07:00
|
|
|
@address.destroy
|
2010-01-08 11:29:07 -08:00
|
|
|
@server.destroy
|
2009-10-22 09:42:02 -07:00
|
|
|
end
|
|
|
|
|
2010-01-08 11:29:07 -08:00
|
|
|
it "should associate with server to an already saved address" do
|
2009-10-22 09:42:02 -07:00
|
|
|
@address.save.should be_true
|
2010-01-08 11:29:07 -08:00
|
|
|
@server.wait_for { state == 'running' }
|
|
|
|
@address.server = @server
|
|
|
|
@address.server_id.should == @server.id
|
2009-10-22 09:42:02 -07:00
|
|
|
end
|
|
|
|
end
|
|
|
|
|
2009-09-20 09:21:21 -07:00
|
|
|
describe "#reload" do
|
|
|
|
|
|
|
|
before(:each) do
|
2010-09-09 17:50:38 -07:00
|
|
|
@address = AWS[:compute].addresses.create
|
2009-09-20 09:21:21 -07:00
|
|
|
@reloaded = @address.reload
|
|
|
|
end
|
|
|
|
|
|
|
|
after(:each) do
|
|
|
|
@address.destroy
|
|
|
|
end
|
|
|
|
|
2010-09-09 17:50:38 -07:00
|
|
|
it "should return a Fog::AWS::Compute::Address" do
|
|
|
|
@reloaded.should be_a(Fog::AWS::Compute::Address)
|
2009-09-20 09:21:21 -07:00
|
|
|
end
|
|
|
|
|
|
|
|
it "should reset attributes to remote state" do
|
|
|
|
@address.attributes.should == @reloaded.attributes
|
|
|
|
end
|
|
|
|
|
|
|
|
end
|
|
|
|
|
|
|
|
describe "#save" do
|
|
|
|
|
|
|
|
before(:each) do
|
2010-09-09 17:50:38 -07:00
|
|
|
@address = AWS[:compute].addresses.new
|
2009-09-20 09:21:21 -07:00
|
|
|
end
|
|
|
|
|
|
|
|
it "should return true when it succeeds" do
|
|
|
|
@address.save.should be_true
|
|
|
|
@address.destroy
|
|
|
|
end
|
|
|
|
|
|
|
|
it "should not exist in addresses before save" do
|
2009-10-23 22:23:55 -07:00
|
|
|
@address.collection.get(@address.public_ip).should be_nil
|
2009-09-20 09:21:21 -07:00
|
|
|
end
|
|
|
|
|
|
|
|
it "should exist in buckets after save" do
|
|
|
|
@address.save
|
2009-10-23 22:23:55 -07:00
|
|
|
@address.collection.get(@address.public_ip).should_not be_nil
|
2009-09-20 09:21:21 -07:00
|
|
|
@address.destroy
|
|
|
|
end
|
|
|
|
|
|
|
|
end
|
|
|
|
|
|
|
|
end
|