1
0
Fork 0
mirror of https://github.com/fog/fog.git synced 2022-11-09 13:51:43 -05:00
fog--fog/tests/opennebula/models/compute/network_tests.rb
Paul Thornthwaite a759f97388 Rescue opennebula loading issues
`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.
2018-06-19 11:44:01 +01:00

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