2011-02-17 13:44:46 -05:00
|
|
|
require 'ecloud/spec_helper'
|
2010-06-09 19:20:14 -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::Ip", :type => :mock_tmrk_ecloud_model do
|
2010-06-17 19:58:09 -04:00
|
|
|
subject { @vcloud }
|
2010-06-09 19:20:14 -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::Ip }
|
2010-06-09 19:20:14 -04:00
|
|
|
|
2011-02-15 16:47:14 -05:00
|
|
|
it { should have_identity(:href) }
|
|
|
|
it { should have_only_these_attributes([:href, :name, :status, :server, :rnat, :id]) }
|
2010-06-17 19:58:09 -04:00
|
|
|
end
|
2010-06-09 19:20:14 -04:00
|
|
|
|
2010-06-17 19:58:09 -04:00
|
|
|
context "with no uri" do
|
2011-02-17 13:44:46 -05:00
|
|
|
subject { Fog::Ecloud::Compute::Ip.new() }
|
2010-06-09 19:20:14 -04:00
|
|
|
|
2010-10-17 19:06:44 -04:00
|
|
|
it { should have_all_attributes_be_nil }
|
2010-06-17 19:58:09 -04:00
|
|
|
end
|
2010-06-09 19:20:14 -04:00
|
|
|
|
2010-06-17 19:58:09 -04:00
|
|
|
context "as a collection member" do
|
2010-10-17 19:06:44 -04:00
|
|
|
subject { @ip = @vcloud.vdcs[0].networks[0].ips[0] }
|
2010-06-09 19:20:14 -04:00
|
|
|
|
2011-02-17 13:44:46 -05:00
|
|
|
it { should be_an_instance_of(Fog::Ecloud::Compute::Ip) }
|
2010-06-09 19:20:14 -04:00
|
|
|
|
2010-10-17 19:06:44 -04: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-09 19:20:14 -04:00
|
|
|
|
2010-06-17 19:58:09 -04:00
|
|
|
end
|
2010-06-09 19:20:14 -04:00
|
|
|
end
|
2010-06-17 19:58:09 -04:00
|
|
|
else
|
2010-06-09 19:20:14 -04:00
|
|
|
end
|
|
|
|
|