Ensure auth_token_info present on RequestContext

Ensure that auth_token_info is present on dictionary representation
of RequestContext otherwise it will get lost through RPC calls.

Change-Id: I0a52db38c67018239f99e39d330dd4386da41371
Closes-bug: #1415173
This commit is contained in:
Andrew Melton 2015-01-27 12:10:35 -08:00
parent e954a22b6d
commit 4b3712bddd
2 changed files with 12 additions and 1 deletions

View File

@ -46,6 +46,7 @@ class RequestContext(context.RequestContext):
def to_dict(self):
return {'auth_token': self.auth_token,
'auth_token_info': self.auth_token_info,
'user': self.user,
'tenant': self.tenant,
'is_admin': self.is_admin,

View File

@ -52,4 +52,14 @@ class ContextTestCase(base.TestCase):
ctx2 = context.RequestContext.from_dict(ctx.to_dict())
self.assertTrue(ctx2.is_admin)
self.assertIsNone(ctx2.user)
self.assertIsNone(ctx2.tenant)
self.assertIsNone(ctx2.tenant)
def test_to_dict_does_not_drop_auth_token_info(self):
ctx = context.RequestContext(is_admin=True, user='foo',
tenant='foo', auth_token_info='info')
self.assertTrue(ctx.is_admin)
self.assertIsNotNone(ctx.user)
self.assertIsNotNone(ctx.tenant)
ctx_dict = ctx.to_dict()
self.assertTrue('auth_token_info' in ctx_dict)
self.assertEqual(ctx_dict['auth_token_info'], ctx.auth_token_info)