summaryrefslogtreecommitdiff
path: root/openstackclient/tests/compute
diff options
context:
space:
mode:
authorHuanxuan Ao <huanxuan.ao@easystack.cn>2016-06-01 09:42:40 +0800
committerHuanxuan Ao <huanxuan.ao@easystack.cn>2016-06-02 12:40:43 +0800
commit22c60f3ac7a482609ba393a96db3989dca4c280c (patch)
treeb41d4c7943a3c05a175a7c66b80572df884a1cc5 /openstackclient/tests/compute
parentca58ab9d0971200a34c84a96d80a1c12a9314096 (diff)
downloadpython-openstackclient-22c60f3ac7a482609ba393a96db3989dca4c280c.tar.gz
Add support for removing flavor-access
Add "--project" and "--project-domain" options in "flavor unset" command to remove flavor access. Change-Id: Ia5c5a80d9890d5af066b75b4e202647c18c7d915 Partial-Bug: #1575461
Diffstat (limited to 'openstackclient/tests/compute')
-rw-r--r--openstackclient/tests/compute/v2/test_flavor.py88
1 files changed, 86 insertions, 2 deletions
diff --git a/openstackclient/tests/compute/v2/test_flavor.py b/openstackclient/tests/compute/v2/test_flavor.py
index e5bdffe4..9d424890 100644
--- a/openstackclient/tests/compute/v2/test_flavor.py
+++ b/openstackclient/tests/compute/v2/test_flavor.py
@@ -616,16 +616,23 @@ class TestFlavorShow(TestFlavor):
class TestFlavorUnset(TestFlavor):
# Return value of self.flavors_mock.find().
- flavor = compute_fakes.FakeFlavor.create_one_flavor()
+ flavor = compute_fakes.FakeFlavor.create_one_flavor(
+ attrs={'os-flavor-access:is_public': False})
def setUp(self):
super(TestFlavorUnset, self).setUp()
self.flavors_mock.find.return_value = self.flavor
self.flavors_mock.get.side_effect = exceptions.NotFound(None)
+ # Return a project
+ self.projects_mock.get.return_value = fakes.FakeResource(
+ None,
+ copy.deepcopy(identity_fakes.PROJECT),
+ loaded=True,
+ )
self.cmd = flavor.UnsetFlavor(self.app, None)
- def test_flavor_unset(self):
+ def test_flavor_unset_property(self):
arglist = [
'--property', 'property',
'baremetal'
@@ -640,3 +647,80 @@ class TestFlavorUnset(TestFlavor):
self.flavors_mock.find.assert_called_with(name=parsed_args.flavor,
is_public=None)
self.assertIsNone(result)
+
+ def test_flavor_unset_project(self):
+ arglist = [
+ '--project', identity_fakes.project_id,
+ self.flavor.id,
+ ]
+ verifylist = [
+ ('project', identity_fakes.project_id),
+ ('flavor', self.flavor.id),
+ ]
+ parsed_args = self.check_parser(self.cmd, arglist, verifylist)
+
+ result = self.cmd.take_action(parsed_args)
+ self.assertIsNone(result)
+
+ self.flavor_access_mock.remove_tenant_access.assert_called_with(
+ self.flavor.id,
+ identity_fakes.project_id,
+ )
+
+ def test_flavor_unset_no_project(self):
+ arglist = [
+ '--project', '',
+ self.flavor.id,
+ ]
+ verifylist = [
+ ('project', ''),
+ ('flavor', self.flavor.id),
+ ]
+
+ parsed_args = self.check_parser(self.cmd, arglist, verifylist)
+ self.assertRaises(exceptions.CommandError, self.cmd.take_action,
+ parsed_args)
+
+ def test_flavor_unset_no_flavor(self):
+ arglist = [
+ '--project', identity_fakes.project_id,
+ ]
+ verifylist = [
+ ('project', identity_fakes.project_id),
+ ]
+
+ self.assertRaises(tests_utils.ParserException,
+ self.check_parser,
+ self.cmd,
+ arglist,
+ verifylist)
+
+ def test_flavor_unset_with_unexist_flavor(self):
+ self.flavors_mock.get.side_effect = exceptions.NotFound(None)
+ self.flavors_mock.find.side_effect = exceptions.NotFound(None)
+
+ arglist = [
+ '--project', identity_fakes.project_id,
+ 'unexist_flavor',
+ ]
+ verifylist = [
+ ('project', identity_fakes.project_id),
+ ('flavor', 'unexist_flavor'),
+ ]
+ parsed_args = self.check_parser(self.cmd, arglist, verifylist)
+
+ self.assertRaises(exceptions.CommandError,
+ self.cmd.take_action,
+ parsed_args)
+
+ def test_flavor_unset_nothing(self):
+ arglist = [
+ self.flavor.id,
+ ]
+ verifylist = [
+ ('flavor', self.flavor.id),
+ ]
+
+ parsed_args = self.check_parser(self.cmd, arglist, verifylist)
+ self.assertRaises(exceptions.CommandError, self.cmd.take_action,
+ parsed_args)