[ibm] Create temporary keys in tests that need to create instances

This commit is contained in:
Decklin Foster 2012-02-28 16:41:21 -05:00
parent 6be770e046
commit 2b05ec7e4b
6 changed files with 37 additions and 12 deletions

View File

@ -5,9 +5,9 @@ Shindo.tests('Fog::Compute[:ibm] | key', ['ibm']) do
@key_name = 'fog-test-key-' + Time.now.to_i.to_s(32)
@key = nil
tests("Fog::Compute::IBM::Key.new('#{@key_name}')") do
@key = Fog::Compute[:ibm].keys.new({:name => @key_name})
returns(true) { @key.save }
tests("Fog::Compute::IBM::Key.create(:name => '#{@key_name}')") do
@key = Fog::Compute[:ibm].keys.create(:name => @key_name)
returns(@key_name) { @key.name }
end
tests("Fog::Compute::IBM::Key#instances") do

View File

@ -9,7 +9,9 @@ Shindo.tests('Fog::Compute[:ibm] | server', ['ibm']) do
@image_id = "20015393"
@instance_type = "BRZ32.1/2048/60*175"
@location_id = "101"
@key_name = "test"
@key_name = "fog-test-key-" + Time.now.to_i.to_s(32)
@key = Fog::Compute[:ibm].keys.create(:name => @key_name)
tests('Fog::Compute::IBM::Server.new') do
@server = Fog::Compute[:ibm].servers.new(
@ -73,6 +75,9 @@ Shindo.tests('Fog::Compute[:ibm] | server', ['ibm']) do
returns(true) { @server.destroy }
end
@key.wait_for { instance_ids.empty? }
@key.destroy
end
end

View File

@ -6,8 +6,10 @@ Shindo.tests('Fog::Compute[:ibm] | servers', ['ibm']) do
@image_id = "20010001"
@instance_type = "BRZ32.1/2048/60*175"
@location_id = "41"
@key_name = "fog-test-key-" + Time.now.to_i.to_s(32)
@key = Fog::Compute[:ibm].keys.create(:name => @key_name)
@instance_id = Fog::Compute[:ibm].create_instance(@name, @image_id, @instance_type, @location_id).body["instances"][0]["id"]
@instance_id = Fog::Compute[:ibm].create_instance(@name, @image_id, @instance_type, @location_id, :key_name => @key_name).body["instances"][0]["id"]
@server = nil
tests('Fog::Compute[:ibm].servers') do
@ -19,6 +21,11 @@ Shindo.tests('Fog::Compute[:ibm] | servers', ['ibm']) do
returns(@instance_id) { @server.id }
end
@server.wait_for { ready? }
@server.destroy
@key.wait_for { instance_ids.empty? }
@key.destroy
end
end

View File

@ -53,12 +53,13 @@ Shindo.tests('Fog::Compute[:ibm] | image requests', ['ibm']) do
@image_id = "20015393"
@instance_type = "BRZ32.1/2048/60*175"
@location = "101"
@public_key = "test"
@id = nil
@cloned_id = nil
@image_name = "fog test create image"
@key_name = "fog-test-key-" + Time.now.to_i.to_s(32)
@key = Fog::Compute[:ibm].keys.create(:name => @key_name)
tests('success') do
@ -76,7 +77,7 @@ Shindo.tests('Fog::Compute[:ibm] | image requests', ['ibm']) do
@image_id,
@instance_type,
@location,
:key_name => @public_key
:key_name => @key_name
).body
@instance_id = response['instances'][0]['id']
data = Fog::Compute[:ibm].create_image(@instance_id, @image_name, "").body
@ -96,6 +97,9 @@ Shindo.tests('Fog::Compute[:ibm] | image requests', ['ibm']) do
returns(true) { Fog::Compute[:ibm].delete_image(@cloned_id).body['success'] }
end
@key.wait_for { instance_ids.empty? }
@key.destroy
end
end

View File

@ -38,10 +38,11 @@ Shindo.tests('Fog::Compute[:ibm] | instance requests', ['ibm']) do
@instance_type = "COP32.1/2048/60"
@location = "101"
@expiration_time= (Time.now.tv_usec + 10000).to_f * 1000
@options = {:key_name => "test"}
@key_name = "fog-test-key-" + Time.now.to_i.to_s(32)
@key = Fog::Compute[:ibm].keys.create(:name => @key_name)
tests("#create_instance('#{@name}', '#{@image_id}', '#{@instance_type}', '#{@location}', #{@options})").formats(@instances_format) do
response = Fog::Compute[:ibm].create_instance(@name, @image_id, @instance_type, @location, @options).body
tests("#create_instance('#{@name}', '#{@image_id}', '#{@instance_type}', '#{@location}', :key_name => '#{@key_name}')").formats(@instances_format) do
response = Fog::Compute[:ibm].create_instance(@name, @image_id, @instance_type, @location, :key_name => @key_name).body
@instance_id = response['instances'][0]['id']
response
end
@ -72,6 +73,9 @@ Shindo.tests('Fog::Compute[:ibm] | instance requests', ['ibm']) do
data = Fog::Compute[:ibm].delete_instance(@instance_id)
end
@key.wait_for { instance_ids.empty? }
@key.destroy
end
tests('failures') do

View File

@ -41,7 +41,9 @@ Shindo.tests('Fog::Storage[:ibm] | volume requests', ['ibm']) do
@image_id = "20015393"
@instance_type = "BRZ32.1/2048/60*175"
@location = "101"
@public_key = "test"
@key_name = "fog-test-key-" + Time.now.to_i.to_s(32)
@key = Fog::Compute[:ibm].keys.create(:name => @key_name)
tests("#create_volume('#{@name}', '#{@offering_id}', '#{@format}', '#{@location_id}', '#{@size}')").formats(@volume_format) do
data = Fog::Storage[:ibm].create_volume(@name, @offering_id, @format, @location_id, @size).body
@ -63,7 +65,7 @@ Shindo.tests('Fog::Storage[:ibm] | volume requests', ['ibm']) do
@image_id,
@instance_type,
@location,
:key_name => @public_key
:key_name => @key_name
).body['instances'][0]['id']
# TODO: Add assertions for this whenever it is properly supported
Fog::Compute[:ibm].modify_instance(@instance_id, 'type' => 'attach', 'volume_id' => @volume_id)
@ -79,6 +81,9 @@ Shindo.tests('Fog::Storage[:ibm] | volume requests', ['ibm']) do
returns(true) { Fog::Storage[:ibm].delete_volume(@volume_id).body['success'] }
end
@key.wait_for { instance_ids.empty? }
@key.destroy
end
end