diff options
author | Jamie Lennox <jamielennox@gmail.com> | 2016-07-11 11:10:46 +1000 |
---|---|---|
committer | Jamie Lennox <jamielennox@gmail.com> | 2016-07-11 11:10:46 +1000 |
commit | 51180406766ac606e08bc35cc51b1005518b37fa (patch) | |
tree | c02683db5f7f1f84538d1030b81afe96862e5b21 /oslo_context | |
parent | 740b81784be72fff95957e8491863ef9e7f7db1a (diff) | |
download | oslo-context-51180406766ac606e08bc35cc51b1005518b37fa.tar.gz |
Allow deprecated X-Tenant-Name in from_environ
Support the old and deprecated X-Tenant-Name header in the
from_environ method.
Change-Id: I0d1784ee96e38a5be256370a3e6dbf7cd1b21b05
Diffstat (limited to 'oslo_context')
-rw-r--r-- | oslo_context/context.py | 3 | ||||
-rw-r--r-- | oslo_context/tests/test_context.py | 10 |
2 files changed, 12 insertions, 1 deletions
diff --git a/oslo_context/context.py b/oslo_context/context.py index e076831..dfe5666 100644 --- a/oslo_context/context.py +++ b/oslo_context/context.py @@ -46,7 +46,8 @@ _ENVIRON_HEADERS = {'auth_token': ['HTTP_X_AUTH_TOKEN', 'user_domain': ['HTTP_X_USER_DOMAIN_ID'], 'project_domain': ['HTTP_X_PROJECT_DOMAIN_ID'], 'user_name': ['HTTP_X_USER_NAME'], - 'project_name': ['HTTP_X_PROJECT_NAME'], + 'project_name': ['HTTP_X_PROJECT_NAME', + 'HTTP_X_TENANT_NAME'], 'user_domain_name': ['HTTP_X_USER_DOMAIN_NAME'], 'project_domain_name': ['HTTP_X_PROJECT_DOMAIN_NAME'], 'request_id': ['openstack.request_id'], diff --git a/oslo_context/tests/test_context.py b/oslo_context/tests/test_context.py index 439f377..3af7d61 100644 --- a/oslo_context/tests/test_context.py +++ b/oslo_context/tests/test_context.py @@ -214,6 +214,10 @@ class ContextTest(test_base.BaseTestCase): ctx = context.RequestContext.from_environ(environ=environ) self.assertEqual([value], ctx.roles) + environ = {'HTTP_X_TENANT_NAME': value} + ctx = context.RequestContext.from_environ(environ=environ) + self.assertEqual(value, ctx.project_name) + def test_from_environ_deprecated_precendence(self): old = uuid.uuid4().hex new = uuid.uuid4().hex @@ -239,6 +243,12 @@ class ContextTest(test_base.BaseTestCase): tenant=override) self.assertEqual(ctx.tenant, override) + environ = {'HTTP_X_TENANT_NAME': old, + 'HTTP_X_PROJECT_NAME': new} + + ctx = context.RequestContext.from_environ(environ=environ) + self.assertEqual(ctx.project_name, new) + def test_from_environ_strip_roles(self): environ = {'HTTP_X_ROLES': ' abc\t,\ndef\n,ghi\n\n'} ctx = context.RequestContext.from_environ(environ=environ) |