2011-02-17 13:44:46 -05:00
|
|
|
require 'ecloud/spec_helper'
|
2010-05-27 17:17:59 -04:00
|
|
|
|
2010-06-17 19:58:09 -04:00
|
|
|
if Fog.mocking?
|
2011-02-17 13:44:46 -05:00
|
|
|
describe "Fog::Ecloud::Compute::PublicIp", :type => :mock_tmrk_ecloud_model do
|
2010-06-17 19:58:09 -04:00
|
|
|
subject { @vcloud }
|
2010-05-27 17:17:59 -04:00
|
|
|
|
2010-06-17 19:58:09 -04:00
|
|
|
describe :class do
|
2011-02-17 13:44:46 -05:00
|
|
|
subject { Fog::Ecloud::Compute::PublicIp }
|
2010-05-27 17:17:59 -04:00
|
|
|
|
2011-02-15 16:47:14 -05:00
|
|
|
it { should have_identity(:href) }
|
|
|
|
it { should have_only_these_attributes([:name, :id, :href]) }
|
2010-06-17 19:58:09 -04:00
|
|
|
end
|
2010-05-27 17:17:59 -04:00
|
|
|
|
2010-06-17 19:58:09 -04:00
|
|
|
context "with no uri" do
|
2010-05-27 17:17:59 -04:00
|
|
|
|
2011-02-17 13:44:46 -05:00
|
|
|
subject { Fog::Ecloud::Compute::PublicIp.new() }
|
2010-05-27 17:17:59 -04:00
|
|
|
|
2010-06-17 19:58:09 -04: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-27 17:17:59 -04:00
|
|
|
|
2011-02-17 13:44:46 -05:00
|
|
|
it { should be_an_instance_of(Fog::Ecloud::Compute::PublicIp) }
|
2010-05-27 17:17:59 -04:00
|
|
|
|
2010-10-17 19:06:44 -04:00
|
|
|
its(:href) { should == @mock_public_ip.href }
|
|
|
|
its(:identity) { should == @mock_public_ip.href }
|
|
|
|
its(:name) { should == @mock_public_ip.name }
|
|
|
|
its(:id) { should == @mock_public_ip.object_id.to_s }
|
2010-05-27 17:17:59 -04:00
|
|
|
|
2010-06-17 19:58:09 -04:00
|
|
|
its(:internet_services) { should have(2).services }
|
2010-05-27 21:27:12 -04:00
|
|
|
|
2010-06-17 19:58:09 -04:00
|
|
|
end
|
2010-05-27 17:17:59 -04:00
|
|
|
end
|
2010-06-17 19:58:09 -04:00
|
|
|
else
|
2010-05-27 17:17:59 -04:00
|
|
|
end
|