1
0
Fork 0
mirror of https://github.com/fog/fog.git synced 2022-11-09 13:51:43 -05:00
fog--fog/tests/openvz/helper.rb
Paul Thornthwaite 81fccc5ce5 [openvz] Fixes #1871 test helper callback
This moves the setting up of an `at_exit` callback from when the file
is required to when the matching helper is used.

This prevents it failing on any run where OpenVZ is excluded.
2013-06-10 14:34:24 +01:00

47 lines
1.1 KiB
Ruby

# Shortcut for Fog::Compute[:openvz]
def openvz_service
Fog::Compute[:openvz]
end
# Create a long lived server for the tests
def openvz_fog_test_server
server = openvz_service.servers.find { |s| s.ctid == '104' }
unless server
server = openvz_service.servers.create :ctid => '104'
server.start
server.reload
# Wait for the server to come up
begin
server.wait_for(120) { server.reload rescue nil; server.ready? }
rescue Fog::Errors::TimeoutError
# Server bootstrap took more than 120 secs!
end
end
openvz_fog_test_cleanup
server
end
# Destroy the long lived server
def openvz_fog_test_server_destroy
server = openvz_service.servers.find { |s| s.ctid == '104' }
server.destroy if server
end
# Prepare a callback to destroy the long lived test server
def openvz_fog_test_cleanup
at_exit do
unless Fog.mocking?
server = openvz_service.servers.find { |s| s.name == '104' }
if server
server.wait_for(120) do
reload rescue nil; ready?
end
end
server.stop
openvz_fog_test_server_destroy
end
end
end