Sha256: ada479d3df5d4009d3b16c3f01cf4433c3a921732e21e7fbc95a17b5ce8b9746
Contents?: true
Size: 1.33 KB
Versions: 14
Compression:
Stored size: 1.33 KB
Contents
# 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 at_exit do unless Fog.mocking? || Fog.credentials[:digitalocean_api_key].nil? server = service.servers.find { |s| s.name == 'fog-test-server' } if server server.wait_for(120) do reload rescue nil; ready? end end fog_test_server_destroy end end
Version data entries
14 entries across 14 versions & 3 rubygems