summaryrefslogtreecommitdiff
path: root/openstackclient/tests/unit/compute
diff options
context:
space:
mode:
authorZuul <zuul@review.openstack.org>2018-06-28 17:26:03 +0000
committerGerrit Code Review <review@openstack.org>2018-06-28 17:26:03 +0000
commit7b8873dc6b9b9248996b766c8dedbc600b5129d4 (patch)
treecc3e4a2b23ddb39cc8581061fbaf57c90277c538 /openstackclient/tests/unit/compute
parentddcc25e7f3e16ec4a1eef6302d7f12a07869615c (diff)
parent4a68ba625ce39de6e6d260ff06e0b0d88512f794 (diff)
downloadpython-openstackclient-7b8873dc6b9b9248996b766c8dedbc600b5129d4.tar.gz
Merge "Compute: Add description support for flavor"
Diffstat (limited to 'openstackclient/tests/unit/compute')
-rw-r--r--openstackclient/tests/unit/compute/v2/fakes.py1
-rw-r--r--openstackclient/tests/unit/compute/v2/test_flavor.py136
2 files changed, 134 insertions, 3 deletions
diff --git a/openstackclient/tests/unit/compute/v2/fakes.py b/openstackclient/tests/unit/compute/v2/fakes.py
index 46fa5992..9a065be1 100644
--- a/openstackclient/tests/unit/compute/v2/fakes.py
+++ b/openstackclient/tests/unit/compute/v2/fakes.py
@@ -765,6 +765,7 @@ class FakeFlavor(object):
'rxtx_factor': 1.0,
'OS-FLV-DISABLED:disabled': False,
'os-flavor-access:is_public': True,
+ 'description': 'description',
'OS-FLV-EXT-DATA:ephemeral': 0,
'properties': {'property': 'value'},
}
diff --git a/openstackclient/tests/unit/compute/v2/test_flavor.py b/openstackclient/tests/unit/compute/v2/test_flavor.py
index 4cdbb25b..a112fc1f 100644
--- a/openstackclient/tests/unit/compute/v2/test_flavor.py
+++ b/openstackclient/tests/unit/compute/v2/test_flavor.py
@@ -16,6 +16,7 @@
import mock
from mock import call
+import novaclient
from osc_lib import exceptions
from osc_lib import utils
@@ -50,6 +51,7 @@ class TestFlavorCreate(TestFlavor):
columns = (
'OS-FLV-DISABLED:disabled',
'OS-FLV-EXT-DATA:ephemeral',
+ 'description',
'disk',
'id',
'name',
@@ -63,6 +65,7 @@ class TestFlavorCreate(TestFlavor):
data = (
flavor.disabled,
flavor.ephemeral,
+ flavor.description,
flavor.disk,
flavor.id,
flavor.name,
@@ -101,7 +104,8 @@ class TestFlavorCreate(TestFlavor):
0,
0,
1.0,
- True
+ True,
+ None,
)
columns, data = self.cmd.take_action(parsed_args)
self.flavors_mock.create.assert_called_once_with(*default_args)
@@ -120,6 +124,7 @@ class TestFlavorCreate(TestFlavor):
'--vcpus', str(self.flavor.vcpus),
'--rxtx-factor', str(self.flavor.rxtx_factor),
'--public',
+ '--description', str(self.flavor.description),
'--property', 'property=value',
self.flavor.name,
]
@@ -132,6 +137,7 @@ class TestFlavorCreate(TestFlavor):
('vcpus', self.flavor.vcpus),
('rxtx_factor', self.flavor.rxtx_factor),
('public', True),
+ ('description', self.flavor.description),
('property', {'property': 'value'}),
('name', self.flavor.name),
]
@@ -147,8 +153,13 @@ class TestFlavorCreate(TestFlavor):
self.flavor.swap,
self.flavor.rxtx_factor,
self.flavor.is_public,
+ self.flavor.description,
)
- columns, data = self.cmd.take_action(parsed_args)
+ self.app.client_manager.compute.api_version = 2.55
+ with mock.patch.object(novaclient.api_versions,
+ 'APIVersion',
+ return_value=2.55):
+ columns, data = self.cmd.take_action(parsed_args)
self.flavors_mock.create.assert_called_once_with(*args)
self.flavor.set_keys.assert_called_once_with({'property': 'value'})
self.flavor.get_keys.assert_called_once_with()
@@ -168,6 +179,7 @@ class TestFlavorCreate(TestFlavor):
'--vcpus', str(self.flavor.vcpus),
'--rxtx-factor', str(self.flavor.rxtx_factor),
'--private',
+ '--description', str(self.flavor.description),
'--project', self.project.id,
'--property', 'key1=value1',
'--property', 'key2=value2',
@@ -181,6 +193,7 @@ class TestFlavorCreate(TestFlavor):
('vcpus', self.flavor.vcpus),
('rxtx_factor', self.flavor.rxtx_factor),
('public', False),
+ ('description', 'description'),
('project', self.project.id),
('property', {'key1': 'value1', 'key2': 'value2'}),
('name', self.flavor.name),
@@ -197,8 +210,13 @@ class TestFlavorCreate(TestFlavor):
self.flavor.swap,
self.flavor.rxtx_factor,
self.flavor.is_public,
+ self.flavor.description,
)
- columns, data = self.cmd.take_action(parsed_args)
+ self.app.client_manager.compute.api_version = 2.55
+ with mock.patch.object(novaclient.api_versions,
+ 'APIVersion',
+ return_value=2.55):
+ columns, data = self.cmd.take_action(parsed_args)
self.flavors_mock.create.assert_called_once_with(*args)
self.flavor_access_mock.add_tenant_access.assert_called_with(
self.flavor.id,
@@ -234,6 +252,79 @@ class TestFlavorCreate(TestFlavor):
arglist,
verifylist)
+ def test_flavor_create_with_description_api_newer(self):
+ arglist = [
+ '--id', self.flavor.id,
+ '--ram', str(self.flavor.ram),
+ '--disk', str(self.flavor.disk),
+ '--ephemeral', str(self.flavor.ephemeral),
+ '--swap', str(self.flavor.swap),
+ '--vcpus', str(self.flavor.vcpus),
+ '--rxtx-factor', str(self.flavor.rxtx_factor),
+ '--private',
+ '--description', 'fake description',
+ self.flavor.name,
+ ]
+ verifylist = [
+ ('id', self.flavor.id),
+ ('ram', self.flavor.ram),
+ ('disk', self.flavor.disk),
+ ('ephemeral', self.flavor.ephemeral),
+ ('swap', self.flavor.swap),
+ ('vcpus', self.flavor.vcpus),
+ ('rxtx_factor', self.flavor.rxtx_factor),
+ ('public', False),
+ ('description', 'fake description'),
+ ('name', self.flavor.name),
+ ]
+ parsed_args = self.check_parser(self.cmd, arglist, verifylist)
+ self.app.client_manager.compute.api_version = 2.55
+ with mock.patch.object(novaclient.api_versions,
+ 'APIVersion',
+ return_value=2.55):
+ columns, data = self.cmd.take_action(parsed_args)
+
+ args = (
+ self.flavor.name,
+ self.flavor.ram,
+ self.flavor.vcpus,
+ self.flavor.disk,
+ self.flavor.id,
+ self.flavor.ephemeral,
+ self.flavor.swap,
+ self.flavor.rxtx_factor,
+ False,
+ 'fake description',
+ )
+
+ self.flavors_mock.create.assert_called_once_with(*args)
+
+ self.assertEqual(self.columns, columns)
+ self.assertEqual(self.data, data)
+
+ def test_flavor_create_with_description_api_older(self):
+ arglist = [
+ '--id', self.flavor.id,
+ '--ram', str(self.flavor.ram),
+ '--vcpus', str(self.flavor.vcpus),
+ '--description', 'description',
+ self.flavor.name,
+ ]
+ verifylist = [
+ ('ram', self.flavor.ram),
+ ('vcpus', self.flavor.vcpus),
+ ('description', 'description'),
+ ('name', self.flavor.name),
+ ]
+ parsed_args = self.check_parser(self.cmd, arglist, verifylist)
+
+ self.app.client_manager.compute.api_version = 2.54
+ with mock.patch.object(novaclient.api_versions,
+ 'APIVersion',
+ return_value=2.55):
+ self.assertRaises(exceptions.CommandError, self.cmd.take_action,
+ parsed_args)
+
class TestFlavorDelete(TestFlavor):
@@ -622,6 +713,42 @@ class TestFlavorSet(TestFlavor):
self.flavor_access_mock.add_tenant_access.assert_not_called()
self.assertIsNone(result)
+ def test_flavor_set_description_api_newer(self):
+ arglist = [
+ '--description', 'description',
+ self.flavor.id,
+ ]
+ verifylist = [
+ ('description', 'description'),
+ ('flavor', self.flavor.id),
+ ]
+ parsed_args = self.check_parser(self.cmd, arglist, verifylist)
+ self.app.client_manager.compute.api_version = 2.55
+ with mock.patch.object(novaclient.api_versions,
+ 'APIVersion',
+ return_value=2.55):
+ result = self.cmd.take_action(parsed_args)
+ self.flavors_mock.update.assert_called_with(
+ flavor=self.flavor.id, description='description')
+ self.assertIsNone(result)
+
+ def test_flavor_set_description_api_older(self):
+ arglist = [
+ '--description', 'description',
+ self.flavor.id,
+ ]
+ verifylist = [
+ ('description', 'description'),
+ ('flavor', self.flavor.id),
+ ]
+ parsed_args = self.check_parser(self.cmd, arglist, verifylist)
+ self.app.client_manager.compute.api_version = 2.54
+ with mock.patch.object(novaclient.api_versions,
+ 'APIVersion',
+ return_value=2.55):
+ self.assertRaises(exceptions.CommandError, self.cmd.take_action,
+ parsed_args)
+
class TestFlavorShow(TestFlavor):
@@ -633,6 +760,7 @@ class TestFlavorShow(TestFlavor):
'OS-FLV-DISABLED:disabled',
'OS-FLV-EXT-DATA:ephemeral',
'access_project_ids',
+ 'description',
'disk',
'id',
'name',
@@ -648,6 +776,7 @@ class TestFlavorShow(TestFlavor):
flavor.disabled,
flavor.ephemeral,
None,
+ flavor.description,
flavor.disk,
flavor.id,
flavor.name,
@@ -710,6 +839,7 @@ class TestFlavorShow(TestFlavor):
private_flavor.disabled,
private_flavor.ephemeral,
self.flavor_access.tenant_id,
+ private_flavor.description,
private_flavor.disk,
private_flavor.id,
private_flavor.name,