2010-05-28 05:17:59 +08:00
|
|
|
require File.join(File.dirname(__FILE__),'..','..','..','spec_helper')
|
|
|
|
|
2010-06-18 07:58:09 +08:00
|
|
|
if Fog.mocking?
|
|
|
|
describe "Fog::Vcloud::Terremark::Ecloud::PublicIp", :type => :mock_tmrk_ecloud_model do
|
|
|
|
before do
|
|
|
|
@mock_ip = @mock_vdc[:public_ips].first
|
|
|
|
end
|
2010-05-28 05:17:59 +08:00
|
|
|
|
2010-06-18 07:58:09 +08:00
|
|
|
subject { @vcloud }
|
2010-05-28 05:17:59 +08:00
|
|
|
|
2010-06-18 07:58:09 +08:00
|
|
|
describe :class do
|
|
|
|
subject { Fog::Vcloud::Terremark::Ecloud::PublicIp }
|
2010-05-28 05:17:59 +08:00
|
|
|
|
2010-06-18 07:58:09 +08:00
|
|
|
it { should have_identity :href }
|
|
|
|
it { should have_only_these_attributes [:name, :id, :href] }
|
|
|
|
end
|
2010-05-28 05:17:59 +08:00
|
|
|
|
2010-06-18 07:58:09 +08:00
|
|
|
context "with no uri" do
|
2010-05-28 05:17:59 +08:00
|
|
|
|
2010-06-18 07:58:09 +08:00
|
|
|
subject { Fog::Vcloud::Terremark::Ecloud::PublicIp.new() }
|
2010-05-28 05:17:59 +08:00
|
|
|
|
2010-06-18 07:58:09 +08:00
|
|
|
it { should have_all_attributes_be_nil }
|
|
|
|
end
|
|
|
|
|
|
|
|
context "as a collection member" do
|
|
|
|
subject { @vcloud.vdcs[0].public_ips[0].reload; @vcloud.vdcs[0].public_ips[0] }
|
2010-05-28 05:17:59 +08:00
|
|
|
|
2010-06-18 07:58:09 +08:00
|
|
|
it { should be_an_instance_of Fog::Vcloud::Terremark::Ecloud::PublicIp }
|
2010-05-28 05:17:59 +08:00
|
|
|
|
2010-06-18 07:58:09 +08:00
|
|
|
its(:href) { should == @mock_ip[:href] }
|
|
|
|
its(:identity) { should == @mock_ip[:href] }
|
|
|
|
its(:name) { should == @mock_ip[:name] }
|
|
|
|
its(:id) { should == @mock_ip[:id] }
|
2010-05-28 05:17:59 +08:00
|
|
|
|
2010-06-18 07:58:09 +08:00
|
|
|
its(:internet_services) { should have(2).services }
|
2010-05-28 09:27:12 +08:00
|
|
|
|
2010-06-18 07:58:09 +08:00
|
|
|
end
|
2010-05-28 05:17:59 +08:00
|
|
|
end
|
2010-06-18 07:58:09 +08:00
|
|
|
else
|
2010-05-28 05:17:59 +08:00
|
|
|
end
|