Skip to content

Commit 2883f3f

Browse files
committed
Specifying project-domain for project
The fix ensures that if a user wants to set a default project, they must also provide the project domain. If it's missing, an explicit error message is shown, making it clear that the project domain is required. Also adding some unit tests by modifying respective calls. Change-Id: Ia6e921a53da55ab1bce85a42c8160872a9d47d64 Closes-Bug: #2102146
1 parent 71dbac4 commit 2883f3f

File tree

2 files changed

+22
-4
lines changed

2 files changed

+22
-4
lines changed

openstackclient/identity/v3/user.py

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -612,10 +612,12 @@ def take_action(self, parsed_args):
612612
if parsed_args.description:
613613
kwargs['description'] = parsed_args.description
614614
if parsed_args.project:
615-
project_domain_id = identity_client.find_domain(
616-
name_or_id=parsed_args.project_domain,
617-
ignore_missing=False,
618-
).id
615+
project_domain_id = None
616+
if parsed_args.project_domain:
617+
project_domain_id = identity_client.find_domain(
618+
name_or_id=parsed_args.project_domain,
619+
ignore_missing=False,
620+
).id
619621
project_id = identity_client.find_project(
620622
name_or_id=parsed_args.project,
621623
ignore_missing=False,

openstackclient/tests/unit/identity/v3/test_user.py

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1206,6 +1206,17 @@ def test_user_set_project(self):
12061206
self.identity_sdk_client.update_user.assert_called_with(
12071207
user=self.user, **kwargs
12081208
)
1209+
self.identity_sdk_client.find_domain.assert_not_called()
1210+
1211+
# Set expected values
1212+
kwargs = {
1213+
'ignore_missing': False,
1214+
'domain_id': None,
1215+
}
1216+
self.identity_sdk_client.find_project.assert_called_once_with(
1217+
name_or_id=self.project.id, **kwargs
1218+
)
1219+
12091220
self.assertIsNone(result)
12101221

12111222
def test_user_set_project_domain(self):
@@ -1238,6 +1249,11 @@ def test_user_set_project_domain(self):
12381249
self.identity_sdk_client.update_user.assert_called_with(
12391250
user=self.user, **kwargs
12401251
)
1252+
1253+
self.identity_sdk_client.find_domain.assert_called_once_with(
1254+
name_or_id=self.project.domain_id, ignore_missing=False
1255+
)
1256+
12411257
self.assertIsNone(result)
12421258

12431259
def test_user_set_enable(self):

0 commit comments

Comments
 (0)