summaryrefslogtreecommitdiff
path: root/openstackclient
diff options
context:
space:
mode:
authorDean Troyer <dtroyer@gmail.com>2016-05-19 12:53:01 -0500
committerDean Troyer <dtroyer@gmail.com>2016-05-20 07:07:16 -0500
commitc3d481085022ffffc4fb02bbf4766ca49a4c5806 (patch)
tree44c45f77245e31b892c2e79e57ae5ad1e3405d5b /openstackclient
parenta68576b34b76327cc54191f2b34170d4d394cd3d (diff)
downloadpython-openstackclient-c3d481085022ffffc4fb02bbf4766ca49a4c5806.tar.gz
Fix image tests to use warlock resources
We have been testing (incorrectly) Image v2 using our usual FakeResource objects, when the v2 API actually uses warlock schema modelled resources. Bring this to the tests (TestImageSet was already doing this) Change-Id: Ia6ed3a8e28a8961f770c241b49d47cce9ff328d3
Diffstat (limited to 'openstackclient')
-rw-r--r--openstackclient/tests/image/v2/fakes.py45
-rw-r--r--openstackclient/tests/image/v2/test_image.py19
2 files changed, 21 insertions, 43 deletions
diff --git a/openstackclient/tests/image/v2/fakes.py b/openstackclient/tests/image/v2/fakes.py
index f90d846d..a662a585 100644
--- a/openstackclient/tests/image/v2/fakes.py
+++ b/openstackclient/tests/image/v2/fakes.py
@@ -18,6 +18,9 @@ import mock
import random
import uuid
+from glanceclient.v2 import schemas
+import warlock
+
from openstackclient.common import utils as common_utils
from openstackclient.tests import fakes
from openstackclient.tests import utils
@@ -194,7 +197,7 @@ class FakeImage(object):
# Set default attribute
image_info = {
- 'id': 'image-id' + uuid.uuid4().hex,
+ 'id': str(uuid.uuid4()),
'name': 'image-name' + uuid.uuid4().hex,
'owner': 'image-owner' + uuid.uuid4().hex,
'protected': bool(random.choice([0, 1])),
@@ -205,11 +208,13 @@ class FakeImage(object):
# Overwrite default attributes if there are some attributes set
image_info.update(attrs)
- image = fakes.FakeResource(
- None,
- image_info,
- loaded=True)
- return image
+ # Set up the schema
+ model = warlock.model_factory(
+ IMAGE_schema,
+ schemas.SchemaBasedModel,
+ )
+
+ return model(**image_info)
@staticmethod
def create_images(attrs=None, count=2):
@@ -249,27 +254,6 @@ class FakeImage(object):
return mock.MagicMock(side_effect=images)
@staticmethod
- def get_image_info(image=None):
- """Get the image info from a faked image object.
-
- :param image:
- A FakeResource objects faking image
- :return
- A dictionary which includes the faked image info as follows:
- {
- 'id': image_id,
- 'name': image_name,
- 'owner': image_owner,
- 'protected': image_protected,
- 'visibility': image_visibility,
- 'tags': image_tags
- }
- """
- if image is not None:
- return image._info
- return {}
-
- @staticmethod
def get_image_columns(image=None):
"""Get the image columns from a faked image object.
@@ -280,9 +264,8 @@ class FakeImage(object):
('id', 'name', 'owner', 'protected', 'visibility', 'tags')
"""
if image is not None:
- return tuple(k for k in sorted(
- FakeImage.get_image_info(image).keys()))
- return tuple([])
+ return tuple(sorted(image))
+ return IMAGE_columns
@staticmethod
def get_image_data(image=None):
@@ -296,7 +279,7 @@ class FakeImage(object):
"""
data_list = []
if image is not None:
- for x in sorted(FakeImage.get_image_info(image).keys()):
+ for x in sorted(image.keys()):
if x == 'tags':
# The 'tags' should be format_list
data_list.append(
diff --git a/openstackclient/tests/image/v2/test_image.py b/openstackclient/tests/image/v2/test_image.py
index 33f25331..beebdef9 100644
--- a/openstackclient/tests/image/v2/test_image.py
+++ b/openstackclient/tests/image/v2/test_image.py
@@ -75,7 +75,8 @@ class TestImageCreate(TestImage):
# This is the return value for utils.find_resource()
self.images_mock.get.return_value = copy.deepcopy(
- image_fakes.FakeImage.get_image_info(self.new_image))
+ self.new_image
+ )
self.images_mock.update.return_value = self.new_image
# Get the command object to test
@@ -492,7 +493,7 @@ class TestImageList(TestImage):
self.api_mock = mock.Mock()
self.api_mock.image_list.side_effect = [
- [image_fakes.FakeImage.get_image_info(self._image)], [],
+ [self._image], [],
]
self.app.client_manager.image.api = self.api_mock
@@ -632,10 +633,7 @@ class TestImageList(TestImage):
@mock.patch('openstackclient.api.utils.simple_filter')
def test_image_list_property_option(self, sf_mock):
- sf_mock.return_value = [
- copy.deepcopy(
- image_fakes.FakeImage.get_image_info(self._image)),
- ]
+ sf_mock.return_value = [copy.deepcopy(self._image)]
arglist = [
'--property', 'a=1',
@@ -651,7 +649,7 @@ class TestImageList(TestImage):
columns, data = self.cmd.take_action(parsed_args)
self.api_mock.image_list.assert_called_with()
sf_mock.assert_called_with(
- [image_fakes.FakeImage.get_image_info(self._image)],
+ [self._image],
attr='a',
value='1',
property_field='properties',
@@ -662,10 +660,7 @@ class TestImageList(TestImage):
@mock.patch('openstackclient.common.utils.sort_items')
def test_image_list_sort_option(self, si_mock):
- si_mock.return_value = [
- copy.deepcopy(
- image_fakes.FakeImage.get_image_info(self._image))
- ]
+ si_mock.return_value = [copy.deepcopy(self._image)]
arglist = ['--sort', 'name:asc']
verifylist = [('sort', 'name:asc')]
@@ -677,7 +672,7 @@ class TestImageList(TestImage):
columns, data = self.cmd.take_action(parsed_args)
self.api_mock.image_list.assert_called_with()
si_mock.assert_called_with(
- [image_fakes.FakeImage.get_image_info(self._image)],
+ [self._image],
'name:asc'
)
self.assertEqual(self.columns, columns)