Skip to content

Commit f44416b

Browse files
Jenkinsopenstack-gerrit
authored andcommitted
Merge "Fix image tests to use warlock resources"
2 parents 6c13212 + c3d4810 commit f44416b

2 files changed

Lines changed: 21 additions & 43 deletions

File tree

openstackclient/tests/image/v2/fakes.py

Lines changed: 14 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,9 @@
1818
import random
1919
import uuid
2020

21+
from glanceclient.v2 import schemas
22+
import warlock
23+
2124
from openstackclient.common import utils as common_utils
2225
from openstackclient.tests import fakes
2326
from openstackclient.tests import utils
@@ -194,7 +197,7 @@ def create_one_image(attrs=None):
194197

195198
# Set default attribute
196199
image_info = {
197-
'id': 'image-id' + uuid.uuid4().hex,
200+
'id': str(uuid.uuid4()),
198201
'name': 'image-name' + uuid.uuid4().hex,
199202
'owner': 'image-owner' + uuid.uuid4().hex,
200203
'protected': bool(random.choice([0, 1])),
@@ -205,11 +208,13 @@ def create_one_image(attrs=None):
205208
# Overwrite default attributes if there are some attributes set
206209
image_info.update(attrs)
207210

208-
image = fakes.FakeResource(
209-
None,
210-
image_info,
211-
loaded=True)
212-
return image
211+
# Set up the schema
212+
model = warlock.model_factory(
213+
IMAGE_schema,
214+
schemas.SchemaBasedModel,
215+
)
216+
217+
return model(**image_info)
213218

214219
@staticmethod
215220
def create_images(attrs=None, count=2):
@@ -248,27 +253,6 @@ def get_images(images=None, count=2):
248253

249254
return mock.MagicMock(side_effect=images)
250255

251-
@staticmethod
252-
def get_image_info(image=None):
253-
"""Get the image info from a faked image object.
254-
255-
:param image:
256-
A FakeResource objects faking image
257-
:return
258-
A dictionary which includes the faked image info as follows:
259-
{
260-
'id': image_id,
261-
'name': image_name,
262-
'owner': image_owner,
263-
'protected': image_protected,
264-
'visibility': image_visibility,
265-
'tags': image_tags
266-
}
267-
"""
268-
if image is not None:
269-
return image._info
270-
return {}
271-
272256
@staticmethod
273257
def get_image_columns(image=None):
274258
"""Get the image columns from a faked image object.
@@ -280,9 +264,8 @@ def get_image_columns(image=None):
280264
('id', 'name', 'owner', 'protected', 'visibility', 'tags')
281265
"""
282266
if image is not None:
283-
return tuple(k for k in sorted(
284-
FakeImage.get_image_info(image).keys()))
285-
return tuple([])
267+
return tuple(sorted(image))
268+
return IMAGE_columns
286269

287270
@staticmethod
288271
def get_image_data(image=None):
@@ -296,7 +279,7 @@ def get_image_data(image=None):
296279
"""
297280
data_list = []
298281
if image is not None:
299-
for x in sorted(FakeImage.get_image_info(image).keys()):
282+
for x in sorted(image.keys()):
300283
if x == 'tags':
301284
# The 'tags' should be format_list
302285
data_list.append(

openstackclient/tests/image/v2/test_image.py

Lines changed: 7 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -75,7 +75,8 @@ def setUp(self):
7575

7676
# This is the return value for utils.find_resource()
7777
self.images_mock.get.return_value = copy.deepcopy(
78-
image_fakes.FakeImage.get_image_info(self.new_image))
78+
self.new_image
79+
)
7980
self.images_mock.update.return_value = self.new_image
8081

8182
# Get the command object to test
@@ -492,7 +493,7 @@ def setUp(self):
492493

493494
self.api_mock = mock.Mock()
494495
self.api_mock.image_list.side_effect = [
495-
[image_fakes.FakeImage.get_image_info(self._image)], [],
496+
[self._image], [],
496497
]
497498
self.app.client_manager.image.api = self.api_mock
498499

@@ -632,10 +633,7 @@ def test_image_list_long_option(self):
632633

633634
@mock.patch('openstackclient.api.utils.simple_filter')
634635
def test_image_list_property_option(self, sf_mock):
635-
sf_mock.return_value = [
636-
copy.deepcopy(
637-
image_fakes.FakeImage.get_image_info(self._image)),
638-
]
636+
sf_mock.return_value = [copy.deepcopy(self._image)]
639637

640638
arglist = [
641639
'--property', 'a=1',
@@ -651,7 +649,7 @@ def test_image_list_property_option(self, sf_mock):
651649
columns, data = self.cmd.take_action(parsed_args)
652650
self.api_mock.image_list.assert_called_with()
653651
sf_mock.assert_called_with(
654-
[image_fakes.FakeImage.get_image_info(self._image)],
652+
[self._image],
655653
attr='a',
656654
value='1',
657655
property_field='properties',
@@ -662,10 +660,7 @@ def test_image_list_property_option(self, sf_mock):
662660

663661
@mock.patch('openstackclient.common.utils.sort_items')
664662
def test_image_list_sort_option(self, si_mock):
665-
si_mock.return_value = [
666-
copy.deepcopy(
667-
image_fakes.FakeImage.get_image_info(self._image))
668-
]
663+
si_mock.return_value = [copy.deepcopy(self._image)]
669664

670665
arglist = ['--sort', 'name:asc']
671666
verifylist = [('sort', 'name:asc')]
@@ -677,7 +672,7 @@ def test_image_list_sort_option(self, si_mock):
677672
columns, data = self.cmd.take_action(parsed_args)
678673
self.api_mock.image_list.assert_called_with()
679674
si_mock.assert_called_with(
680-
[image_fakes.FakeImage.get_image_info(self._image)],
675+
[self._image],
681676
'name:asc'
682677
)
683678
self.assertEqual(self.columns, columns)

0 commit comments

Comments
 (0)