Skip to content

Commit

Permalink
pythongh-103329: Add regression test for PropertyMock with side effect (
Browse files Browse the repository at this point in the history
pythonGH-103358)

(cherry picked from commit 26c6598)

Co-authored-by: Russell Keith-Magee <[email protected]>
  • Loading branch information
freakboy3742 authored and miss-islington committed Apr 8, 2023
1 parent 70bc8c9 commit 6c3da92
Show file tree
Hide file tree
Showing 2 changed files with 23 additions and 1 deletion.
23 changes: 22 additions & 1 deletion Lib/unittest/test/testmock/testhelpers.py
Original file line number Diff line number Diff line change
Expand Up @@ -1077,7 +1077,7 @@ def test_propertymock(self):
p.stop()


def test_propertymock_returnvalue(self):
def test_propertymock_bare(self):
m = MagicMock()
p = PropertyMock()
type(m).foo = p
Expand All @@ -1088,6 +1088,27 @@ def test_propertymock_returnvalue(self):
self.assertNotIsInstance(returned, PropertyMock)


def test_propertymock_returnvalue(self):
m = MagicMock()
p = PropertyMock(return_value=42)
type(m).foo = p

returned = m.foo
p.assert_called_once_with()
self.assertEqual(returned, 42)
self.assertNotIsInstance(returned, PropertyMock)


def test_propertymock_side_effect(self):
m = MagicMock()
p = PropertyMock(side_effect=ValueError)
type(m).foo = p

with self.assertRaises(ValueError):
m.foo
p.assert_called_once_with()


class TestCallablePredicate(unittest.TestCase):

def test_type(self):
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
Regression tests for the behaviour of ``unittest.mock.PropertyMock`` were added.

0 comments on commit 6c3da92

Please sign in to comment.