mirror of
https://github.com/fog/fog.git
synced 2022-11-09 13:51:43 -05:00
![freeformz](/assets/img/avatar_default.png)
Many changes: -Become more of a proper Fog Service. -Drop most of the Collection/Model customizations. -Add a hook for services to do something after #new with the instance -Move to the ToHashDocument parser ... so no more having to actually make parsers. -Fog::Vcloud::Extension is kind of like Fog::Service, but for writing extension modules to Fog::Vcloud. -Fix up existing specs/mocks (they're not complete atm, but the existing ones are up to date). -Fog::Vcloud::Terremark::Ecloud gets almost all extensions implemented (almost). -Fog::Vcloud::Terremark::Ecloud bumped to working with the current TMRK API release. -Factor out some TMRK/ecloud specifc mock data into the ecloud module. -Probably forgetting something.
40 lines
1.1 KiB
Ruby
40 lines
1.1 KiB
Ruby
require File.join(File.dirname(__FILE__),'..','..','..','spec_helper')
|
|
|
|
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
|
|
|
|
subject { @vcloud }
|
|
|
|
describe :class do
|
|
subject { Fog::Vcloud::Terremark::Ecloud::PublicIp }
|
|
|
|
it { should have_identity :href }
|
|
it { should have_only_these_attributes [:name, :id, :href] }
|
|
end
|
|
|
|
context "with no uri" do
|
|
|
|
subject { Fog::Vcloud::Terremark::Ecloud::PublicIp.new() }
|
|
|
|
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] }
|
|
|
|
it { should be_an_instance_of Fog::Vcloud::Terremark::Ecloud::PublicIp }
|
|
|
|
its(:href) { should == @mock_ip[:href] }
|
|
its(:identity) { should == @mock_ip[:href] }
|
|
its(:name) { should == @mock_ip[:name] }
|
|
its(:id) { should == @mock_ip[:id] }
|
|
|
|
its(:internet_services) { should have(2).services }
|
|
|
|
end
|
|
end
|
|
else
|
|
end
|