From 51180406766ac606e08bc35cc51b1005518b37fa Mon Sep 17 00:00:00 2001 From: Jamie Lennox Date: Mon, 11 Jul 2016 11:10:46 +1000 Subject: 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 --- oslo_context/context.py | 3 ++- oslo_context/tests/test_context.py | 10 ++++++++++ 2 files changed, 12 insertions(+), 1 deletion(-) (limited to 'oslo_context') 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) -- cgit v1.2.1