twnet_parser/tests/packet_invalid_test.py
ChillerDragon c8f8ca6a21 Break api packet.parse -> packet.parse7
Rename the main `twnet_parser.packet.parse()` method.
Into more explicit `parse6()` and `parse7()`
2023-03-18 10:04:11 +01:00

28 lines
1,007 B
Python

from twnet_parser.packet import *
def test_parse_7_close():
# ctrl close 0.7 with last two bytes cut off
# the last byte of the token and the message id
# is missing
try:
packet = parse7(b'\x04\x0a\x00\xcf\x2e\xde')
except IndexError:
# def parse7(self, data: bytes) -> TwPacket:
# pck = TwPacket()
# pck.version = '0.7'
# pck.header = PacketHeaderParser().parse_header(data)
# if pck.header.flags.control:
# > if data[7] == 0x04: # close
# E IndexError: index out of range
pass
# TODO: think of what we want to do here
# crash?
# silent skip?
# detailed error message?
# set error field on the packet?
# would the error checking be on by default or opt in?
# it can affect performance
# and a python crash is also pretty informative already
# assert packet.version == 'unknown'