summaryrefslogtreecommitdiff
path: root/oslo_context
diff options
context:
space:
mode:
authorJamie Lennox <jamielennox@gmail.com>2016-07-11 11:10:46 +1000
committerJamie Lennox <jamielennox@gmail.com>2016-07-11 11:10:46 +1000
commit51180406766ac606e08bc35cc51b1005518b37fa (patch)
treec02683db5f7f1f84538d1030b81afe96862e5b21 /oslo_context
parent740b81784be72fff95957e8491863ef9e7f7db1a (diff)
downloadoslo-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.py3
-rw-r--r--oslo_context/tests/test_context.py10
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)