diff options
author | Zuul <zuul@review.opendev.org> | 2021-09-23 23:56:23 +0000 |
---|---|---|
committer | Gerrit Code Review <review@openstack.org> | 2021-09-23 23:56:23 +0000 |
commit | e03a11c6497d749ee6bd1fdc164621d930ae0eac (patch) | |
tree | 207c750136c1a0651932657dbeaffe6b0b9e8039 /test/unit/test_shell.py | |
parent | 373fa26ce1620d096918bd34ea4983b8ca96898c (diff) | |
parent | 99b5b81217abdfc4b7a8c388242aaf50c64f1f5b (diff) | |
download | python-swiftclient-e03a11c6497d749ee6bd1fdc164621d930ae0eac.tar.gz |
Merge "Allow unit tests to be run via pytest"
Diffstat (limited to 'test/unit/test_shell.py')
-rw-r--r-- | test/unit/test_shell.py | 52 |
1 files changed, 30 insertions, 22 deletions
diff --git a/test/unit/test_shell.py b/test/unit/test_shell.py index 84793ae..e3c0bc7 100644 --- a/test/unit/test_shell.py +++ b/test/unit/test_shell.py @@ -28,7 +28,6 @@ import textwrap from time import localtime, mktime, strftime, strptime import six -import sys import swiftclient from swiftclient.service import SwiftError @@ -1162,9 +1161,12 @@ class TestShell(unittest.TestCase): 'x-object-meta-mtime': mock.ANY}, response_dict={}) + @mock.patch('swiftclient.shell.stdin') @mock.patch('swiftclient.shell.io.open') @mock.patch('swiftclient.service.SwiftService.upload') - def test_upload_from_stdin(self, upload_mock, io_open_mock): + def test_upload_from_stdin(self, upload_mock, io_open_mock, stdin_mock): + stdin_mock.fileno.return_value = 123 + def fake_open(fd, mode): mock_io = mock.Mock() mock_io.fileno.return_value = fd @@ -1180,8 +1182,8 @@ class TestShell(unittest.TestCase): # element. This is because the upload method takes a container and a # list of SwiftUploadObjects. swift_upload_obj = upload_mock.mock_calls[0][1][1][0] - self.assertEqual(sys.stdin.fileno(), swift_upload_obj.source.fileno()) - io_open_mock.assert_called_once_with(sys.stdin.fileno(), mode='rb') + self.assertEqual(123, swift_upload_obj.source.fileno()) + io_open_mock.assert_called_once_with(123, mode='rb') @mock.patch('swiftclient.service.SwiftService.upload') def test_upload_from_stdin_no_name(self, upload_mock): @@ -3022,24 +3024,30 @@ class TestKeystoneOptions(MockHttpTest): no_auth=no_auth) def test_all_args_passed_to_keystone(self): - # check that all possible command line args are passed to keystone - opts = {'auth-version': '3'} - os_opts = dict(self.all_os_opts) - os_opts.update(self.catalog_opts) - self._test_options(opts, os_opts, flags=self.flags) - - opts = {'auth-version': '2.0'} - self._test_options(opts, os_opts, flags=self.flags) - - opts = {} - self.defaults['auth-version'] = '3' - self._test_options(opts, os_opts, flags=self.flags) - - for o in ('user-domain-name', 'user-domain-id', - 'project-domain-name', 'project-domain-id'): - os_opts.pop(o) - self.defaults['auth-version'] = '2.0' - self._test_options(opts, os_opts, flags=self.flags) + rootLogger = logging.getLogger() + orig_lvl = rootLogger.getEffectiveLevel() + try: + rootLogger.setLevel(logging.DEBUG) + # check that all possible command line args are passed to keystone + opts = {'auth-version': '3'} + os_opts = dict(self.all_os_opts) + os_opts.update(self.catalog_opts) + self._test_options(opts, os_opts, flags=self.flags) + + opts = {'auth-version': '2.0'} + self._test_options(opts, os_opts, flags=self.flags) + + opts = {} + self.defaults['auth-version'] = '3' + self._test_options(opts, os_opts, flags=self.flags) + + for o in ('user-domain-name', 'user-domain-id', + 'project-domain-name', 'project-domain-id'): + os_opts.pop(o) + self.defaults['auth-version'] = '2.0' + self._test_options(opts, os_opts, flags=self.flags) + finally: + rootLogger.setLevel(orig_lvl) def test_catalog_options_and_flags_not_required_v3(self): # check that all possible command line args are passed to keystone |