diff options
| author | Guojian Shao <guojian@unitedstack.com> | 2015-05-29 11:50:30 -0400 |
|---|---|---|
| committer | Guojian Shao <guojian@unitedstack.com> | 2015-05-29 22:42:42 -0400 |
| commit | 542f5873648df3657e623643a19f723a298fc46f (patch) | |
| tree | 61455af13de38dfebe0a1d2e69b02c3e21e767d3 /openstackclient | |
| parent | 211c14c638b9bf393932be42d4f04a4dd12a84bc (diff) | |
| download | python-openstackclient-542f5873648df3657e623643a19f723a298fc46f.tar.gz | |
add --domain argument to v3 project set
Currently argument 'domain' is not supported by command 'os project
set', but it is required by keystone v3 update project API to match
the domain id.
Closes-Bug: #1460122
Change-Id: I1b32f67f78b369f6134a74cdf9a4811b7539d44b
Diffstat (limited to 'openstackclient')
| -rw-r--r-- | openstackclient/identity/v3/project.py | 8 | ||||
| -rw-r--r-- | openstackclient/tests/identity/v3/test_project.py | 15 |
2 files changed, 23 insertions, 0 deletions
diff --git a/openstackclient/identity/v3/project.py b/openstackclient/identity/v3/project.py index 0cb3c453..48f547f3 100644 --- a/openstackclient/identity/v3/project.py +++ b/openstackclient/identity/v3/project.py @@ -242,6 +242,11 @@ class SetProject(command.Command): help='Set project name', ) parser.add_argument( + '--domain', + metavar='<domain>', + help='Domain owning <project> (name or ID)', + ) + parser.add_argument( '--description', metavar='<description>', help='Set project description', @@ -271,6 +276,7 @@ class SetProject(command.Command): identity_client = self.app.client_manager.identity if (not parsed_args.name + and not parsed_args.domain and not parsed_args.description and not parsed_args.enable and not parsed_args.property @@ -285,6 +291,8 @@ class SetProject(command.Command): kwargs = {} if parsed_args.name: kwargs['name'] = parsed_args.name + if parsed_args.domain: + kwargs['domain'] = parsed_args.domain if parsed_args.description: kwargs['description'] = parsed_args.description if parsed_args.enable: diff --git a/openstackclient/tests/identity/v3/test_project.py b/openstackclient/tests/identity/v3/test_project.py index ec50da0c..ebf612cc 100644 --- a/openstackclient/tests/identity/v3/test_project.py +++ b/openstackclient/tests/identity/v3/test_project.py @@ -618,10 +618,12 @@ class TestProjectSet(TestProject): def test_project_set_name(self): arglist = [ '--name', 'qwerty', + '--domain', identity_fakes.domain_id, identity_fakes.project_name, ] verifylist = [ ('name', 'qwerty'), + ('domain', identity_fakes.domain_id), ('enable', False), ('disable', False), ('project', identity_fakes.project_name), @@ -634,6 +636,7 @@ class TestProjectSet(TestProject): # Set expected values kwargs = { 'name': 'qwerty', + 'domain': identity_fakes.domain_id, } # ProjectManager.update(project, name=, domain=, description=, # enabled=, **kwargs) @@ -644,10 +647,12 @@ class TestProjectSet(TestProject): def test_project_set_description(self): arglist = [ + '--domain', identity_fakes.domain_id, '--description', 'new desc', identity_fakes.project_name, ] verifylist = [ + ('domain', identity_fakes.domain_id), ('description', 'new desc'), ('enable', False), ('disable', False), @@ -660,6 +665,7 @@ class TestProjectSet(TestProject): # Set expected values kwargs = { + 'domain': identity_fakes.domain_id, 'description': 'new desc', } self.projects_mock.update.assert_called_with( @@ -669,10 +675,12 @@ class TestProjectSet(TestProject): def test_project_set_enable(self): arglist = [ + '--domain', identity_fakes.domain_id, '--enable', identity_fakes.project_name, ] verifylist = [ + ('domain', identity_fakes.domain_id), ('enable', True), ('disable', False), ('project', identity_fakes.project_name), @@ -684,6 +692,7 @@ class TestProjectSet(TestProject): # Set expected values kwargs = { + 'domain': identity_fakes.domain_id, 'enabled': True, } self.projects_mock.update.assert_called_with( @@ -693,10 +702,12 @@ class TestProjectSet(TestProject): def test_project_set_disable(self): arglist = [ + '--domain', identity_fakes.domain_id, '--disable', identity_fakes.project_name, ] verifylist = [ + ('domain', identity_fakes.domain_id), ('enable', False), ('disable', True), ('project', identity_fakes.project_name), @@ -708,6 +719,7 @@ class TestProjectSet(TestProject): # Set expected values kwargs = { + 'domain': identity_fakes.domain_id, 'enabled': False, } self.projects_mock.update.assert_called_with( @@ -717,11 +729,13 @@ class TestProjectSet(TestProject): def test_project_set_property(self): arglist = [ + '--domain', identity_fakes.domain_id, '--property', 'fee=fi', '--property', 'fo=fum', identity_fakes.project_name, ] verifylist = [ + ('domain', identity_fakes.domain_id), ('property', {'fee': 'fi', 'fo': 'fum'}), ('project', identity_fakes.project_name), ] @@ -732,6 +746,7 @@ class TestProjectSet(TestProject): # Set expected values kwargs = { + 'domain': identity_fakes.domain_id, 'fee': 'fi', 'fo': 'fum', } |
