30 lines
891 B
Python
30 lines
891 B
Python
import unittest
|
|
|
|
from app.tzsp import TZSPError, decode_tzsp
|
|
|
|
|
|
class TZSPTests(unittest.TestCase):
|
|
def test_decodes_ethernet_frame(self):
|
|
frame = b"\xaa" * 60
|
|
packet = decode_tzsp(b"\x01\x00\x00\x01\x01" + frame)
|
|
self.assertEqual(packet.encapsulation, 1)
|
|
self.assertEqual(packet.frame, frame)
|
|
|
|
def test_skips_tags(self):
|
|
frame = b"\xbb" * 60
|
|
data = b"\x01\x00\x00\x01" + b"\x0a\x02\x12\x34" + b"\x00" + b"\x01" + frame
|
|
packet = decode_tzsp(data)
|
|
self.assertEqual(packet.frame, frame)
|
|
|
|
def test_rejects_missing_end_tag(self):
|
|
with self.assertRaises(TZSPError):
|
|
decode_tzsp(b"\x01\x00\x00\x01\x0a\x01\xff")
|
|
|
|
def test_rejects_non_packet_type(self):
|
|
with self.assertRaises(TZSPError):
|
|
decode_tzsp(b"\x01\x03\x00\x01\x01\x00")
|
|
|
|
|
|
if __name__ == "__main__":
|
|
unittest.main()
|