Beispiel #1
0
 def test_oneway(self):
     ctx = FContext("fooid")
     frame = utils.mock_frame(ctx)
     transport = FAsyncTransportImpl()
     response = yield transport.oneway(ctx, frame)
     self.assertIsNone(response)
     self.assertEqual(frame, transport._payload)
Beispiel #2
0
 def test_request(self):
     ctx = FContext("fooid")
     frame = utils.mock_frame(ctx)
     transport = FAsyncTransportImpl(response=frame)
     response_transport = yield transport.request(ctx, frame)
     self.assertEqual(frame, response_transport.getvalue())
     self.assertEqual(0, len(transport._futures))
     self.assertEqual(frame, transport._payload)
Beispiel #3
0
 def test_handle_response_unregistered_op_id(self):
     transport = FAsyncTransport()
     ctx1 = FContext()
     ctx2 = FContext()
     future = Future()
     transport._futures[str(ctx1._get_op_id())] = future
     yield transport.handle_response(utils.mock_frame(ctx2))
     self.assertFalse(future.done())
Beispiel #4
0
 def test_oneway_not_open(self):
     ctx = FContext("fooid")
     ctx.timeout = 10
     frame = utils.mock_frame(ctx)
     transport = FAsyncTransportImpl(is_open=False)
     with self.assertRaises(TTransportException) as cm:
         yield transport.oneway(ctx, frame)
     self.assertEqual(TTransportExceptionType.NOT_OPEN, cm.exception.type)
     self.assertIsNone(transport._payload)
 async def test_oneway_timeout(self):
     ctx = FContext("fooid")
     ctx.timeout = 10
     frame = utils.mock_frame(ctx)
     transport = FAsyncTransportImpl(flush_wait=1)
     with self.assertRaises(TTransportException) as cm:
         await transport.oneway(ctx, frame)
     self.assertEqual(TTransportExceptionType.TIMED_OUT, cm.exception.type)
     self.assertEqual(frame, transport._payload)
 async def test_request_response_timeout(self):
     ctx = FContext("fooid")
     frame = utils.mock_frame(ctx)
     transport = FAsyncTransportImpl()
     with self.assertRaises(TTransportException) as cm:
         await transport.request(ctx, frame)
     self.assertEqual(TTransportExceptionType.TIMED_OUT, cm.exception.type)
     self.assertEqual(0, len(transport._futures))
     self.assertEqual(frame, transport._payload)
Beispiel #7
0
 def test_oneway_size_exception(self):
     ctx = FContext("fooid")
     ctx.timeout = 10
     frame = utils.mock_frame(ctx)
     transport = FAsyncTransportImpl(request_size_limit=1)
     with self.assertRaises(TTransportException) as cm:
         yield transport.oneway(ctx, frame)
     self.assertEqual(TTransportExceptionType.REQUEST_TOO_LARGE,
                      cm.exception.type)
     self.assertIsNone(transport._payload)
 async def test_request_not_open(self):
     ctx = FContext("fooid")
     ctx.timeout = 10
     frame = utils.mock_frame(ctx)
     transport = FAsyncTransportImpl(is_open=False)
     with self.assertRaises(TTransportException) as cm:
         await transport.request(ctx, frame)
     self.assertEqual(TTransportExceptionType.NOT_OPEN, cm.exception.type)
     self.assertEqual(0, len(transport._futures))
     self.assertIsNone(transport._payload)
Beispiel #9
0
 def test_request_flush_timeout(self):
     ctx = FContext("fooid")
     ctx.timeout = 10
     frame = utils.mock_frame(ctx)
     transport = FAsyncTransportImpl(flush_wait=1)
     with self.assertRaises(TTransportException) as cm:
         yield transport.request(ctx, frame)
     self.assertEqual(TTransportExceptionType.TIMED_OUT, cm.exception.type)
     self.assertEqual("request timed out", cm.exception.message)
     self.assertEqual(0, len(transport._futures))
     self.assertEqual(frame, transport._payload)
Beispiel #10
0
 def test_request_flush_exception(self):
     ctx = FContext("fooid")
     frame = utils.mock_frame(ctx)
     e = TTransportException(type=TTransportExceptionType.END_OF_FILE,
                             message="oh no!")
     transport = FAsyncTransportImpl(e=e)
     with self.assertRaises(TTransportException) as cm:
         yield transport.request(ctx, frame)
     self.assertEqual(e, cm.exception)
     self.assertEqual(0, len(transport._futures))
     self.assertEqual(frame, transport._payload)
 async def test_request_pending(self):
     ctx = FContext("fooid")
     frame = utils.mock_frame(ctx)
     transport = FAsyncTransportImpl()
     with self.assertRaises(TTransportException) as cm:
         await gather(transport.request(ctx, frame),
                      transport.request(ctx, frame))
     self.assertEqual(TTransportExceptionType.UNKNOWN, cm.exception.type)
     self.assertEqual("request already in flight for context",
                      cm.exception.message)
     # We still have one request pending
     self.assertEqual(1, len(transport._futures))