From b430ec6a20eb1216130df5024e32d18c4a60c3d6 Mon Sep 17 00:00:00 2001 From: Eric Hodel Date: Thu, 6 Dec 2012 14:58:23 -0800 Subject: [PATCH] Added mock for Fog::Identity#get_user_by_name OpenStack does not support filtering by name as in the real method so the mock returns all users regardless of the name query parameter. See: http://docs.openstack.org/api/openstack-identity-service/2.0/content/GET_listUsers_v2.0_users_Admin_API_Service_Developer_Operations-d1e1356.html --- lib/fog/openstack/requests/identity/get_user_by_name.rb | 9 +++++++++ tests/openstack/requests/identity/user_tests.rb | 8 ++++++++ 2 files changed, 17 insertions(+) diff --git a/lib/fog/openstack/requests/identity/get_user_by_name.rb b/lib/fog/openstack/requests/identity/get_user_by_name.rb index 7cb4cb77f..7b7da6814 100644 --- a/lib/fog/openstack/requests/identity/get_user_by_name.rb +++ b/lib/fog/openstack/requests/identity/get_user_by_name.rb @@ -15,6 +15,15 @@ module Fog class Mock + def get_user_by_name(name) + response = Excon::Response.new + response.status = 200 + + response.body = { + 'users' => self.data[:users].values + } + response + end end diff --git a/tests/openstack/requests/identity/user_tests.rb b/tests/openstack/requests/identity/user_tests.rb index cf1659298..6954aa707 100644 --- a/tests/openstack/requests/identity/user_tests.rb +++ b/tests/openstack/requests/identity/user_tests.rb @@ -17,6 +17,14 @@ Shindo.tests('Fog::Identity[:openstack] | user requests', ['openstack']) do Fog::Identity[:openstack].list_users.body end + tests('#get_user_by_id').formats(@user_format) do + Fog::Identity[:openstack].get_user_by_id(@user['id']).body['user'] + end + + tests('#get_user_by_name').formats({'users' => [@user_format]}) do + Fog::Identity[:openstack].get_user_by_name(@user['name']).body + end + tests("#update_user(#{@user['id']}, :name => 'fogupdateduser')").succeeds do Fog::Identity[:openstack].update_user(@user['id'], :name => 'fogupdateduser', :email => 'fog@test.com') end