diff options
| author | Dean Troyer <dtroyer@gmail.com> | 2017-01-12 09:41:43 -0600 |
|---|---|---|
| committer | Dean Troyer <dtroyer@gmail.com> | 2017-01-12 10:50:07 -0600 |
| commit | 96f3c7e78315e77ca4b550cff71b104095f8dbc3 (patch) | |
| tree | 0e971c488250962e947af63e907a5e16f265e010 /openstackclient/tests | |
| parent | 4b2355b3e3cdbdb4e1a395e313147decf6221bc4 (diff) | |
| download | python-openstackclient-96f3c7e78315e77ca4b550cff71b104095f8dbc3.tar.gz | |
Fix image member unit tests occasional failures
Let's try just unrolling the member status tests and not getting
too fancy here.
Change-Id: I30022ebd2da6d6cf1abba424d7d7fa679285f291
Diffstat (limited to 'openstackclient/tests')
| -rw-r--r-- | openstackclient/tests/unit/image/v2/test_image.py | 107 |
1 files changed, 87 insertions, 20 deletions
diff --git a/openstackclient/tests/unit/image/v2/test_image.py b/openstackclient/tests/unit/image/v2/test_image.py index a1513119..164185df 100644 --- a/openstackclient/tests/unit/image/v2/test_image.py +++ b/openstackclient/tests/unit/image/v2/test_image.py @@ -829,6 +829,11 @@ class TestImageSet(TestImage): self.images_mock.get.return_value = self.model(**image_fakes.IMAGE) self.images_mock.update.return_value = self.model(**image_fakes.IMAGE) + + self.app.client_manager.auth_ref = mock.Mock( + project_id=self.project.id, + ) + # Get the command object to test self.cmd = image.SetImage(self.app, None) @@ -847,32 +852,94 @@ class TestImageSet(TestImage): self.image_members_mock.update.assert_not_called() - def test_image_set_membership_option(self): + def test_image_set_membership_option_accept(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 + + arglist = [ + '--accept', + image_fakes.image_id, + ] + verifylist = [ + ('accept', True), + ('reject', False), + ('pending', False), + ('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, + 'accepted', + ) + + # 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_membership_option_reject(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 + + arglist = [ + '--reject', + image_fakes.image_id, + ] + verifylist = [ + ('accept', False), + ('reject', True), + ('pending', False), + ('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, + 'rejected', + ) + + # 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_membership_option_pending(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() + arglist = [ + '--pending', + image_fakes.image_id, + ] + verifylist = [ + ('accept', False), + ('reject', False), + ('pending', 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, + 'pending', + ) # Assert that the 'update image" route is also called, in addition to # the 'update membership' route. |
