summaryrefslogtreecommitdiff
path: root/openstackclient/tests/compute
diff options
context:
space:
mode:
authorMarek Aufart <maufart@redhat.com>2015-03-17 15:38:24 +0100
committerSteve Martinelli <stevemar@ca.ibm.com>2015-03-19 13:54:19 -0400
commit621434451f561e7ef7c549a134f3bfadcf10520f (patch)
treec063b57af26961467ecd4f7ce3856e216fb2caf0 /openstackclient/tests/compute
parenta8c44074f93815ea670d4bc09156795c66505f31 (diff)
downloadpython-openstackclient-621434451f561e7ef7c549a134f3bfadcf10520f.tar.gz
Add the ability to set and unset flavor properties
Added flavor set and unset command which allow manage flavor properties called extra_specs. Command flavor show output was extended with these properties. Closes-Bug: 1434137 Change-Id: Ie469bade802de18aab9d58eda3fff46064008163
Diffstat (limited to 'openstackclient/tests/compute')
-rw-r--r--openstackclient/tests/compute/v2/test_flavor.py77
1 files changed, 76 insertions, 1 deletions
diff --git a/openstackclient/tests/compute/v2/test_flavor.py b/openstackclient/tests/compute/v2/test_flavor.py
index 8f33ccfe..19be8124 100644
--- a/openstackclient/tests/compute/v2/test_flavor.py
+++ b/openstackclient/tests/compute/v2/test_flavor.py
@@ -22,8 +22,17 @@ from openstackclient.tests import fakes
class FakeFlavorResource(fakes.FakeResource):
+ _keys = {'property': 'value'}
+
+ def set_keys(self, args):
+ self._keys.update(args)
+
+ def unset_keys(self, keys):
+ for key in keys:
+ self._keys.pop(key, None)
+
def get_keys(self):
- return {'property': 'value'}
+ return self._keys
class TestFlavor(compute_fakes.TestComputev2):
@@ -272,3 +281,69 @@ class TestFlavorList(TestFlavor):
'property=\'value\''
), )
self.assertEqual(datalist, tuple(data))
+
+
+class TestFlavorSet(TestFlavor):
+
+ def setUp(self):
+ super(TestFlavorSet, self).setUp()
+
+ self.flavors_mock.find.return_value = FakeFlavorResource(
+ None,
+ copy.deepcopy(compute_fakes.FLAVOR),
+ loaded=True,
+ )
+
+ self.cmd = flavor.SetFlavor(self.app, None)
+
+ def test_flavor_set(self):
+ arglist = [
+ '--property', 'FOO="B A R"',
+ 'baremetal'
+ ]
+ verifylist = [
+ ('property', {'FOO': '"B A R"'}),
+ ('flavor', 'baremetal')
+ ]
+
+ parsed_args = self.check_parser(self.cmd, arglist, verifylist)
+
+ columns, data = self.cmd.take_action(parsed_args)
+
+ self.flavors_mock.find.assert_called_with(name='baremetal')
+
+ self.assertEqual('properties', columns[2])
+ self.assertIn('FOO=\'"B A R"\'', data[2])
+
+
+class TestFlavorUnset(TestFlavor):
+
+ def setUp(self):
+ super(TestFlavorUnset, self).setUp()
+
+ self.flavors_mock.find.return_value = FakeFlavorResource(
+ None,
+ copy.deepcopy(compute_fakes.FLAVOR),
+ loaded=True,
+ )
+
+ self.cmd = flavor.UnsetFlavor(self.app, None)
+
+ def test_flavor_unset(self):
+ arglist = [
+ '--property', 'property',
+ 'baremetal'
+ ]
+ verifylist = [
+ ('property', ['property']),
+ ('flavor', 'baremetal'),
+ ]
+
+ parsed_args = self.check_parser(self.cmd, arglist, verifylist)
+
+ columns, data = self.cmd.take_action(parsed_args)
+
+ self.flavors_mock.find.assert_called_with(name='baremetal')
+
+ self.assertEqual('properties', columns[2])
+ self.assertNotIn('property', data[2])