1
0
Fork 0
mirror of https://github.com/fog/fog.git synced 2022-11-09 13:51:43 -05:00
fog--fog/tests/vsphere/models/compute/server_tests.rb
Carlos Sanchez 9f65cd9ec7 [vsphere] Make mock data consistent across operations
Use the the same list of vms for all calls, mimic other providers mocks
rbvmomi returns hashes with string keys, not symbols
Match instance_uuid with id in list_virtual_machines as Real does
Better mock for vm_clone, returns a vm with new id and adds it to the list of running vms
Test new_vm option
2013-08-02 20:24:59 +02:00

44 lines
1.3 KiB
Ruby

Shindo.tests('Fog::Compute[:vsphere] | server model', ['vsphere']) do
servers = Fog::Compute[:vsphere].servers
server = servers.last
tests('The server model should') do
tests('have the action') do
test('reload') { server.respond_to? 'reload' }
%w{ stop start destroy reboot }.each do |action|
test(action) { server.respond_to? action }
test("#{action} returns successfully") { server.send(action.to_sym) ? true : false }
end
end
tests('have attributes') do
model_attribute_hash = server.attributes
attributes = [ :id,
:instance_uuid,
:uuid,
:power_state,
:tools_state,
:mo_ref,
:tools_version,
:hostname,
:mac_addresses,
:operatingsystem,
:connection_state,
:hypervisor,
:name,
:public_ip_address]
tests("The server model should respond to") do
attributes.each do |attribute|
test("#{attribute}") { server.respond_to? attribute }
end
end
tests("The attributes hash should have key") do
attributes.each do |attribute|
test("#{attribute}") { model_attribute_hash.has_key? attribute }
end
end
end
test('be a kind of Fog::Compute::Vsphere::Server') { server.kind_of? Fog::Compute::Vsphere::Server }
end
end