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

digitalocean supports bootstrap

This commit is contained in:
Trae Robrock 2013-07-21 11:09:53 -07:00
parent 8dee42d23b
commit e47f95b5f9
8 changed files with 84 additions and 18 deletions

View file

@ -16,6 +16,7 @@ Shindo.tests("Fog::Compute[:digitalocean] | server model", ['digitalocean', 'com
test(action) { server.respond_to? action }
end
end
tests('have attributes') do
model_attribute_hash = server.attributes
attributes = [
@ -26,7 +27,8 @@ Shindo.tests("Fog::Compute[:digitalocean] | server model", ['digitalocean', 'com
:ip_address,
:flavor_id,
:region_id,
:image_id
:image_id,
:ssh_keys=
]
tests("The server model should respond to") do
attributes.each do |attribute|
@ -34,12 +36,14 @@ Shindo.tests("Fog::Compute[:digitalocean] | server model", ['digitalocean', 'com
end
end
end
test('#reboot') do
pending if Fog.mocking?
server.reboot
server.wait_for { server.state == 'off' }
server.state == 'off'
end
test('#power_cycle') do
pending if Fog.mocking?
server.wait_for { server.ready? }
@ -47,16 +51,19 @@ Shindo.tests("Fog::Compute[:digitalocean] | server model", ['digitalocean', 'com
server.wait_for { server.state == 'off' }
server.state == 'off'
end
test('#stop') do
server.stop
server.wait_for { server.state == 'off' }
server.state == 'off'
end
test('#start') do
server.start
server.wait_for { ready? }
server.ready?
end
# DigitalOcean shutdown is unreliable
# so disable it in real mode for now
test('#shutdown') do
@ -67,6 +74,7 @@ Shindo.tests("Fog::Compute[:digitalocean] | server model", ['digitalocean', 'com
server.wait_for { server.state == 'off' }
server.state == 'off'
end
test('#update') do
begin
server.update
@ -74,11 +82,11 @@ Shindo.tests("Fog::Compute[:digitalocean] | server model", ['digitalocean', 'com
true
end
end
end
# restore server state
server.start
server.wait_for { ready? }
end

View file

@ -9,4 +9,13 @@ Shindo.tests('Fog::Compute[:digitalocean] | servers collection', ['digitalocean'
@instance.wait_for { ready? }
end
tests("#bootstrap").succeeds do
pending if Fog.mocking?
@server = service.servers.bootstrap({
:public_key_path => File.join(File.dirname(__FILE__), '../../fixtures/id_rsa.pub'),
:private_key_path => File.join(File.dirname(__FILE__), '../../fixtures/id_rsa')
}.merge(options))
end
@server.destroy if @server
end

View file

@ -19,7 +19,9 @@ Shindo.tests('Fog::Compute[:digitalocean] | ssh_keys collection', ['digitalocean
tests('should be able to get a model') do
test('by instance id') do
service.ssh_keys.get(key.id).kind_of? Fog::Compute::DigitalOcean::SshKey
retrieved_key = service.ssh_keys.get(key.id)
test { retrieved_key.kind_of? Fog::Compute::DigitalOcean::SshKey }
test { retrieved_key.name == key.name }
end
end