Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit e03a11c

Browse files
Zuulopenstack-gerrit
authored andcommitted
Merge "Allow unit tests to be run via pytest"
2 parents 373fa26 + 99b5b81 commit e03a11c

File tree

1 file changed

+30
-22
lines changed

1 file changed

+30
-22
lines changed

test/unit/test_shell.py

Lines changed: 30 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,6 @@
2828
from time import localtime, mktime, strftime, strptime
2929

3030
import six
31-
import sys
3231

3332
import swiftclient
3433
from swiftclient.service import SwiftError
@@ -1162,9 +1161,12 @@ def test_upload_segments_to_same_container(self, connection):
11621161
'x-object-meta-mtime': mock.ANY},
11631162
response_dict={})
11641163

1164+
@mock.patch('swiftclient.shell.stdin')
11651165
@mock.patch('swiftclient.shell.io.open')
11661166
@mock.patch('swiftclient.service.SwiftService.upload')
1167-
def test_upload_from_stdin(self, upload_mock, io_open_mock):
1167+
def test_upload_from_stdin(self, upload_mock, io_open_mock, stdin_mock):
1168+
stdin_mock.fileno.return_value = 123
1169+
11681170
def fake_open(fd, mode):
11691171
mock_io = mock.Mock()
11701172
mock_io.fileno.return_value = fd
@@ -1180,8 +1182,8 @@ def fake_open(fd, mode):
11801182
# element. This is because the upload method takes a container and a
11811183
# list of SwiftUploadObjects.
11821184
swift_upload_obj = upload_mock.mock_calls[0][1][1][0]
1183-
self.assertEqual(sys.stdin.fileno(), swift_upload_obj.source.fileno())
1184-
io_open_mock.assert_called_once_with(sys.stdin.fileno(), mode='rb')
1185+
self.assertEqual(123, swift_upload_obj.source.fileno())
1186+
io_open_mock.assert_called_once_with(123, mode='rb')
11851187

11861188
@mock.patch('swiftclient.service.SwiftService.upload')
11871189
def test_upload_from_stdin_no_name(self, upload_mock):
@@ -3022,24 +3024,30 @@ def _test_options(self, opts, os_opts, flags=None, no_auth=False):
30223024
no_auth=no_auth)
30233025

30243026
def test_all_args_passed_to_keystone(self):
3025-
# check that all possible command line args are passed to keystone
3026-
opts = {'auth-version': '3'}
3027-
os_opts = dict(self.all_os_opts)
3028-
os_opts.update(self.catalog_opts)
3029-
self._test_options(opts, os_opts, flags=self.flags)
3030-
3031-
opts = {'auth-version': '2.0'}
3032-
self._test_options(opts, os_opts, flags=self.flags)
3033-
3034-
opts = {}
3035-
self.defaults['auth-version'] = '3'
3036-
self._test_options(opts, os_opts, flags=self.flags)
3037-
3038-
for o in ('user-domain-name', 'user-domain-id',
3039-
'project-domain-name', 'project-domain-id'):
3040-
os_opts.pop(o)
3041-
self.defaults['auth-version'] = '2.0'
3042-
self._test_options(opts, os_opts, flags=self.flags)
3027+
rootLogger = logging.getLogger()
3028+
orig_lvl = rootLogger.getEffectiveLevel()
3029+
try:
3030+
rootLogger.setLevel(logging.DEBUG)
3031+
# check that all possible command line args are passed to keystone
3032+
opts = {'auth-version': '3'}
3033+
os_opts = dict(self.all_os_opts)
3034+
os_opts.update(self.catalog_opts)
3035+
self._test_options(opts, os_opts, flags=self.flags)
3036+
3037+
opts = {'auth-version': '2.0'}
3038+
self._test_options(opts, os_opts, flags=self.flags)
3039+
3040+
opts = {}
3041+
self.defaults['auth-version'] = '3'
3042+
self._test_options(opts, os_opts, flags=self.flags)
3043+
3044+
for o in ('user-domain-name', 'user-domain-id',
3045+
'project-domain-name', 'project-domain-id'):
3046+
os_opts.pop(o)
3047+
self.defaults['auth-version'] = '2.0'
3048+
self._test_options(opts, os_opts, flags=self.flags)
3049+
finally:
3050+
rootLogger.setLevel(orig_lvl)
30433051

30443052
def test_catalog_options_and_flags_not_required_v3(self):
30453053
# check that all possible command line args are passed to keystone

0 commit comments

Comments
 (0)