def test_ack(): # Create environment server, session, transport, conn = _get_test_environment() # Send message with ACK transport.recv(proto.message(None, 'abc', 1)) # Check that message was received by the connection eq_(conn.pop_incoming(), 'abc') # Check for ACK eq_(transport.pop_outgoing(), '3:::abc') eq_(transport.pop_outgoing(), '6:::1') # Send with ACK def handler(message): eq_(message, 'abc') conn.send('yes') conn.send('abc', handler) eq_(transport.pop_outgoing(), '3:1::abc') # Send ACK from client transport.recv('6:::1') # Check if handler was called eq_(transport.pop_outgoing(), '3:::yes')
def test_session_attach(): # Create environment server, session, transport, conn = _get_test_environment(a=[10]) # Check if connection opened eq_(conn.is_open, True) eq_(conn.request.arguments, {'a': [10]}) eq_(conn.request.get_argument('a'), 10) # Send message and check if it was handled by connection transport.recv(proto.message(None, 'abc')) # Check if incoming queue has abc eq_(conn.pop_incoming(), 'abc') # Check if outgoing transport has abc eq_(transport.pop_outgoing(), '3:::abc') # Close session conn.close() # Check if it sent disconnect packet to the client eq_(transport.pop_outgoing(), '0::') # Detach session.remove_handler(transport) eq_(session.handler, None) # Check if session is still open eq_(transport.is_open, False) eq_(conn.is_open, False) eq_(session.is_closed, True)
def test_json(): # Create environment server, session, transport, conn = _get_test_environment() # Send json message transport.recv(proto.message(None, dict(a=10, b=20))) # Check incoming message eq_(conn.pop_incoming(), dict(a=10, b=20)) # Check outgoing message eq_(transport.pop_outgoing(), proto.message(None, dict(a=10, b=20)))
def test_ack(): # Create environment server, session, transport, conn = _get_test_environment() # Send message with ACK transport.recv(proto.message(None, 'abc', 1)) # Check that message was received by the connection eq_(conn.pop_incoming(), 'abc') # Check for ACK eq_(transport.pop_outgoing(), '3:::abc') eq_(transport.pop_outgoing(), '6:::1') # Send with ACK def handler(msg, data): eq_(msg, 'abc') eq_(data, None) conn.send('yes') conn.send('abc', handler) eq_(transport.pop_outgoing(), '3:1::abc') # Send ACK from client transport.recv('6:::1') # Check if handler was called eq_(transport.pop_outgoing(), '3:::yes') # Test ack with event # Send event with multiple parameters transport.recv(proto.event(None, 'test', 1, a=10, b=20)) # Check outgoing eq_(transport.pop_outgoing(), proto.event(None, 'test', None, a=10, b=20)) eq_(transport.pop_outgoing(), proto.ack(None, 1, 'test'))