Preserve mock side_effect’s in test_pure

The helper method to test if exceptions are propagated or handled would
unset the mock objects side_effect value when its done. This overrides
the original value making the mock not behave as expected as soon as it
is passed into assert_error_propagates.

This changes the helper to store the original side effect and then put
it back once we are done making it throw an exception.

Change-Id: I71900071a1c050913b7283aa743a17c24da1a6b9
Closes-Bug: #1474130
This commit is contained in:
Patrick East 2015-07-13 13:42:46 -07:00
parent 409bc28183
commit 56e0f93e6b
1 changed files with 2 additions and 1 deletions

View File

@ -205,11 +205,12 @@ class PureDriverTestCase(test.TestCase):
"""
func(*args, **kwargs)
for mock_func in mocks:
original_side_effect = mock_func.side_effect
mock_func.side_effect = [exception.PureDriverException(
reason='reason')]
self.assertRaises(exception.PureDriverException,
func, *args, **kwargs)
mock_func.side_effect = None
mock_func.side_effect = original_side_effect
class PureBaseVolumeDriverTestCase(PureDriverTestCase):