예제 #1
0
    def test_from_wire_bad_input(self):
        raw_data = 'b'.encode()

        with self.assertRaises(PayloadParseError):
            DataPacket.from_wire(raw_data)

        code, message = (9, 'message ελληνικά'.encode())
        raw_data = b''.join((struct.pack('!H', code), message))
        with self.assertRaises(InvalidErrorcodeError):
            ErrorPacket.from_wire(raw_data)
예제 #2
0
    def test_from_wire_good_input(self):
        code, message = (1, 'message ελληνικά'.encode())
        raw_data = b''.join((struct.pack('!H', code), message))
        packet = ErrorPacket.from_wire(raw_data)

        self.assertEqual(code, packet.error_code)
        self.assertEqual(message, packet.error_msg)
예제 #3
0
    def test_to_wire(self):
        opcode, code, message = (ErrorPacket.opcode, 1, 'message ελληνικά'.encode())
        raw_data = b''.join((struct.pack('!HH', opcode, code), message, b'\x00'))

        packet = ErrorPacket(code, message)
        self.assertEqual(packet.to_wire(), raw_data)