Injecting mock objects into functions and methods using Python's contextmanager | Hacker News Reader