def connect(self): parameters = pika.ConnectionParameters( virtual_host=virtual_host, credentials=pika.PlainCredentials(username, password), frame_max=frame_max_size, host=rabbitmq_server) select_connection.POLLER_TYPE = 'epoll' self.connection_server = select_connection.SelectConnection( parameters=parameters, on_open_callback=self.on_connected)
def test_select_connection_timeout(self): with self.assertRaises(exceptions.AMQPConnectionError) as err_ctx: with mock.patch( 'pika.SelectConnection' '._create_tcp_connection_socket', return_value=mock.Mock( spec_set=socket.socket, connect=mock.Mock( side_effect=mock_timeout))) as create_sock_mock: params = pika.ConnectionParameters(socket_timeout=2.0) conn = select_connection.SelectConnection(params) conn._on_connect_timer() create_sock_mock.return_value.settimeout.assert_called_with(2.0) self.assertIn('timeout', str(err_ctx.exception))
def _create_select_poller_connection_impl(parameters, on_open_callback, on_open_error_callback, on_close_callback, stop_ioloop_on_close): """Used for disabling autochoise of poller ('select', 'poll', 'epool', etc) inside default 'SelectConnection.__init__(...)' logic. It is necessary to force 'select' poller usage if eventlet is monkeypatched because eventlet patches only 'select' system call Method signature is copied form 'SelectConnection.__init__(...)', because it is used as replacement of 'SelectConnection' class to create instances """ return select_connection.SelectConnection( parameters=parameters, on_open_callback=on_open_callback, on_open_error_callback=on_open_error_callback, on_close_callback=on_close_callback, stop_ioloop_on_close=stop_ioloop_on_close, custom_ioloop=select_connection.SelectPoller())
def test_select_connection_timeout(self, connect, settimeout): connect.side_effect = mock_timeout with self.assertRaises(exceptions.AMQPConnectionError): params = pika.ConnectionParameters(socket_timeout=2.0) select_connection.SelectConnection(params) settimeout.assert_called_with(2.0)