mirror of
https://github.com/fog/fog.git
synced 2022-11-09 13:51:43 -05:00
[digitalocean|compute] added test helpers
This commit is contained in:
parent
a4152dfe47
commit
7183f1e55c
1 changed files with 32 additions and 0 deletions
32
tests/digitalocean/helper.rb
Normal file
32
tests/digitalocean/helper.rb
Normal file
|
@ -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
|
Loading…
Add table
Reference in a new issue