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

[digitalocean|compute] Implement missing requests

- power_off_server
- power_on_server
- shutdown_server

Added required tests
This commit is contained in:
Sergio Rubio 2013-02-26 20:09:45 +01:00
parent f13abac61a
commit f83b4885e9
5 changed files with 109 additions and 0 deletions

View file

@ -30,6 +30,9 @@ module Fog
request :destroy_server
request :reboot_server
request :power_cycle_server
request :power_off_server
request :power_on_server
request :shutdown_server
# request :digitalocean_resize

View file

@ -0,0 +1,25 @@
module Fog
module Compute
class DigitalOcean
class Real
def power_off_server( id )
request(
:expects => [200],
:method => 'GET',
:path => "droplets/#{id}/power_off"
)
end
end
class Mock
def power_off_server( id )
Fog::Mock.not_implemented
end
end
end
end
end

View file

@ -0,0 +1,25 @@
module Fog
module Compute
class DigitalOcean
class Real
def power_on_server( id )
request(
:expects => [200],
:method => 'GET',
:path => "droplets/#{id}/power_on"
)
end
end
class Mock
def power_on_server( id )
Fog::Mock.not_implemented
end
end
end
end
end

View file

@ -0,0 +1,25 @@
module Fog
module Compute
class DigitalOcean
class Real
def shutdown_server( id )
request(
:expects => [200],
:method => 'GET',
:path => "droplets/#{id}/shutdown"
)
end
end
class Mock
def shutdown_server( id )
Fog::Mock.not_implemented
end
end
end
end
end

View file

@ -0,0 +1,31 @@
Shindo.tests('Fog::Compute[:digitalocean] | reboot_server request', ['digitalocean', 'compute']) do
service = Fog::Compute[:digitalocean]
server = fog_test_server
tests('success') do
test('#power_off_server') do
service.power_off_server(server.id)
server.wait_for(120) { !ready? }
server.status == 'off'
end
test('#power_on_server') do
service.power_on_server server.id
server.wait_for(120) { ready? }
server.ready?
end
test('#shutdown_server') do
service.shutdown_server server.id
server.wait_for(120) { status == 'off' }
server.status == 'off'
end
# restore status
server.start
end
end