Commit c667b094 authored by Xtreak's avatar Xtreak Committed by Chris Withers

bpo-32153: Add unit test for create_autospec with partial function returned in getattr (#10398)

* Add create_autospec with partial function returned in getattr

* Use self.assertFalse instead of assert

* Use different names and remove object
parent 68b56d02
...@@ -8,6 +8,7 @@ from unittest.mock import ( ...@@ -8,6 +8,7 @@ from unittest.mock import (
) )
from datetime import datetime from datetime import datetime
from functools import partial
class SomeClass(object): class SomeClass(object):
def one(self, a, b): def one(self, a, b):
...@@ -871,6 +872,19 @@ class SpecSignatureTest(unittest.TestCase): ...@@ -871,6 +872,19 @@ class SpecSignatureTest(unittest.TestCase):
mocked.assert_called_once_with(4, 5, 6) mocked.assert_called_once_with(4, 5, 6)
def test_autospec_getattr_partial_function(self):
# bpo-32153 : getattr returning partial functions without
# __name__ should not create AttributeError in create_autospec
class Foo:
def __getattr__(self, attribute):
return partial(lambda name: name, attribute)
proxy = Foo()
autospec = create_autospec(proxy)
self.assertFalse(hasattr(autospec, '__name__'))
class TestCallList(unittest.TestCase): class TestCallList(unittest.TestCase):
def test_args_list_contains_call_list(self): def test_args_list_contains_call_list(self):
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment