re-add LazyUser, fix tests so that they pass
This commit is contained in:
parent
20848be505
commit
0465a06654
@ -50,9 +50,16 @@ def get_user_from_request(request):
|
|||||||
request.session['serviceCatalog'])
|
request.session['serviceCatalog'])
|
||||||
|
|
||||||
|
|
||||||
|
class LazyUser(object):
|
||||||
|
def __get__(self, request, obj_type=None):
|
||||||
|
if not hasattr(request, '_cached_user'):
|
||||||
|
request._cached_user = get_user_from_request(request)
|
||||||
|
return request._cached_user
|
||||||
|
|
||||||
|
|
||||||
class AuthenticationMiddleware(object):
|
class AuthenticationMiddleware(object):
|
||||||
def process_request(self, request):
|
def process_request(self, request):
|
||||||
request.__class__.user = get_user_from_request(request)
|
request.__class__.user = LazyUser()
|
||||||
|
|
||||||
def process_exception(self, request, exception):
|
def process_exception(self, request, exception):
|
||||||
if type(exception) in [openstack.compute.exceptions.Forbidden,
|
if type(exception) in [openstack.compute.exceptions.Forbidden,
|
||||||
|
@ -776,12 +776,11 @@ class AuthApiTests(test.TestCase):
|
|||||||
]
|
]
|
||||||
tenants_mock.for_token('aToken').AndReturn(tenant_list)
|
tenants_mock.for_token('aToken').AndReturn(tenant_list)
|
||||||
|
|
||||||
request_mock = self.mox.CreateMock(http.HttpRequest)
|
self.request.session = {'token': 'aToken'}
|
||||||
request_mock.session = {'token': 'aToken'}
|
|
||||||
|
|
||||||
self.mox.ReplayAll()
|
self.mox.ReplayAll()
|
||||||
|
|
||||||
ret_val = api.token_get_tenant(request_mock, TEST_TENANT_ID)
|
ret_val = api.token_get_tenant(self.request, TEST_TENANT_ID)
|
||||||
self.assertEqual(tenant_list[1], ret_val)
|
self.assertEqual(tenant_list[1], ret_val)
|
||||||
|
|
||||||
self.mox.VerifyAll()
|
self.mox.VerifyAll()
|
||||||
@ -800,12 +799,11 @@ class AuthApiTests(test.TestCase):
|
|||||||
]
|
]
|
||||||
tenants_mock.for_token('aToken').AndReturn(tenant_list)
|
tenants_mock.for_token('aToken').AndReturn(tenant_list)
|
||||||
|
|
||||||
request_mock = self.mox.CreateMock(http.HttpRequest)
|
self.request.session = {'token': 'aToken'}
|
||||||
request_mock.session = {'token': 'aToken'}
|
|
||||||
|
|
||||||
self.mox.ReplayAll()
|
self.mox.ReplayAll()
|
||||||
|
|
||||||
ret_val = api.token_get_tenant(request_mock, TEST_TENANT_ID)
|
ret_val = api.token_get_tenant(self.request, TEST_TENANT_ID)
|
||||||
self.assertIsNone(ret_val)
|
self.assertIsNone(ret_val)
|
||||||
|
|
||||||
self.mox.VerifyAll()
|
self.mox.VerifyAll()
|
||||||
@ -827,11 +825,9 @@ class AuthApiTests(test.TestCase):
|
|||||||
]
|
]
|
||||||
tenants_mock.for_token('aToken').AndReturn(tenant_list)
|
tenants_mock.for_token('aToken').AndReturn(tenant_list)
|
||||||
|
|
||||||
request_mock = self.mox.CreateMock(http.HttpRequest)
|
|
||||||
|
|
||||||
self.mox.ReplayAll()
|
self.mox.ReplayAll()
|
||||||
|
|
||||||
ret_val = api.token_list_tenants(request_mock, 'aToken')
|
ret_val = api.token_list_tenants(self.request, 'aToken')
|
||||||
for tenant in ret_val:
|
for tenant in ret_val:
|
||||||
self.assertIn(tenant, tenant_list)
|
self.assertIn(tenant, tenant_list)
|
||||||
|
|
||||||
@ -850,11 +846,9 @@ class AuthApiTests(test.TestCase):
|
|||||||
tokens_mock.create(TEST_TENANT_ID, TEST_USERNAME,
|
tokens_mock.create(TEST_TENANT_ID, TEST_USERNAME,
|
||||||
TEST_PASSWORD).AndReturn(test_token)
|
TEST_PASSWORD).AndReturn(test_token)
|
||||||
|
|
||||||
request_mock = self.mox.CreateMock(http.HttpRequest)
|
|
||||||
|
|
||||||
self.mox.ReplayAll()
|
self.mox.ReplayAll()
|
||||||
|
|
||||||
ret_val = api.token_create(request_mock, TEST_TENANT_ID,
|
ret_val = api.token_create(self.request, TEST_TENANT_ID,
|
||||||
TEST_USERNAME, TEST_PASSWORD)
|
TEST_USERNAME, TEST_PASSWORD)
|
||||||
|
|
||||||
self.assertEqual(test_token, ret_val)
|
self.assertEqual(test_token, ret_val)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user