summaryrefslogtreecommitdiff
path: root/openstackclient/tests
diff options
context:
space:
mode:
authorAdam Harwell <flux.adam@gmail.com>2018-06-13 15:22:17 -0700
committerDean Troyer <dtroyer@gmail.com>2018-06-28 16:17:14 +0000
commit9edbab8c90bb74ba12892d0c77c8e8a99d4868fe (patch)
treec3ad00871aaea7cba714868919b7bc61838b78c8 /openstackclient/tests
parent9766eb23e797935fcafa4990b46cedde83b19fc6 (diff)
downloadpython-openstackclient-9edbab8c90bb74ba12892d0c77c8e8a99d4868fe.tar.gz
Add ability to filter image list by tag
Change-Id: I2e222d3e69df9d8d7cd472663caaee31bedd848c
Diffstat (limited to 'openstackclient/tests')
-rw-r--r--openstackclient/tests/functional/image/v2/test_image.py29
-rw-r--r--openstackclient/tests/unit/image/v2/test_image.py14
2 files changed, 36 insertions, 7 deletions
diff --git a/openstackclient/tests/functional/image/v2/test_image.py b/openstackclient/tests/functional/image/v2/test_image.py
index 278ba5b9..3037b903 100644
--- a/openstackclient/tests/functional/image/v2/test_image.py
+++ b/openstackclient/tests/functional/image/v2/test_image.py
@@ -28,10 +28,11 @@ class ImageTests(base.TestCase):
@classmethod
def setUpClass(cls):
super(ImageTests, cls).setUpClass()
+ cls.image_tag = 'my_tag'
json_output = json.loads(cls.openstack(
'--os-image-api-version 2 '
- 'image create -f json ' +
- cls.NAME
+ 'image create -f json --tag {tag} {name}'.format(
+ tag=cls.image_tag, name=cls.NAME)
))
cls.image_id = json_output["id"]
cls.assertOutput(cls.NAME, json_output['name'])
@@ -81,6 +82,16 @@ class ImageTests(base.TestCase):
[img['Status'] for img in json_output]
)
+ def test_image_list_with_tag_filter(self):
+ json_output = json.loads(self.openstack(
+ 'image list --tag ' + self.image_tag + ' --long -f json'
+ ))
+ for taglist in [img['Tags'].split(', ') for img in json_output]:
+ self.assertIn(
+ self.image_tag,
+ taglist
+ )
+
def test_image_attributes(self):
"""Test set, unset, show on attributes, tags and properties"""
@@ -142,6 +153,10 @@ class ImageTests(base.TestCase):
)
# Test tags
+ self.assertNotIn(
+ '01',
+ json_output["tags"].split(', ')
+ )
self.openstack(
'image set ' +
'--tag 01 ' +
@@ -151,9 +166,9 @@ class ImageTests(base.TestCase):
'image show -f json ' +
self.NAME
))
- self.assertEqual(
+ self.assertIn(
'01',
- json_output["tags"],
+ json_output["tags"].split(', ')
)
self.openstack(
@@ -165,9 +180,9 @@ class ImageTests(base.TestCase):
'image show -f json ' +
self.NAME
))
- self.assertEqual(
- '',
- json_output["tags"],
+ self.assertNotIn(
+ '01',
+ json_output["tags"].split(', ')
)
def test_image_set_rename(self):
diff --git a/openstackclient/tests/unit/image/v2/test_image.py b/openstackclient/tests/unit/image/v2/test_image.py
index 301cd037..b769d1f6 100644
--- a/openstackclient/tests/unit/image/v2/test_image.py
+++ b/openstackclient/tests/unit/image/v2/test_image.py
@@ -779,6 +779,20 @@ class TestImageList(TestImage):
status='active', marker=self._image.id
)
+ def test_image_list_tag_option(self):
+ arglist = [
+ '--tag', 'abc',
+ ]
+ verifylist = [
+ ('tag', 'abc'),
+ ]
+ parsed_args = self.check_parser(self.cmd, arglist, verifylist)
+
+ columns, data = self.cmd.take_action(parsed_args)
+ self.api_mock.image_list.assert_called_with(
+ tag='abc', marker=self._image.id
+ )
+
class TestListImageProjects(TestImage):