mirror of
https://github.com/thegeeklab/ansible-later.git
synced 2024-11-30 00:30:35 +00:00
95 lines
2.2 KiB
Python
95 lines
2.2 KiB
Python
|
from testfixtures.mock import Mock, call, ANY
|
||
|
|
||
|
from .test_compare import CompareHelper
|
||
|
|
||
|
class TestCall(CompareHelper):
|
||
|
|
||
|
def test_non_root_call_not_equal(self):
|
||
|
self.check_raises(
|
||
|
call.foo().bar(),
|
||
|
call.baz().bar(),
|
||
|
'\n'
|
||
|
"'call.foo().bar()'\n"
|
||
|
'!=\n'
|
||
|
"'call.baz().bar()'"
|
||
|
)
|
||
|
|
||
|
def test_non_root_attr_not_equal(self):
|
||
|
self.check_raises(
|
||
|
call.foo.bar(),
|
||
|
call.baz.bar(),
|
||
|
'\n'
|
||
|
"'call.foo.bar()'\n"
|
||
|
'!=\n'
|
||
|
"'call.baz.bar()'"
|
||
|
)
|
||
|
|
||
|
def test_non_root_params_not_equal(self):
|
||
|
self.check_raises(
|
||
|
call.foo(x=1).bar(),
|
||
|
call.foo(x=2).bar(),
|
||
|
'\n'
|
||
|
"'call.foo(x=1)'\n"
|
||
|
'!=\n'
|
||
|
"'call.foo(x=2)'"
|
||
|
)
|
||
|
|
||
|
def test_any(self):
|
||
|
assert call == ANY
|
||
|
|
||
|
def test_no_len(self):
|
||
|
assert not call == object()
|
||
|
|
||
|
def test_two_elements(self):
|
||
|
m = Mock()
|
||
|
m(x=1)
|
||
|
assert m.call_args == ((), {'x': 1})
|
||
|
|
||
|
def test_other_empty(self):
|
||
|
assert call == ()
|
||
|
|
||
|
def test_other_single(self):
|
||
|
assert call == ((),)
|
||
|
assert call == ({},)
|
||
|
assert call == ('',)
|
||
|
|
||
|
def test_other_double(self):
|
||
|
assert call == ('', (),)
|
||
|
assert call == ('', {},)
|
||
|
|
||
|
def test_other_quad(self):
|
||
|
assert not call == (1, 2, 3, 4)
|
||
|
|
||
|
|
||
|
class TestMock(CompareHelper):
|
||
|
|
||
|
def test_non_root_call_not_equal(self):
|
||
|
m = Mock()
|
||
|
m.foo().bar()
|
||
|
self.check_raises(
|
||
|
m.mock_calls[-1],
|
||
|
call.baz().bar(),
|
||
|
'\n'
|
||
|
"'call.foo().bar()'\n"
|
||
|
'!=\n'
|
||
|
"'call.baz().bar()'"
|
||
|
)
|
||
|
|
||
|
def test_non_root_attr_not_equal(self):
|
||
|
m = Mock()
|
||
|
m.foo.bar()
|
||
|
self.check_raises(
|
||
|
m.mock_calls[-1],
|
||
|
call.baz.bar(),
|
||
|
'\n'
|
||
|
"'call.foo.bar()'\n"
|
||
|
'!=\n'
|
||
|
"'call.baz.bar()'"
|
||
|
)
|
||
|
|
||
|
def test_non_root_params_not_equal(self):
|
||
|
m = Mock()
|
||
|
m.foo(x=1).bar()
|
||
|
# surprising and annoying (and practically unsolvable :-/):
|
||
|
assert m.mock_calls[-1] == call.foo(y=2).bar()
|