diff options
| author | Jenkins <jenkins@review.openstack.org> | 2017-01-11 22:28:06 +0000 |
|---|---|---|
| committer | Gerrit Code Review <review@openstack.org> | 2017-01-11 22:28:06 +0000 |
| commit | 08fc39e9b029bc4955402bed703af210e537ecaf (patch) | |
| tree | 730d4c588e62ba0e585f0af8cfc6fb9e1acdd8a2 /openstackclient/tests | |
| parent | e2f745b69279b2f3570b53c3884507c48ee63eb1 (diff) | |
| parent | f055fe67c11fff020ae959b1672844aaff382491 (diff) | |
| download | python-openstackclient-08fc39e9b029bc4955402bed703af210e537ecaf.tar.gz | |
Merge "Add support for Glance 'update image members' feature"
Diffstat (limited to 'openstackclient/tests')
| -rw-r--r-- | openstackclient/tests/functional/image/v2/test_image.py | 22 | ||||
| -rw-r--r-- | openstackclient/tests/unit/image/v2/test_image.py | 33 |
2 files changed, 55 insertions, 0 deletions
diff --git a/openstackclient/tests/functional/image/v2/test_image.py b/openstackclient/tests/functional/image/v2/test_image.py index 3f432b02..6faff94a 100644 --- a/openstackclient/tests/functional/image/v2/test_image.py +++ b/openstackclient/tests/functional/image/v2/test_image.py @@ -74,3 +74,25 @@ class ImageTests(base.TestCase): self.openstack('image unset --property a --property c ' + self.NAME) raw_output = self.openstack('image show ' + self.NAME + opts) self.assertEqual(self.NAME + "\n\n", raw_output) + + def test_image_members(self): + opts = self.get_opts(['project_id']) + my_project_id = self.openstack('token issue' + opts).strip() + self.openstack( + 'image add project {} {}'.format(self.NAME, my_project_id)) + + self.openstack( + 'image set --accept ' + self.NAME) + shared_img_list = self.parse_listing( + self.openstack('image list --shared', self.get_opts(['name'])) + ) + self.assertIn(self.NAME, [img['Name'] for img in shared_img_list]) + + self.openstack( + 'image set --reject ' + self.NAME) + shared_img_list = self.parse_listing( + self.openstack('image list --shared', self.get_opts(['name'])) + ) + + self.openstack( + 'image remove project {} {}'.format(self.NAME, my_project_id)) diff --git a/openstackclient/tests/unit/image/v2/test_image.py b/openstackclient/tests/unit/image/v2/test_image.py index a054e513..a1513119 100644 --- a/openstackclient/tests/unit/image/v2/test_image.py +++ b/openstackclient/tests/unit/image/v2/test_image.py @@ -845,6 +845,39 @@ class TestImageSet(TestImage): self.assertIsNone(result) + self.image_members_mock.update.assert_not_called() + + def test_image_set_membership_option(self): + membership = image_fakes.FakeImage.create_one_image_member( + attrs={'image_id': image_fakes.image_id, + 'member_id': self.project.id} + ) + self.image_members_mock.update.return_value = membership + + for status in ('accept', 'reject', 'pending'): + arglist = [ + '--%s' % status, + image_fakes.image_id, + ] + verifylist = [ + (status, True), + ('image', image_fakes.image_id) + ] + + parsed_args = self.check_parser(self.cmd, arglist, verifylist) + self.cmd.take_action(parsed_args) + + self.image_members_mock.update.assert_called_once_with( + image_fakes.image_id, + self.app.client_manager.auth_ref.project_id, + status if status == 'pending' else status + 'ed' + ) + self.image_members_mock.update.reset_mock() + + # Assert that the 'update image" route is also called, in addition to + # the 'update membership' route. + self.images_mock.update.assert_called_with(image_fakes.image_id) + def test_image_set_options(self): arglist = [ '--name', 'new-name', |
