Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
def test_long_picture_id_128(self):
descr, rest = VpxPayloadDescriptor.parse(b"\x90\x80\x80\x80")
self.assertEqual(descr.partition_start, 1)
self.assertEqual(descr.partition_id, 0)
self.assertEqual(descr.picture_id, 128)
self.assertEqual(descr.tl0picidx, None)
self.assertEqual(descr.tid, None)
self.assertEqual(descr.keyidx, None)
self.assertEqual(bytes(descr), b"\x90\x80\x80\x80")
self.assertEqual(rest, b"")
def test_short_picture_id_17(self):
"""
From RFC 7741 - 4.6.3
"""
descr, rest = VpxPayloadDescriptor.parse(b"\x90\x80\x11")
self.assertEqual(descr.partition_start, 1)
self.assertEqual(descr.partition_id, 0)
self.assertEqual(descr.picture_id, 17)
self.assertEqual(descr.tl0picidx, None)
self.assertEqual(descr.tid, None)
self.assertEqual(descr.keyidx, None)
self.assertEqual(bytes(descr), b"\x90\x80\x11")
self.assertEqual(repr(descr), "VpxPayloadDescriptor(S=1, PID=0, pic_id=17)")
self.assertEqual(rest, b"")
def test_short_picture_id_127(self):
descr, rest = VpxPayloadDescriptor.parse(b"\x90\x80\x7f")
self.assertEqual(descr.partition_start, 1)
self.assertEqual(descr.partition_id, 0)
self.assertEqual(descr.picture_id, 127)
self.assertEqual(descr.tl0picidx, None)
self.assertEqual(descr.tid, None)
self.assertEqual(descr.keyidx, None)
self.assertEqual(bytes(descr), b"\x90\x80\x7f")
self.assertEqual(rest, b"")
self.assertEqual(
str(cm.exception), "VPX descriptor has truncated extended bits"
)
with self.assertRaises(ValueError) as cm:
VpxPayloadDescriptor.parse(b"\x80\x80")
self.assertEqual(str(cm.exception), "VPX descriptor has truncated PictureID")
with self.assertRaises(ValueError) as cm:
VpxPayloadDescriptor.parse(b"\x80\x80\x80")
self.assertEqual(
str(cm.exception), "VPX descriptor has truncated long PictureID"
)
with self.assertRaises(ValueError) as cm:
VpxPayloadDescriptor.parse(b"\x80\x40")
self.assertEqual(str(cm.exception), "VPX descriptor has truncated TL0PICIDX")
with self.assertRaises(ValueError) as cm:
VpxPayloadDescriptor.parse(b"\x80\x20")
self.assertEqual(str(cm.exception), "VPX descriptor has truncated T/K")
with self.assertRaises(ValueError) as cm:
VpxPayloadDescriptor.parse(b"\x80\x10")
self.assertEqual(str(cm.exception), "VPX descriptor has truncated T/K")
def test_tid(self):
descr, rest = VpxPayloadDescriptor.parse(b"\x90\x20\xe0")
self.assertEqual(descr.partition_start, 1)
self.assertEqual(descr.partition_id, 0)
self.assertEqual(descr.picture_id, None)
self.assertEqual(descr.tl0picidx, None)
self.assertEqual(descr.tid, (3, 1))
self.assertEqual(descr.keyidx, None)
self.assertEqual(bytes(descr), b"\x90\x20\xe0")
self.assertEqual(rest, b"")
with self.assertRaises(ValueError) as cm:
VpxPayloadDescriptor.parse(b"\x80\x80")
self.assertEqual(str(cm.exception), "VPX descriptor has truncated PictureID")
with self.assertRaises(ValueError) as cm:
VpxPayloadDescriptor.parse(b"\x80\x80\x80")
self.assertEqual(
str(cm.exception), "VPX descriptor has truncated long PictureID"
)
with self.assertRaises(ValueError) as cm:
VpxPayloadDescriptor.parse(b"\x80\x40")
self.assertEqual(str(cm.exception), "VPX descriptor has truncated TL0PICIDX")
with self.assertRaises(ValueError) as cm:
VpxPayloadDescriptor.parse(b"\x80\x20")
self.assertEqual(str(cm.exception), "VPX descriptor has truncated T/K")
with self.assertRaises(ValueError) as cm:
VpxPayloadDescriptor.parse(b"\x80\x10")
self.assertEqual(str(cm.exception), "VPX descriptor has truncated T/K")
with self.assertRaises(ValueError) as cm:
VpxPayloadDescriptor.parse(b"")
self.assertEqual(str(cm.exception), "VPX descriptor is too short")
with self.assertRaises(ValueError) as cm:
VpxPayloadDescriptor.parse(b"\x80")
self.assertEqual(
str(cm.exception), "VPX descriptor has truncated extended bits"
)
with self.assertRaises(ValueError) as cm:
VpxPayloadDescriptor.parse(b"\x80\x80")
self.assertEqual(str(cm.exception), "VPX descriptor has truncated PictureID")
with self.assertRaises(ValueError) as cm:
VpxPayloadDescriptor.parse(b"\x80\x80\x80")
self.assertEqual(
str(cm.exception), "VPX descriptor has truncated long PictureID"
)
with self.assertRaises(ValueError) as cm:
VpxPayloadDescriptor.parse(b"\x80\x40")
self.assertEqual(str(cm.exception), "VPX descriptor has truncated TL0PICIDX")
with self.assertRaises(ValueError) as cm:
VpxPayloadDescriptor.parse(b"\x80\x20")
self.assertEqual(str(cm.exception), "VPX descriptor has truncated T/K")
with self.assertRaises(ValueError) as cm:
VpxPayloadDescriptor.parse(b"\x80\x10")
self.assertEqual(str(cm.exception), "VPX descriptor has truncated T/K")
def test_no_picture_id(self):
descr, rest = VpxPayloadDescriptor.parse(b"\x10")
self.assertEqual(descr.partition_start, 1)
self.assertEqual(descr.partition_id, 0)
self.assertEqual(descr.picture_id, None)
self.assertEqual(descr.tl0picidx, None)
self.assertEqual(descr.tid, None)
self.assertEqual(descr.keyidx, None)
self.assertEqual(bytes(descr), b"\x10")
self.assertEqual(repr(descr), "VpxPayloadDescriptor(S=1, PID=0, pic_id=None)")
self.assertEqual(rest, b"")
def test_truncated(self):
with self.assertRaises(ValueError) as cm:
VpxPayloadDescriptor.parse(b"")
self.assertEqual(str(cm.exception), "VPX descriptor is too short")
with self.assertRaises(ValueError) as cm:
VpxPayloadDescriptor.parse(b"\x80")
self.assertEqual(
str(cm.exception), "VPX descriptor has truncated extended bits"
)
with self.assertRaises(ValueError) as cm:
VpxPayloadDescriptor.parse(b"\x80\x80")
self.assertEqual(str(cm.exception), "VPX descriptor has truncated PictureID")
with self.assertRaises(ValueError) as cm:
VpxPayloadDescriptor.parse(b"\x80\x80\x80")
self.assertEqual(
str(cm.exception), "VPX descriptor has truncated long PictureID"
)
with self.assertRaises(ValueError) as cm:
VpxPayloadDescriptor.parse(b"\x80\x40")
with self.assertRaises(ValueError) as cm:
VpxPayloadDescriptor.parse(b"\x80\x80\x80")
self.assertEqual(
str(cm.exception), "VPX descriptor has truncated long PictureID"
)
with self.assertRaises(ValueError) as cm:
VpxPayloadDescriptor.parse(b"\x80\x40")
self.assertEqual(str(cm.exception), "VPX descriptor has truncated TL0PICIDX")
with self.assertRaises(ValueError) as cm:
VpxPayloadDescriptor.parse(b"\x80\x20")
self.assertEqual(str(cm.exception), "VPX descriptor has truncated T/K")
with self.assertRaises(ValueError) as cm:
VpxPayloadDescriptor.parse(b"\x80\x10")
self.assertEqual(str(cm.exception), "VPX descriptor has truncated T/K")