def session(): sess = MagicMock() mock_resp = MagicMock() mock_resp.json = CoroutineMock() mock_resp_gen = CoroutineMock(return_value=mock_resp) request_ctx_mgr = MagicMock() request_ctx_mgr.__aenter__ = mock_resp_gen request_ctx_mgr.__aexit__ = CoroutineMock() sess.get = Mock(return_value=request_ctx_mgr) sess.post = Mock(return_value=request_ctx_mgr) return sess
async def test_context_manager_mocked(self): """Test with the context manager mocked out""" mock = MagicMock() context = CoroutineMock() context.say_hello = CoroutineMock(return_value="mocked!") mock.__aenter__ = CoroutineMock(return_value=context) mock.__aexit__ = CoroutineMock() self.uut.context_manager = mock self.assertEqual(await self.uut.test_me(), "mocked!")
def inner(return_value=None, side_effect=None): stub = stub_connection(return_value=return_value, side_effect=side_effect) context_manager = MagicMock() context_manager.__aenter__ = CoroutineMock(return_value=stub) context_manager.__aexit__ = CoroutineMock() manager = MagicMock() manager.new_connection = Mock(return_value=context_manager) manager.connection_stub = stub return manager