Parse domain_name header

The 'name' headers (eg. X-User-Name) and the 'id' headers
(eg. X-User-Id) are handled almost consistently, but for only domain
header we read only id.

Add the parse marker to make sure that the X-Domain-Name header is
loaded to RequestContext, so that both name and id are present for
domain scoped access.

Change-Id: I813e7db514854ffb030fe3e455e7d1ea26028253
Signed-off-by: Takashi Kajinami <kajinamit@oss.nttdata.com>
This commit is contained in:
Takashi Kajinami
2026-02-02 18:46:57 +09:00
parent 45fea5f220
commit 89ee877201
2 changed files with 4 additions and 1 deletions

View File

@@ -49,6 +49,7 @@ _ENVIRON_HEADERS: dict[str, list[str]] = {
'user_id': ['HTTP_X_USER_ID', 'HTTP_X_USER'],
'project_id': ['HTTP_X_PROJECT_ID', 'HTTP_X_TENANT_ID', 'HTTP_X_TENANT'],
'domain_id': ['HTTP_X_DOMAIN_ID'],
'domain_name': ['HTTP_X_DOMAIN_NAME'],
'system_scope': ['HTTP_OPENSTACK_SYSTEM_SCOPE'],
'user_domain_id': ['HTTP_X_USER_DOMAIN_ID'],
'project_domain_id': ['HTTP_X_PROJECT_DOMAIN_ID'],

View File

@@ -248,6 +248,7 @@ class ContextTest(test_base.BaseTestCase):
'HTTP_X_USER_ID': user_id,
'HTTP_X_PROJECT_ID': project_id,
'HTTP_X_DOMAIN_ID': domain_id,
'HTTP_X_DOMAIN_NAME': domain_name,
'HTTP_X_USER_DOMAIN_ID': user_domain_id,
'HTTP_X_PROJECT_DOMAIN_ID': project_domain_id,
'HTTP_X_ROLES': ','.join(roles),
@@ -275,8 +276,9 @@ class ContextTest(test_base.BaseTestCase):
self.assertEqual(user_id, ctx.user_id)
self.assertEqual(user_name, ctx.user_name)
self.assertEqual(project_id, ctx.project_id)
self.assertEqual(domain_id, ctx.domain_id)
self.assertEqual(project_name, ctx.project_name)
self.assertEqual(domain_id, ctx.domain_id)
self.assertEqual(domain_name, ctx.domain_name)
self.assertEqual(user_domain_id, ctx.user_domain_id)
self.assertEqual(user_domain_name, ctx.user_domain_name)
self.assertEqual(project_domain_id, ctx.project_domain_id)