def test_remote_closed_exc_in_handler(self): handler = self.make_handler([], exc=True) session = self.make_session(handler=handler) self.loop.run_until_complete(session._remote_closed()) self.assertTrue(session.expired) self.assertEqual(session.state, protocol.STATE_CLOSED)
def test_remote_closed_idempotent(self): messages = [] session = self.make_session(result=messages) session.state = protocol.STATE_CLOSED self.loop.run_until_complete(session._remote_closed()) self.assertEqual(session.state, protocol.STATE_CLOSED) self.assertEqual(messages, [])
def test_remote_closed(self): messages = [] session = self.make_session(result=messages) self.loop.run_until_complete(session._remote_closed()) self.assertTrue(session.expired) self.assertEqual(session.state, protocol.STATE_CLOSED) self.assertEqual( messages, [(protocol.ClosedMessage, session)])
def test_remote_closed_with_waiter(self): messages = [] session = self.make_session(result=messages) session._waiter = waiter = asyncio.Future(loop=self.loop) self.loop.run_until_complete(session._remote_closed()) self.assertTrue(waiter.done()) self.assertTrue(session.expired) self.assertIsNone(session._waiter) self.assertEqual(session.state, protocol.STATE_CLOSED) self.assertEqual( messages, [(protocol.ClosedMessage, session)])