diff options
| author | Terry Howe <terrylhowe@gmail.com> | 2014-03-06 12:50:37 -0700 |
|---|---|---|
| committer | Terry Howe <terrylhowe@gmail.com> | 2014-03-06 14:22:17 -0700 |
| commit | 70e6333e7d4b3fa87496ff3a888527693875273b (patch) | |
| tree | e809d6d4bea743b124c12e4712fadbacbb758bb6 /openstackclient/tests | |
| parent | 808fa652109e8d0141f88b258df05874e6676d98 (diff) | |
| download | python-openstackclient-70e6333e7d4b3fa87496ff3a888527693875273b.tar.gz | |
Add ability to set key value pairs in projects
Add supporto of extra key value pairs for projects (aka tenants)
* Added option --property key=value to create and set commands
* Support for versions v2 and v3
Change-Id: I84064b8b308579d1b66c83b1ed3d1a37614ec087
Closes-Bug: #1220280
Diffstat (limited to 'openstackclient/tests')
| -rw-r--r-- | openstackclient/tests/identity/v2_0/test_project.py | 65 | ||||
| -rw-r--r-- | openstackclient/tests/identity/v3/test_project.py | 69 |
2 files changed, 134 insertions, 0 deletions
diff --git a/openstackclient/tests/identity/v2_0/test_project.py b/openstackclient/tests/identity/v2_0/test_project.py index 30f4278b..d046cd47 100644 --- a/openstackclient/tests/identity/v2_0/test_project.py +++ b/openstackclient/tests/identity/v2_0/test_project.py @@ -182,6 +182,43 @@ class TestProjectCreate(TestProject): ) self.assertEqual(data, datalist) + def test_project_create_property(self): + arglist = [ + '--property', 'fee=fi', + '--property', 'fo=fum', + identity_fakes.project_name, + ] + verifylist = [ + ('property', {'fee': 'fi', 'fo': 'fum'}), + ('name', identity_fakes.project_name), + ] + parsed_args = self.check_parser(self.cmd, arglist, verifylist) + + # DisplayCommandBase.take_action() returns two tuples + columns, data = self.cmd.take_action(parsed_args) + + # Set expected values + kwargs = { + 'description': None, + 'enabled': True, + 'fee': 'fi', + 'fo': 'fum', + } + self.projects_mock.create.assert_called_with( + identity_fakes.project_name, + **kwargs + ) + + collist = ('description', 'enabled', 'id', 'name') + self.assertEqual(columns, collist) + datalist = ( + identity_fakes.project_description, + True, + identity_fakes.project_id, + identity_fakes.project_name, + ) + self.assertEqual(data, datalist) + class TestProjectDelete(TestProject): @@ -412,6 +449,34 @@ class TestProjectSet(TestProject): **kwargs ) + def test_project_set_property(self): + arglist = [ + '--property', 'fee=fi', + '--property', 'fo=fum', + identity_fakes.project_name, + ] + verifylist = [ + ('property', {'fee': 'fi', 'fo': 'fum'}), + ('project', identity_fakes.project_name), + ] + parsed_args = self.check_parser(self.cmd, arglist, verifylist) + + result = self.cmd.run(parsed_args) + self.assertEqual(result, 0) + + # Set expected values + kwargs = { + 'description': identity_fakes.project_description, + 'enabled': True, + 'tenant_name': identity_fakes.project_name, + 'fee': 'fi', + 'fo': 'fum', + } + self.projects_mock.update.assert_called_with( + identity_fakes.project_id, + **kwargs + ) + class TestProjectShow(TestProject): diff --git a/openstackclient/tests/identity/v3/test_project.py b/openstackclient/tests/identity/v3/test_project.py index 02cb41be..517c73c5 100644 --- a/openstackclient/tests/identity/v3/test_project.py +++ b/openstackclient/tests/identity/v3/test_project.py @@ -245,6 +245,46 @@ class TestProjectCreate(TestProject): ) self.assertEqual(data, datalist) + def test_project_create_property(self): + arglist = [ + '--property', 'fee=fi', + '--property', 'fo=fum', + identity_fakes.project_name, + ] + verifylist = [ + ('property', {'fee': 'fi', 'fo': 'fum'}), + ('name', identity_fakes.project_name), + ] + parsed_args = self.check_parser(self.cmd, arglist, verifylist) + + # DisplayCommandBase.take_action() returns two tuples + columns, data = self.cmd.take_action(parsed_args) + + # Set expected values + kwargs = { + 'description': None, + 'enabled': True, + 'fee': 'fi', + 'fo': 'fum', + } + # ProjectManager.create(name, domain, description=, enabled=, **kwargs) + self.projects_mock.create.assert_called_with( + identity_fakes.project_name, + None, + **kwargs + ) + + collist = ('description', 'domain_id', 'enabled', 'id', 'name') + self.assertEqual(columns, collist) + datalist = ( + identity_fakes.project_description, + identity_fakes.domain_id, + True, + identity_fakes.project_id, + identity_fakes.project_name, + ) + self.assertEqual(data, datalist) + class TestProjectDelete(TestProject): @@ -488,6 +528,35 @@ class TestProjectSet(TestProject): **kwargs ) + def test_project_set_property(self): + arglist = [ + '--property', 'fee=fi', + '--property', 'fo=fum', + identity_fakes.project_name, + ] + verifylist = [ + ('property', {'fee': 'fi', 'fo': 'fum'}), + ('project', identity_fakes.project_name), + ] + parsed_args = self.check_parser(self.cmd, arglist, verifylist) + + result = self.cmd.run(parsed_args) + self.assertEqual(result, 0) + + # Set expected values + kwargs = { + 'description': identity_fakes.project_description, + 'domain': identity_fakes.domain_id, + 'enabled': True, + 'name': identity_fakes.project_name, + 'fee': 'fi', + 'fo': 'fum', + } + self.projects_mock.update.assert_called_with( + identity_fakes.project_id, + **kwargs + ) + class TestProjectShow(TestProject): |
