mirror of
https://github.com/fog/fog.git
synced 2022-11-09 13:51:43 -05:00
`require "opennebula"` fails when downstream tries to require `xmlrpc` which is not included within the main `fog` dependencies. The problem is that the `LoadError` was being trapped by `Fog::SevicesMixin#new` so it was reporting that the OpenNebula provider did not offer the service. This then handles the `Fog::Errors::LoadError` in all the shindo tests that halted the run. These tests will be pending unless `opennebula` is installed.
30 lines
1,013 B
Ruby
30 lines
1,013 B
Ruby
Shindo.tests('Fog::Compute[:opennebula] | network model', ['opennebula']) do
|
|
begin
|
|
networks = Fog::Compute[:opennebula].networks
|
|
rescue Fog::Errors::LoadError
|
|
pending
|
|
end
|
|
|
|
network = networks.get_by_name('fogtest')
|
|
|
|
tests('The network model should') do
|
|
tests('have the action') do
|
|
test('reload') { network.respond_to? 'reload' }
|
|
end
|
|
tests('have attributes') do
|
|
model_attribute_hash = network.attributes
|
|
tests("The network model should respond to") do
|
|
[:name, :id, :vlan, :uid, :uname, :gid, :description].each do |attribute|
|
|
test("#{attribute}") { network.respond_to? attribute }
|
|
end
|
|
end
|
|
tests("The attributes hash should have key") do
|
|
[:name, :id, :uid, :uname, :gid ].each do |attribute|
|
|
test("#{attribute}") { model_attribute_hash.has_key? attribute }
|
|
end
|
|
end
|
|
end
|
|
test('be a kind of Fog::Compute::OpenNebula::Network') { network.kind_of? Fog::Compute::OpenNebula::Network }
|
|
end
|
|
|
|
end
|