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

[openstack] Fixed mocks for failing shindo tests

reverted back to double quoted string

Conflicts:
	lib/fog/openstack/identity.rb
	lib/fog/openstack/requests/compute/get_volume_details.rb
	lib/fog/openstack/requests/compute/list_security_groups.rb
	lib/fog/openstack/requests/identity/list_tenants.rb
	lib/fog/openstack/requests/image/create_image.rb
	lib/fog/openstack/requests/image/list_public_images.rb
	lib/fog/openstack/requests/image/list_public_images_detailed.rb
	lib/fog/openstack/requests/image/update_image.rb
	tests/openstack/requests/compute/volume_tests.rb
This commit is contained in:
Philip Mark M. Deazeta 2012-09-03 14:40:34 +08:00 committed by Nelvin Driz
parent a36abe3c52
commit 609995ccbe
15 changed files with 161 additions and 159 deletions

View file

@ -81,22 +81,22 @@ module Fog
@current_user = {
'username' => 'admin',
'name' => 'admin',
'id' => 1,
'id' => Fog::Mock.random_hex(32),
'roles' => [
{ 'id' => 1, 'name' => 'admin' },
{ 'id' => 2, 'name' => 'Member' }
{ 'id' => Fog::Mock.random_hex(32), 'name' => 'admin' },
{ 'id' => Fog::Mock.random_hex(32), 'name' => 'Member' }
]
}
@auth_token = Fog::Mock.random_base64(64)
@auth_token_expiration = (Time.now.utc + 86400).iso8601
@current_tenant = {
'id' => 1,
'id' => Fog::Mock.random_hex(32),
'name' => 'admin'
}
unless self.data[:users].values.detect {|user| user['name'] == @openstack_username}
id = Fog::Mock.random_numbers(6).to_s
id = Fog::Mock.random_hex(32)
self.data[:users][id] = {
'id' => id,
'name' => options[:openstack_username],

View file

@ -33,16 +33,16 @@ module Fog
response.status = 202
response.body = {
'volume' => {
'id' => Fog::Mock.random_numbers(2),
'id' => Fog::Mock.random_numbers(2),
'display_name' => name,
'display_description' => description,
'size' => size,
'status' => 'creating',
'size' => size,
'status' => 'creating',
'snapshot_id' => '4',
'volume_type' => nil,
'availability_zone' => 'nova',
'created_at' => Time.now,
'attchments' => []
'attachments' => []
}
}
response

View file

@ -30,7 +30,7 @@ module Fog
'status' => 'online',
'availability_zone' => 'nova',
'created_at' => Time.now,
'attchments' => []
'attachments' => []
}
}
response

View file

@ -20,10 +20,10 @@ module Fog
response.status = [200, 204][rand(1)]
response.body = {
'tenant' => {
'id' => "#{ Fog::Mock.random_hex(32) }",
'description' => attributes['description'],
'id' => "df9a815161eba9b76cc748fd5c5af73e",
'description' => attributes['description'] || 'normal tenant',
'enabled' => true,
'name' => attributes['name']
'name' => attributes['name'] || 'default'
}
}
response

View file

