Skip to content

Commit 4b84cdd

Browse files
authored
Merge pull request #70 from cloudblue/mocker_calls_not_cleared_after_previous_tc_fails
Wrap mocker stop within try/finally
2 parents 8f1a017 + 003ae69 commit 4b84cdd

2 files changed

Lines changed: 16 additions & 2 deletions

File tree

connect/client/testing/fluent.py

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -146,8 +146,10 @@ def start(self):
146146
_mocker.start()
147147

148148
def reset(self, success=True):
149-
_mocker.stop(allow_assert=success)
150-
_mocker.reset()
149+
try:
150+
_mocker.stop(allow_assert=success)
151+
finally:
152+
_mocker.reset()
151153

152154
def __enter__(self):
153155
self.start()

tests/client/test_testing.py

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -402,3 +402,15 @@ def test_exclude(mocker, exclude):
402402

403403
def test_get_requests_mocker():
404404
assert get_requests_mocker() == _mocker
405+
406+
407+
def test_mocker_reset(mocker):
408+
mocker.patch(
409+
'connect.client.testing.fluent._mocker.stop',
410+
side_effect=Exception('error'),
411+
)
412+
mocked_reset = mocker.patch('connect.client.testing.fluent._mocker.reset')
413+
mocker = ConnectClientMocker('http://localhost')
414+
with pytest.raises(Exception):
415+
mocker.reset()
416+
mocked_reset.assert_called_once()

0 commit comments

Comments
 (0)