本文整理匯總了Python中unittest.mock.assert_has_calls方法的典型用法代碼示例。如果您正苦於以下問題:Python mock.assert_has_calls方法的具體用法?Python mock.assert_has_calls怎麽用?Python mock.assert_has_calls使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類unittest.mock
的用法示例。
在下文中一共展示了mock.assert_has_calls方法的6個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Python代碼示例。
示例1: test_assert_has_calls
# 需要導入模塊: from unittest import mock [as 別名]
# 或者: from unittest.mock import assert_has_calls [as 別名]
def test_assert_has_calls(self):
kalls1 = [
call(1, 2), ({'a': 3},),
((3, 4),), call(b=6),
('', (1,), {'b': 6}),
]
kalls2 = [call.foo(), call.bar(1)]
kalls2.extend(call.spam().baz(a=3).call_list())
kalls2.extend(call.bam(set(), foo={}).fish([1]).call_list())
mocks = []
for mock in Mock(), MagicMock():
mock(1, 2)
mock(a=3)
mock(3, 4)
mock(b=6)
mock(1, b=6)
mocks.append((mock, kalls1))
mock = Mock()
mock.foo()
mock.bar(1)
mock.spam().baz(a=3)
mock.bam(set(), foo={}).fish([1])
mocks.append((mock, kalls2))
for mock, kalls in mocks:
for i in range(len(kalls)):
for step in 1, 2, 3:
these = kalls[i:i+step]
mock.assert_has_calls(these)
if len(these) > 1:
self.assertRaises(
AssertionError,
mock.assert_has_calls,
list(reversed(these))
)
示例2: test_assert_has_calls_with_function_spec
# 需要導入模塊: from unittest import mock [as 別名]
# 或者: from unittest.mock import assert_has_calls [as 別名]
def test_assert_has_calls_with_function_spec(self):
def f(a, b, c, d=None):
pass
mock = Mock(spec=f)
mock(1, b=2, c=3)
mock(4, 5, c=6, d=7)
mock(10, 11, c=12)
calls = [
('', (1, 2, 3), {}),
('', (4, 5, 6), {'d': 7}),
((10, 11, 12), {}),
]
mock.assert_has_calls(calls)
mock.assert_has_calls(calls, any_order=True)
mock.assert_has_calls(calls[1:])
mock.assert_has_calls(calls[1:], any_order=True)
mock.assert_has_calls(calls[:-1])
mock.assert_has_calls(calls[:-1], any_order=True)
# Reversed order
calls = list(reversed(calls))
with self.assertRaises(AssertionError):
mock.assert_has_calls(calls)
mock.assert_has_calls(calls, any_order=True)
with self.assertRaises(AssertionError):
mock.assert_has_calls(calls[1:])
mock.assert_has_calls(calls[1:], any_order=True)
with self.assertRaises(AssertionError):
mock.assert_has_calls(calls[:-1])
mock.assert_has_calls(calls[:-1], any_order=True)
示例3: test_assert_has_calls_nested_spec
# 需要導入模塊: from unittest import mock [as 別名]
# 或者: from unittest.mock import assert_has_calls [as 別名]
def test_assert_has_calls_nested_spec(self):
class Something:
def __init__(self): pass
def meth(self, a, b, c, d=None): pass
class Foo:
def __init__(self, a): pass
def meth1(self, a, b): pass
mock_class = create_autospec(Something)
for m in [mock_class, mock_class()]:
m.meth(1, 2, 3, d=1)
m.assert_has_calls([call.meth(1, 2, 3, d=1)])
m.assert_has_calls([call.meth(1, 2, 3, 1)])
mock_class.reset_mock()
for m in [mock_class, mock_class()]:
self.assertRaises(AssertionError, m.assert_has_calls, [call.Foo()])
m.Foo(1).meth1(1, 2)
m.assert_has_calls([call.Foo(1), call.Foo(1).meth1(1, 2)])
m.Foo.assert_has_calls([call(1), call().meth1(1, 2)])
mock_class.reset_mock()
invalid_calls = [call.meth(1),
call.non_existent(1),
call.Foo().non_existent(1),
call.Foo().meth(1, 2, 3, 4)]
for kall in invalid_calls:
self.assertRaises(AssertionError,
mock_class.assert_has_calls,
[kall]
)
示例4: test_assert_has_calls_nested_without_spec
# 需要導入模塊: from unittest import mock [as 別名]
# 或者: from unittest.mock import assert_has_calls [as 別名]
def test_assert_has_calls_nested_without_spec(self):
m = MagicMock()
m().foo().bar().baz()
m.one().two().three()
calls = call.one().two().three().call_list()
m.assert_has_calls(calls)
示例5: test_assert_has_calls_any_order
# 需要導入模塊: from unittest import mock [as 別名]
# 或者: from unittest.mock import assert_has_calls [as 別名]
def test_assert_has_calls_any_order(self):
mock = Mock()
mock(1, 2)
mock(a=3)
mock(3, 4)
mock(b=6)
mock(b=6)
kalls = [
call(1, 2), ({'a': 3},),
((3, 4),), ((), {'a': 3}),
('', (1, 2)), ('', {'a': 3}),
('', (1, 2), {}), ('', (), {'a': 3})
]
for kall in kalls:
mock.assert_has_calls([kall], any_order=True)
for kall in call(1, '2'), call(b=3), call(), 3, None, 'foo':
self.assertRaises(
AssertionError, mock.assert_has_calls,
[kall], any_order=True
)
kall_lists = [
[call(1, 2), call(b=6)],
[call(3, 4), call(1, 2)],
[call(b=6), call(b=6)],
]
for kall_list in kall_lists:
mock.assert_has_calls(kall_list, any_order=True)
kall_lists = [
[call(b=6), call(b=6), call(b=6)],
[call(1, 2), call(1, 2)],
[call(3, 4), call(1, 2), call(5, 7)],
[call(b=6), call(3, 4), call(b=6), call(1, 2), call(b=6)],
]
for kall_list in kall_lists:
self.assertRaises(
AssertionError, mock.assert_has_calls,
kall_list, any_order=True
)
示例6: test_variable_timeouts
# 需要導入模塊: from unittest import mock [as 別名]
# 或者: from unittest.mock import assert_has_calls [as 別名]
def test_variable_timeouts(self):
nt = {
'https://google.com/timeout/test/2/3/4/5/something': 10,
'https://facebook.com/timeout': 2,
'*': 25
}
file_contents = """
https://facebook.com/
https://google.com/
https://coala.io/som/thingg/page/123
""".splitlines()
def response(status_code, *args, **kwargs):
res = requests.Response()
res.status_code = status_code
return res
with unittest.mock.patch(
'tests.general.InvalidLinkBearTest.requests.head',
return_value=response(status_code=200)) as mock:
self.check_validity(self.uut, file_contents,
settings={'network_timeout': nt})
with self.assertLogs(logging.getLogger()) as log:
self.check_validity(self.uut, file_contents,
settings={'timeout': 20})
self.assertEqual(log.output,
['WARNING:root:The setting `timeout` is '
'deprecated. Please use `network_timeout` '
'instead.'])
self.check_validity(self.uut, ['https://gitmate.io'])
mock.assert_has_calls([
unittest.mock.call('https://facebook.com/', timeout=2,
allow_redirects=False),
unittest.mock.call('https://google.com/',
timeout=10, allow_redirects=False),
unittest.mock.call('https://coala.io/som/thingg/page/123',
timeout=25, allow_redirects=False),
unittest.mock.call('https://facebook.com/', timeout=20,
allow_redirects=False),
unittest.mock.call('https://google.com/',
timeout=20, allow_redirects=False),
unittest.mock.call('https://coala.io/som/thingg/page/123',
timeout=20, allow_redirects=False),
unittest.mock.call('https://gitmate.io',
timeout=15, allow_redirects=False)])