2011-02-17 10:44:46 -08:00
|
|
|
require 'ecloud/spec_helper'
|
2010-06-10 07:20:14 +08:00
|
|
|
|
2010-06-18 07:58:09 +08:00
|
|
|
if Fog.mocking?
|
2011-06-20 15:00:48 -07:00
|
|
|
describe "Fog::Compute::Ecloud::Ip", :type => :mock_tmrk_ecloud_model do
|
2010-06-18 07:58:09 +08:00
|
|
|
subject { @vcloud }
|
2010-06-10 07:20:14 +08:00
|
|
|
|
2010-06-18 07:58:09 +08:00
|
|
|
describe :class do
|
2011-06-20 15:00:48 -07:00
|
|
|
subject { Fog::Compute::Ecloud::Ip }
|
2010-06-10 07:20:14 +08:00
|
|
|
|
2011-02-15 13:47:14 -08:00
|
|
|
it { should have_identity(:href) }
|
|
|
|
it { should have_only_these_attributes([:href, :name, :status, :server, :rnat, :id]) }
|
2010-06-18 07:58:09 +08:00
|
|
|
end
|
2010-06-10 07:20:14 +08:00
|
|
|
|
2010-06-18 07:58:09 +08:00
|
|
|
context "with no uri" do
|
2011-06-20 15:00:48 -07:00
|
|
|
subject { Fog::Compute::Ecloud::Ip.new() }
|
2010-06-10 07:20:14 +08:00
|
|
|
|
2010-10-18 07:06:44 +08:00
|
|
|
it { should have_all_attributes_be_nil }
|
2010-06-18 07:58:09 +08:00
|
|
|
end
|
2010-06-10 07:20:14 +08:00
|
|
|
|
2010-06-18 07:58:09 +08:00
|
|
|
context "as a collection member" do
|
2010-10-18 07:06:44 +08:00
|
|
|
subject { @ip = @vcloud.vdcs[0].networks[0].ips[0] }
|
2010-06-10 07:20:14 +08:00
|
|
|
|
2011-06-20 15:00:48 -07:00
|
|
|
it { should be_an_instance_of(Fog::Compute::Ecloud::Ip) }
|
2010-06-10 07:20:14 +08:00
|
|
|
|
2010-10-18 07:06:44 +08:00
|
|
|
its(:name) { should == @mock_data.network_ip_from_href(@ip.href).name }
|
|
|
|
its(:status) { should == @mock_data.network_ip_from_href(@ip.href).status }
|
|
|
|
its(:server) { should == @mock_data.network_ip_from_href(@ip.href).used_by.name }
|
2010-06-10 07:20:14 +08:00
|
|
|
|
2010-06-18 07:58:09 +08:00
|
|
|
end
|
2010-06-10 07:20:14 +08:00
|
|
|
end
|
2010-06-18 07:58:09 +08:00
|
|
|
else
|
2010-06-10 07:20:14 +08:00
|
|
|
end
|
|
|
|
|