1
0
Fork 0
mirror of https://github.com/fog/fog.git synced 2022-11-09 13:51:43 -05:00

[vcloud|compute] server tests

This commit is contained in:
Lincoln Stoll 2011-05-31 13:24:42 +10:00
parent 001559350f
commit 4cb93026c4
2 changed files with 63 additions and 0 deletions

View file

@ -0,0 +1,11 @@
class Vcloud
module Compute
module TestSupport
def self.template
ENV['VCLOUD_TEMPLATE'] || raise('Specify VApp template URI in VCLOUD_TEMPLATE env var')
end
end
module Formats
end
end
end

View file

@ -0,0 +1,52 @@
Shindo.tests("Vcloud::Compute | servers", ['vcloud']) do
tests("#server.new('#{Vcloud::Compute::TestSupport::template}')").returns(true) do
pending if Fog.mocking?
@svr = Vcloud.servers.create(Vcloud::Compute::TestSupport::template, :name => 'fog_test_run', :password => 'password')
print "Waiting for server to be ready"
@svr.wait_for(1200) { print '.' ; ready? }
puts ""
@svr.ready?
end
tests("#svr.power_on()").returns(true) do
pending if Fog.mocking?
@svr.power_on
@svr.wait_for { on? }
@svr.wait_for { ready? }
@svr.on?
end
# Power off only stops the OS, doesn't free up resources. #undeploy is for this.
tests("#svr.undeploy()").returns(true) do
pending if Fog.mocking?
@svr.undeploy
@svr.wait_for { off? }
@svr.wait_for { ready? }
@svr.off?
end
tests("#svr.memory(384)").returns(384) do
pending if Fog.mocking?
raise 'Server template memory already 384m - change to something different' if @svr.memory[:amount] == 384
@svr.wait_for { ready? }
@svr.memory = 384
@svr.save
@svr.wait_for { ready? }
# Can take a little while for the VM to know it has different ram, and not tied to a task..
(1..20).each do |i|
break if @svr.reload.memory[:amount] == '384'
sleep 1
end
@svr.reload.memory[:amount]
end
tests("#svr.destroy").raises(Excon::Errors::Forbidden) do
pending if Fog.mocking?
@svr.destroy
sleep 5 # allow cleanup..
Vcloud.servers.get(@svr.href) == nil
end
end