summaryrefslogtreecommitdiff
path: root/openstackclient/tests
diff options
context:
space:
mode:
authorTerry Howe <terrylhowe@gmail.com>2014-03-06 12:50:37 -0700
committerTerry Howe <terrylhowe@gmail.com>2014-03-06 14:22:17 -0700
commit70e6333e7d4b3fa87496ff3a888527693875273b (patch)
treee809d6d4bea743b124c12e4712fadbacbb758bb6 /openstackclient/tests
parent808fa652109e8d0141f88b258df05874e6676d98 (diff)
downloadpython-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.py65
-rw-r--r--openstackclient/tests/identity/v3/test_project.py69
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):