本文整理汇总了Python中unittest.mock.assert_has_calls函数的典型用法代码示例。如果您正苦于以下问题:Python assert_has_calls函数的具体用法?Python assert_has_calls怎么用?Python assert_has_calls使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了assert_has_calls函数的7个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: test_variable_timeouts
def test_variable_timeouts(self):
nt = {"https://google.com/timeout/test/2/3/4/5/something": 10, "https://facebook.com/timeout": 15}
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:
uut = InvalidLinkBear(self.section, Queue())
self.assertEqual([x.message for x in list(uut.run("file", file_contents, network_timeout=nt))], [])
mock.assert_has_calls(
[
unittest.mock.call("https://facebook.com/", timeout=15, 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=2, allow_redirects=False),
]
)
示例2: test_assert_has_calls
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)))
示例3: test_password_prompt
def test_password_prompt(self):
from io import StringIO
import agutil.security.console
password = make_random_string()
mock = unittest.mock.create_autospec(agutil.security.console.getpass, return_value=password)
agutil.security.console.getpass = mock
source = tempname()
encrypted = tempname()
decrypted = tempname()
writer = open(source, mode='w')
for line in range(15):
writer.write(make_random_string())
writer.write('\n')
writer.close()
agutil.security.console.main([
'encrypt',
source,
'-o',
encrypted
])
self.assertFalse(cmp(source, encrypted))
agutil.security.console.main([
'decrypt',
encrypted,
'-o',
decrypted
])
self.assertTrue(cmp(source, decrypted))
mock.assert_has_calls([
unittest.mock.call('Encryption password: '),
unittest.mock.call('Confirm password: '),
unittest.mock.call('Decryption password: ')
])
示例4: test_variable_timeouts
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:
uut = InvalidLinkBear(self.section, Queue())
self.assertEqual([x.message
for x in list(uut.run('file', file_contents,
network_timeout=nt))], [])
with self.assertLogs(logging.getLogger()) as log:
self.assertEqual([x.message
for x in list(uut.run('file', file_contents,
timeout=20))], [])
self.assertEqual(log.output,
['WARNING:root:The setting `timeout` is '
'deprecated. Please use `network_timeout` '
'instead.'])
self.assertEqual([x.message
for x in list(uut.run('file',
['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)])
示例5: test_assert_has_calls_any_order
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_assert_has_calls_any_order
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)
示例7: test_assert_has_calls_with_function_spec
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)