diff options
| author | Marek Aufart <maufart@redhat.com> | 2015-03-17 15:38:24 +0100 |
|---|---|---|
| committer | Steve Martinelli <stevemar@ca.ibm.com> | 2015-03-19 13:54:19 -0400 |
| commit | 621434451f561e7ef7c549a134f3bfadcf10520f (patch) | |
| tree | c063b57af26961467ecd4f7ce3856e216fb2caf0 /openstackclient/tests/compute | |
| parent | a8c44074f93815ea670d4bc09156795c66505f31 (diff) | |
| download | python-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.py | 77 |
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]) |
