From 7183f1e55c1656e519aeaf6d409beb493fb774ae Mon Sep 17 00:00:00 2001 From: Sergio Rubio Date: Wed, 6 Feb 2013 21:17:17 +0100 Subject: [PATCH] [digitalocean|compute] added test helpers --- tests/digitalocean/helper.rb | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) create mode 100644 tests/digitalocean/helper.rb diff --git a/tests/digitalocean/helper.rb b/tests/digitalocean/helper.rb new file mode 100644 index 000000000..d1b50e4d5 --- /dev/null +++ b/tests/digitalocean/helper.rb @@ -0,0 +1,32 @@ + +# Shortcut for Fog::Compute[:digitalocean] +def service + Fog::Compute[:digitalocean] +end + +# Create a long lived server for the tests +def fog_test_server + server = service.servers.find { |s| s.name == 'fog-test-server' } + unless server + image = service.images.find { |i| i.name == 'Ubuntu 12.04 x64 Server' } + region = service.regions.find { |r| r.name == 'New York 1' } + flavor = service.flavors.find { |r| r.name == '512MB' } + server = service.servers.create :name => 'fog-test-server', + :image_id => image.id, + :region_id => region.id, + :flavor_id => flavor.id + # 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 + server +end + +# Destroy the long lived server +def fog_test_server_destroy + server = service.servers.find { |s| s.name == 'fog-test-server' } + server.destroy if server +end