1
0
Fork 0
mirror of https://github.com/fog/fog.git synced 2022-11-09 13:51:43 -05:00
fog--fog/tests/ibm/requests/compute/image_tests.rb

102 lines
2.7 KiB
Ruby
Raw Normal View History

2011-12-02 13:27:44 -05:00
Shindo.tests('Fog::Compute[:ibm] | image requests', ['ibm']) do
@image_format = {
'state' => Integer,
'visibility' => String,
'platform' => String,
'architecture' => String,
'owner' => String,
'createdTime' => Integer,
'location' => String,
'productCodes' => Array,
'name' => String,
'id' => String,
'description' => String,
'supportedInstanceTypes' => Array,
'manifest' => String,
2012-02-13 10:51:03 -05:00
'documentation' => String
2011-12-02 13:27:44 -05:00
}
2012-02-13 10:51:03 -05:00
2011-12-02 13:27:44 -05:00
# TODO: Actually check this format
@product_code_format = {
'detail' => String,
'label' => String,
'price' => @price_format,
2012-02-13 10:51:03 -05:00
'id' => String
2011-12-02 13:27:44 -05:00
}
2012-02-13 10:51:03 -05:00
2011-12-02 13:27:44 -05:00
# TODO: Actually check this format
@price_format = {
'rate' => Float,
'unitOfMeasure' => String,
'effectiveDate' => Integer,
'currencyCode' => String,
'pricePerQuantity' => Integer
}
2012-02-13 10:51:03 -05:00
2011-12-02 13:27:44 -05:00
@images_format = {
'images' => [ @image_format ]
}
@create_image_format = {
"name" => String,
"createdTime" => Integer,
"productCodes"=> Array,
"id" => String,
"description" => String,
"visibility" => String,
"state" => Integer
}
@instance_id = nil
@name = "fog-test-image-instance-" + Time.now.to_i.to_s(32)
2011-12-02 13:27:44 -05:00
@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"
tests('success') do
2012-02-13 10:51:03 -05:00
2011-12-02 13:27:44 -05:00
tests("#list_images").formats(@images_format) do
Fog::Compute[:ibm].list_images.body
end
2012-02-13 10:51:03 -05:00
2011-12-02 13:27:44 -05:00
tests('#get_image').formats(@image_format) do
Fog::Compute[:ibm].get_image("20015393").body
end
2012-02-13 10:51:03 -05:00
2011-12-02 13:27:44 -05:00
tests('#create_image').formats(@create_image_format) do
response = Fog::Compute[:ibm].create_instance(
2012-02-13 10:51:03 -05:00
@name,
@image_id,
@instance_type,
@location,
:key_name => @public_key
2011-12-02 13:27:44 -05:00
).body
@instance_id = response['instances'][0]['id']
data = Fog::Compute[:ibm].create_image(@instance_id, @image_name, "").body
@id = data['id']
2012-02-13 10:51:03 -05:00
data
2011-12-02 13:27:44 -05:00
end
2012-02-13 10:51:03 -05:00
2011-12-02 13:27:44 -05:00
tests('#clone_image') do
clone_name = 'fog-test-clone-image-' + Time.now.to_i.to_s(32)
data = Fog::Compute[:ibm].clone_image(@image_id, clone_name, "").body
2011-12-02 13:27:44 -05:00
@cloned_id = data['ImageID']
returns(String) { data['ImageID'].class }
end
2012-02-13 10:51:03 -05:00
tests('#delete_image') do
returns(true) { Fog::Compute[:ibm].delete_image(@id).body['success'] }
returns(true) { Fog::Compute[:ibm].delete_image(@cloned_id).body['success'] }
2011-12-02 13:27:44 -05:00
end
2012-02-13 10:51:03 -05:00
2011-12-02 13:27:44 -05:00
end
2012-02-13 10:51:03 -05:00
end