def test_receive_unsolicited_pong(self): # Unsolicited pong is allowed from HyBi 07. request = _create_request(('\x8a\x85', 'Hello'), ('\x81\x85', 'World')) msgutil.receive_message(request) request = _create_request(('\x8a\x85', 'Hello'), ('\x81\x85', 'World')) msgutil.send_ping(request, 'Jumbo') # Body mismatch. msgutil.receive_message(request)
def test_receive_unsolicited_pong(self): # Unsolicited pong is allowed from HyBi 07. request = _create_request(("\x8a\x85", "Hello"), ("\x81\x85", "World")) msgutil.receive_message(request) request = _create_request(("\x8a\x85", "Hello"), ("\x81\x85", "World")) msgutil.send_ping(request, "Jumbo") # Body mismatch. msgutil.receive_message(request)
def test_receive_unsolicited_pong(self): # Unsolicited pong is allowed from HyBi 07. request = _create_request( ('\x8a\x85', 'Hello'), ('\x81\x85', 'World')) msgutil.receive_message(request) request = _create_request( ('\x8a\x85', 'Hello'), ('\x81\x85', 'World')) msgutil.send_ping(request, 'Jumbo') # Body mismatch. msgutil.receive_message(request)
def web_socket_transfer_data(request): msgutil.send_ping(request, 'Hello, world!') # We need to use an internal function to detect a pong frame from the client. opcode, payload, final, reserved1, reserved2, reserved3 = request.ws_stream._receive_frame() if opcode == common.OPCODE_PONG and payload == 'Hello, world!' and final and not reserved1 and not reserved2 and not reserved3: msgutil.send_message(request, 'PASS') else: msgutil.send_message(request, 'FAIL: Received unexpected frame: opcode = %r, payload = %r, final = %r, reserved1 = %r, reserved2 = %r, reserved3 = %r' % (opcode, payload, final, reserved1, reserved2, reserved3))
def web_socket_transfer_data(request): msgutil.send_ping(request, 'Hello, world!') # We need to use an internal function to detect a pong frame from the client. opcode, payload, final, reserved1, reserved2, reserved3 = request.ws_stream._receive_frame() if opcode == common.OPCODE_PONG and payload == b'Hello, world!' and final and not reserved1 and not reserved2 and not reserved3: msgutil.send_message(request, 'PASS') else: msgutil.send_message(request, 'FAIL: Received unexpected frame: opcode = %r, payload = %r, final = %r, reserved1 = %r, reserved2 = %r, reserved3 = %r' % (opcode, payload, final, reserved1, reserved2, reserved3))
def test_receive_pong(self): """Tests receiving a pong control frame.""" def handler(request, message): request.called = True request = _create_request(('\x8a\x85', 'Hello'), ('\x81\x85', 'World')) request.on_pong_handler = handler msgutil.send_ping(request, 'Hello') self.assertEqual('\x89\x05Hello', request.connection.written_data()) # Valid pong is received, but receive_message won't return for it. self.assertEqual('World', msgutil.receive_message(request)) # Check that nothing was written after receive_message call. self.assertEqual('\x89\x05Hello', request.connection.written_data()) self.assertTrue(request.called)
def test_receive_pong(self): """Tests receiving a pong control frame.""" def handler(request, message): request.called = True request = _create_request(("\x8a\x85", "Hello"), ("\x81\x85", "World")) request.on_pong_handler = handler msgutil.send_ping(request, "Hello") self.assertEqual("\x89\x05Hello", request.connection.written_data()) # Valid pong is received, but receive_message won't return for it. self.assertEqual("World", msgutil.receive_message(request)) # Check that nothing was written after receive_message call. self.assertEqual("\x89\x05Hello", request.connection.written_data()) self.assertTrue(request.called)
def web_socket_transfer_data(request): send_payload = '' r = request.ws_resource.split('?', 1) if len(r) == 2: params = cgi.parse_qs(r[1]) if 'payload' in params: send_payload = params['payload'][0] msgutil.send_ping(request, send_payload) # We need to use an internal function to detect a pong frame from the client. opcode, recv_payload, final, reserved1, reserved2, reserved3 = request.ws_stream._receive_frame() if opcode == common.OPCODE_PONG and recv_payload == send_payload and final and not reserved1 and not reserved2 and not reserved3: msgutil.send_message(request, 'PASS') else: msgutil.send_message(request, 'FAIL: Received unexpected frame: opcode = %r, payload = %r, final = %r, reserved1 = %r, reserved2 = %r, reserved3 = %r' % (opcode, recv_payload, final, reserved1, reserved2, reserved3))
def test_send_longest_ping(self): request = _create_request() msgutil.send_ping(request, 'a' * 125) self.assertEqual('\x89\x7d' + 'a' * 125, request.connection.written_data())
def test_send_ping(self): request = _create_request() msgutil.send_ping(request, 'Hello World!') self.assertEqual('\x89\x0cHello World!', request.connection.written_data())