from subprocess import call
import unittest.mock
class Foo():
def __init__(self, func):
self._func = func
def foo(self):
self._func('pwd')
return "ok"
class TestStringMethods(unittest.TestCase):
def setUp(self):
# oczywiście ta funkcja może (a nawet powinna) być gdzieś indziej
def mock_call(cmd):
if cmd == 'pwd':
return '/etc'
else:
raise NotImplementedError()
self.foo = Foo(func=mock_call)
def test_foo(self):
self.assertEqual(self.foo.foo(), "ok")
if __name__ == '__main__':
unittest.main()
ZnJvbSBzdWJwcm9jZXNzIGltcG9ydCBjYWxsCmltcG9ydCB1bml0dGVzdC5tb2NrCgpjbGFzcyBGb28oKToKCglkZWYgX19pbml0X18oc2VsZiwgZnVuYyk6CgkJc2VsZi5fZnVuYyA9IGZ1bmMKCglkZWYgZm9vKHNlbGYpOgoJCXNlbGYuX2Z1bmMoJ3B3ZCcpCgkJcmV0dXJuICJvayIKCmNsYXNzIFRlc3RTdHJpbmdNZXRob2RzKHVuaXR0ZXN0LlRlc3RDYXNlKToKCglkZWYgc2V0VXAoc2VsZik6CgkJIyBvY3p5d2nFm2NpZSB0YSBmdW5rY2phIG1vxbxlIChhIG5hd2V0IHBvd2lubmEpIGJ5xIcgZ2R6aWXFmyBpbmR6aWVqCgkJZGVmIG1vY2tfY2FsbChjbWQpOgoJCQlpZiBjbWQgPT0gJ3B3ZCc6CgkJCQlyZXR1cm4gJy9ldGMnCgkJCWVsc2U6CgkJCQlyYWlzZSBOb3RJbXBsZW1lbnRlZEVycm9yKCkKCQlzZWxmLmZvbyA9IEZvbyhmdW5jPW1vY2tfY2FsbCkKICAgIAoJZGVmIHRlc3RfZm9vKHNlbGYpOgoJCXNlbGYuYXNzZXJ0RXF1YWwoc2VsZi5mb28uZm9vKCksICJvayIpCgppZiBfX25hbWVfXyA9PSAnX19tYWluX18nOgoJdW5pdHRlc3QubWFpbigp