From ee52726351d3dcaac72f149e6ce50b07af12edd7 Mon Sep 17 00:00:00 2001 From: Jamie Lennox Date: Fri, 4 Jul 2014 10:19:44 +1000 Subject: [PATCH] Add V2 tenant user manager tests The cross over between the tenant manager and the user manager is not tested. As this will be changed soon re-enforce the current behaviour. Change-Id: Ia13a24dc0632d3fb0a5b127538117872a7dc660d --- keystoneclient/tests/v2_0/test_tenants.py | 49 +++++++++++++++++++++++ 1 file changed, 49 insertions(+) diff --git a/keystoneclient/tests/v2_0/test_tenants.py b/keystoneclient/tests/v2_0/test_tenants.py index 169016070..7576041cf 100644 --- a/keystoneclient/tests/v2_0/test_tenants.py +++ b/keystoneclient/tests/v2_0/test_tenants.py @@ -17,6 +17,7 @@ import httpretty from keystoneclient import exceptions from keystoneclient.tests.v2_0 import utils from keystoneclient.v2_0 import tenants +from keystoneclient.v2_0 import users class TenantTests(utils.TestCase): @@ -296,3 +297,51 @@ class TenantTests(utils.TestCase): req_body['tenant']) tenant.remove_user('foo', 'barrr') self.assertIsInstance(tenant, tenants.Tenant) + + @httpretty.activate + def test_tenant_list_users(self): + tenant_id = uuid.uuid4().hex + user_id1 = uuid.uuid4().hex + user_id2 = uuid.uuid4().hex + + tenant_resp = { + 'tenant': { + 'name': uuid.uuid4().hex, + 'enabled': True, + 'id': tenant_id, + 'description': 'test tenant', + } + } + + users_resp = { + 'users': { + 'values': [ + { + 'email': uuid.uuid4().hex, + 'enabled': True, + 'id': user_id1, + 'name': uuid.uuid4().hex, + }, + { + 'email': uuid.uuid4().hex, + 'enabled': True, + 'id': user_id2, + 'name': uuid.uuid4().hex, + }, + ] + } + } + + self.stub_url(httpretty.GET, ['tenants', tenant_id], json=tenant_resp) + self.stub_url(httpretty.GET, + ['tenants', tenant_id, 'users'], + json=users_resp) + + tenant = self.client.tenants.get(tenant_id) + user_objs = tenant.list_users() + + for u in user_objs: + self.assertIsInstance(u, users.User) + + self.assertEqual(set([user_id1, user_id2]), + set([u.id for u in user_objs]))