@ -17,7 +17,7 @@ module Fog
response.status = [200, 204][rand(1)]
response.body = {
'tenant' => {
'id' => '1',
'id' => id,
'description' => 'Has access to everything',
'enabled' => true,
'name' => 'admin'

View file

@ -7,35 +7,32 @@ module Fog
data = {
"Content-Type"=>"application/octet-stream",
"x-image-meta-name" => attributes[:name],
"x-image-meta-disk-format" => attributes[:disk_format],
"x-image-meta-container-format" => attributes[:container_format],
"x-image-meta-size" => attributes[:size],
"x-image-meta-is-public" => attributes[:is_public],
"x-image-meta-min-ram" => attributes[:min_ram],
"x-image-meta-min-disk" => attributes[:min_disk],
"x-image-meta-checksum" => attributes[:checksum],
"x-image-meta-owner" => attributes[:owner],
"x-glance-api-copy-from" => attributes[:copy_from]
'Content-Type'=>'application/octet-stream',
'x-image-meta-name' => attributes[:name],
'x-image-meta-disk-format' => attributes[:disk_format],
'x-image-meta-container-format' => attributes[:container_format],
'x-image-meta-size' => attributes[:size],
'x-image-meta-is-public' => attributes[:is_public],
'x-image-meta-min-ram' => attributes[:min_ram],
'x-image-meta-min-disk' => attributes[:min_disk],
'x-image-meta-checksum' => attributes[:checksum],
'x-image-meta-owner' => attributes[:owner],
'x-glance-api-copy-from' => attributes[:copy_from]
}
body = String.new
if attributes[:location]
file = File.open(attributes[:location], "rb")
body = file
body = File.open(attributes[:location], "rb")
end
unless attributes[:properties].nil?
attributes[:properties].each do |key,value|
data["x-image-meta-property-#{key}"] = value
data['x-image-meta-property-#{key}'] = value
end
end
request(
:headers => data,
:headers => data,
:body => body,
:expects => 201,
:method => 'POST',
@ -53,24 +50,24 @@ module Fog
response = Excon::Response.new
response.status = 201
response.body = {
"image"=> {
"name" => attributes[:name],
"size" => 0,
"min_disk" => 0,
"disk_format" => attributes[:disk_format],
"created_at" => Time.now,
"container_format" => attributes['container_format'],
"deleted_at" => nil,
"updated_at" => Time.now,
"checksum" => nil,
"id" => "#{ Fog::Mock.random_hex(32) }",
"deleted" => false,
"protected" => false,
"is_public" => attributes[:is_public],
"status" => "queued",
"min_ram" => 0,
"owner" => attributes[:owner],
"properties" => attributes[:properties]
'image'=> {
'name' => attributes[:name],
'size' => Fog::Mock.random_numbers(8).to_i,
'min_disk' => 0,
'disk_format' => attributes[:disk_format],
'created_at' => Time.now.to_s,
'container_format' => attributes[:container_format],
'deleted_at' => nil,
'updated_at' => Time.now.to_s,
'checksum' => Fog::Mock.random_hex(32),
'id' => Fog::Mock.random_hex(32),
'deleted' => false,
'protected' => false,
'is_public' => false,
'status' => 'queued',
'min_ram' => 0,
'owner' => attributes[:owner],
'properties' => attributes[:properties]
}
}
response

View file

@ -16,31 +16,13 @@ module Fog
response = Excon::Response.new
response.status = [200, 204][rand(1)]
response.body = {
"images"=>[{
"name"=>"mock-image-name",
"size"=>25165824,
"disk_format"=>"ami",
"container_format"=>"ami",
"id"=>"0e09fbd6-43c5-448a-83e9-0d3d05f9747e",
"checksum"=>"2f81976cae15c16ef0010c51e3a6c163"},
{"name"=>"new image",
"size"=>0,
"min_disk"=>0,
"disk_format"=>nil,
"created_at"=>"2012-02-24T06:45:00",
"container_format"=>nil,
"deleted_at"=>nil,
"updated_at"=>"2012-02-24T06:45:00",
"checksum"=>nil,
"id"=>"e41304f3-2453-42b4-9829-2e220a737395",
"deleted"=>false,
"protected"=>false,
"is_public"=>false,
"status"=>"queued",
"min_ram"=>0,
"owner"=>"728ecc7c10614a1faa6fbabd1a68a4a0",
"properties"=>{}
}]
"images"=>[{
"name" => Fog::Mock.random_letters(10),
"size" => Fog::Mock.random_numbers(8).to_i,
"disk_format" => "iso",
"container_format" => "bare",
"id" => Fog::Mock.random_hex(36),
"checksum" => Fog::Mock.random_hex(32)}]
}
response
end # def list_tenants

View file

@ -38,26 +38,27 @@ module Fog
def update_image(attributes)
response = Excon::Response.new
response.status = 200
response.body = {"image"=>
{"name"=>"edit test image",
"size"=>0,
"min_disk"=>0,
"disk_format"=>nil,
"created_at"=>"2012-02-24T06:45:00",
"container_format"=>nil,
"deleted_at"=>nil,
"updated_at"=>"2012-02-24T06:45:00",
"checksum"=>nil,
"id"=>"e41304f3-2453-42b4-9829-2e220a737395",
"deleted"=>false,
"protected"=>false,
"is_public"=>false,
"status"=>"queued",
"min_ram"=>0,
"owner"=>"728ecc7c10614a1faa6fbabd1a68a4a0",
"properties"=>{}
}.merge(Hash[attributes.map { |key, val| [key.to_s, val] }])
}
response.body = {
'image'=> {
'name' => attributes[:name],
'size' => Fog::Mock.random_numbers(8).to_i,
'min_disk' => 0,
'disk_format' => 'iso',
'created_at' => Time.now.to_s,
'container_format' => 'bare',
'deleted_at' => nil,
'updated_at' => Time.now.to_s,
'checksum' => Fog::Mock.random_hex(32),
'id' => attributes[:id],
'deleted' => false,
'protected' => false,
'is_public' => false,
'status' => 'queued',
'min_ram' => 0,
'owner' => Fog::Mock.random_hex(32),
'properties' => {}
}
}
response
end

View file

@ -22,10 +22,10 @@ module Fog
response.body = {
'snapshot' => {
'id' => '1',
'display_name' => Fog::Mock.random_letters(rand(8) + 5),
'display_description' => Fog::Mock.random_letters(rand(12) + 10),
'size' => 3,
'volume_id' => '4',
'display_name' => 'Snapshot1',
'display_description' => 'Volume1 snapshot',
'size' => 1,
'volume_id' => '1',
'status' => 'available',
'created_at' => Time.now
}

View file

@ -21,16 +21,16 @@ module Fog
response.status = 200
response.body = {
'volume' => {
'id' => '1',
'id' => '1',
'display_name' => Fog::Mock.random_letters(rand(8) + 5),
'display_description' => Fog::Mock.random_letters(rand(12) + 10),
'size' => 3,
'size' => 3,
'volume_type' => nil,
'snapshot_id' => '4',
'status' => 'online',
'status' => 'online',
'availability_zone' => 'nova',
'created_at' => Time.now,
'attchments' => []
'attachments' => []
}
}
response

View file

@ -24,7 +24,7 @@ module Fog
{ "status" => "available",
"display_description" => "test 1 desc",
"availability_zone" => "nova",
"display_name" => "test 1",
"display_name" => "Volume1",
"attachments" => [{}],
"volume_type" => nil,
"snapshot_id" => nil,
@ -35,7 +35,7 @@ module Fog
{ "status" => "available",
"display_description" => "test 2 desc",
"availability_zone" => "nova",
"display_name" => "test 2",
"display_name" => "Volume2",
"attachments" => [{}],
"volume_type" => nil,
"snapshot_id" => nil,

View file

@ -11,6 +11,8 @@ Shindo.tests('Fog::Compute[:openstack] | quota requests', ['openstack']) do
'instances' => Fixnum,
'volumes' => Fixnum,
'cores' => Fixnum,
'security_groups' => Fixnum,
'security_group_rules' => Fixnum,
'id' => String
}

View file

@ -3,16 +3,16 @@ require 'fog/openstack'
Shindo.tests('Fog::Compute[:openstack] | volume requests', ['openstack']) do
@volume_format = {
'id' => String,
'displayName' => String,
'size' => Integer,
'displayDescription' => String,
'status' => String,
'snapshotId' => String,
'availabilityZone' => String,
'attachments' => Array,
'volumeType' => NilClass,
'createdAt' => Time
'id' => String,
'display_name' => String,
'size' => Integer,
'display_description' => String,
'status' => String,
'snapshot_id' => String,
'availability_zone' => String,
'attachments' => Array,
'volume_type' => NilClass,
'created_at' => Time
}
@ -23,7 +23,7 @@ Shindo.tests('Fog::Compute[:openstack] | volume requests', ['openstack']) do
tests('#get_volume_detail').formats({'volume' => @volume_format}) do
pending unless Fog.mocking?
Fog::Compute[:openstack].get_volume_details(0).body
Fog::Compute[:openstack].get_volume_details(1).body
end
tests('#create_volume').formats({'volume' => @volume_format}) do

View file

@ -23,7 +23,7 @@ Shindo.tests('Fog::Identity[:openstack] | tenant requests', ['openstack']) do
openstack = Fog::Identity[:openstack]
openstack.list_roles_for_user_on_tenant(
openstack.tenants.first, openstack.users.first).body
openstack.current_tenant['id'], openstack.current_user['id']).body
end
tests('#create_tenant').formats({'tenant' => @tenant_format}) do

View file

@ -1,52 +1,72 @@
Shindo.tests('Fog::Image[:openstack] | image requests', ['openstack']) do
openstack = Fog::Identity[:openstack]
@image_attributes = {
:name => 'new image',
:owner => openstack.current_tenant['id'],
:is_public => 'true',
:copy_from => 'http://website.com/image.iso',
:disk_format => 'iso',
:properties=>
{:user_id => openstack.current_user['id'],
:owner_id => openstack.current_tenant['id']},
:container_format => 'bare' }
@image_format = {
'name' => String,
'container_format' => String,
'disk_format' => String,
'checksum' => String,
'id' => String,
'size' => Integer
}
@detailed_image_format = {
'id' => String,
'name' => String,
'size' => Fog::Nullable::Integer,
'disk_format' => Fog::Nullable::String,
'container_format' => Fog::Nullable::String,
'checksum' => Fog::Nullable::String,
'min_disk' => Fog::Nullable::Integer,
'created_at' => Fog::Nullable::String,
'size' => Integer,
'disk_format' => String,
'container_format' => String,
'checksum' => String,
'min_disk' => Integer,
'created_at' => String,
'deleted_at' => Fog::Nullable::String,
'updated_at' => Fog::Nullable::String,
'deleted' => Fog::Nullable::Boolean,
'protected' => Fog::Nullable::Boolean,
'is_public' => Fog::Nullable::Boolean,
'status' => Fog::Nullable::String,
'min_ram' => Fog::Nullable::Integer,
'owner' => Fog::Nullable::String,
'properties' => Fog::Nullable::Hash
'updated_at' => String,
'deleted' => Fog::Boolean,
'protected' => Fog::Boolean,
'is_public' => Fog::Boolean,
'status' => String,
'min_ram' => Integer,
'owner' => String,
'properties' => Hash
}
@image_meta_format ={
"X-Image-Meta-Is_public"=>String,
"X-Image-Meta-Min_disk"=>Fog::Nullable::String,
"X-Image-Meta-Property-Ramdisk_id"=>Fog::Nullable::String,
"X-Image-Meta-Disk_format"=>Fog::Nullable::String,
"X-Image-Meta-Created_at"=>String,
"X-Image-Meta-Container_format"=>Fog::Nullable::String,
"Etag"=>String,
"Location"=>String,
"X-Image-Meta-Protected"=>String,
"Date"=>String,
"X-Image-Meta-Name"=>String,
"X-Image-Meta-Min_ram"=>String,
"Content-Type"=>String,
"X-Image-Meta-Updated_at"=>String,
"X-Image-Meta-Property-Kernel_id"=>Fog::Nullable::String,
"X-Image-Meta-Size"=>String,
"X-Image-Meta-Checksum"=>Fog::Nullable::String,
"X-Image-Meta-Deleted"=>String,
"Content-Length"=>String,
"X-Image-Meta-Owner"=>String,
"X-Image-Meta-Status"=>String,
"X-Image-Meta-Id"=>String}
'X-Image-Meta-Is_public'=>String,
'X-Image-Meta-Min_disk'=>Fog::Nullable::String,
'X-Image-Meta-Property-Ramdisk_id'=>Fog::Nullable::String,
'X-Image-Meta-Disk_format'=>Fog::Nullable::String,
'X-Image-Meta-Created_at'=>String,
'X-Image-Meta-Container_format'=>Fog::Nullable::String,
'Etag'=>String,
'Location'=>String,
'X-Image-Meta-Protected'=>String,
'Date'=>String,
'X-Image-Meta-Name'=>String,
'X-Image-Meta-Min_ram'=>String,
'Content-Type'=>String,
'X-Image-Meta-Updated_at'=>String,
'X-Image-Meta-Property-Kernel_id'=>Fog::Nullable::String,
'X-Image-Meta-Size'=>String,
'X-Image-Meta-Checksum'=>Fog::Nullable::String,
'X-Image-Meta-Deleted'=>String,
'Content-Length'=>String,
'X-Image-Meta-Owner'=>String,
'X-Image-Meta-Status'=>String,
'X-Image-Meta-Id'=>String}
@image_members_format =[
{"can_share"=>Fog::Nullable::Boolean,
"member_id"=>String
{'can_share'=>Fog::Nullable::Boolean,
'member_id'=>String
}
]
@ -55,21 +75,21 @@ Shindo.tests('Fog::Image[:openstack] | image requests', ['openstack']) do
Fog::Image[:openstack].list_public_images.body
end
tests('#list_public_images_detailed').formats({'images' => [@image_format]}) do
tests('#list_public_images_detailed').formats({'images' => [@detailed_image_format]}) do
Fog::Image[:openstack].list_public_images_detailed.body
end
tests('#create_image').formats({'image' => @image_format}) do
@instance = Fog::Image[:openstack].create_image({:name => "test image"}).body
tests('#create_image').formats({'image' => @detailed_image_format}) do
@instance = Fog::Image[:openstack].create_image(@image_attributes).body
end
tests('#get_image').formats(@image_meta_format) do
Fog::Image[:openstack].get_image(@instance['image']['id']).headers
end
tests('#update_image').formats(@image_format) do
tests('#update_image').formats(@detailed_image_format) do
Fog::Image[:openstack].update_image({:id => @instance['image']['id'],
:name => "edit image"}).body['image']
:name => 'edit image'}).body['image']
end
tests('#add_member_to_image').succeeds do