diff --git a/lib/fog/openstack/requests/identity/list_users.rb b/lib/fog/openstack/requests/identity/list_users.rb index e94f6f4df..71a7c0a86 100644 --- a/lib/fog/openstack/requests/identity/list_users.rb +++ b/lib/fog/openstack/requests/identity/list_users.rb @@ -14,8 +14,17 @@ module Fog class Mock def list_users(tenant_id = nil) + users = self.data[:users].values + + if tenant_id + users = users.select { + |user| user['tenantId'] == tenant_id + } + end + + Excon::Response.new( - :body => { 'users' => self.data[:users].values }, + :body => { 'users' => users }, :status => 200 ) end diff --git a/tests/openstack/models/identity/tenant_tests.rb b/tests/openstack/models/identity/tenant_tests.rb index e3e32311d..84796f35a 100644 --- a/tests/openstack/models/identity/tenant_tests.rb +++ b/tests/openstack/models/identity/tenant_tests.rb @@ -4,6 +4,12 @@ Shindo.tests("Fog::Identity[:openstack] | tenant", ['openstack']) do instance = Fog::Identity[:openstack].tenants.first instance.roles_for(0) end + + tests('#users').succeeds do + instance = Fog::Identity[:openstack].tenants.first + + instance.users.count != Fog::Identity[:openstack].users.count + end end tests('CRUD') do