Add list_key_pairs compute request layer method, and mocks for it as well.

This commit is contained in:
Rupak Ganguly 2011-11-22 14:42:29 -05:00
parent e64281bbce
commit 099a963fd3
2 changed files with 45 additions and 0 deletions

View File

@ -33,6 +33,7 @@ module Fog
request :list_flavors_detail
request :list_images
request :list_images_detail
request :list_key_pairs
request :list_servers
request :list_servers_detail
request :reboot_server

View File

@ -0,0 +1,44 @@
module Fog
module Compute
class HP
class Real
# List all key pairs
#
# ==== Returns
# * response<~Excon::Response>:
# * body<~Hash>:
# * 'keypairs'<~Array>:
# * 'keypair'<~Hash>:
# * 'public_key'<~String> - Public portion of the key
# * 'name'<~String> - Name of the key
# * 'fingerprint'<~String> - Fingerprint of the key
#
# {Openstack API Reference}[http://docs.openstack.org]
def list_key_pairs
request(
:expects => [200, 203],
:method => 'GET',
:path => 'os-keypairs.json'
)
end
end
class Mock
def list_key_pairs
response = Excon::Response.new
key_pairs = []
key_pairs = self.data[:key_pairs].values unless self.data[:key_pairs].nil?
response.status = [200, 203][rand(1)]
response.body = { 'keypairs' => key_pairs.map {|keypair| keypair.reject {|key, value| !['public_key', 'name', 'fingerprint'].include?(key)}} }
response
end
end
end
end
end