Ejemplo n.º 1
0
    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)
Ejemplo n.º 2
0
    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, [])
Ejemplo n.º 3
0
    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)])
Ejemplo n.º 4
0
    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)])