def test_from_frame(self): frame = DataFrame(stream_id=20, flags={FrameFlag.END_STREAM, FrameFlag.PAD_LOW}) frame_header = FrameHeader.from_frame(frame) self.assertEqual(frame_header.length, 2) # Padding low + high fields self.assertEqual(frame_header.frame_type, FrameType.DATA) self.assertEqual(frame_header.stream_id, 20) self.assertEqual(frame_header.raw_flag_bits, FrameFlag.END_STREAM.value | FrameFlag.PAD_LOW.value)
def test_from_raw_bytes(self): # DataFrame header, 8bytes length, END_STREAM flag, first stream. header = FrameHeader.from_raw_bytes(self.basic_test_bytes) self.assertEqual(8, len(header)) self.assertEqual(FrameType.DATA, header.frame_type) self.assertEqual(FrameFlag.END_STREAM.value, header.raw_flag_bits) self.assertEqual(1, header.stream_id)
def test_serialize(self): header = FrameHeader(8, FrameType.DATA, 1, 1) self.assertEqual(header.serialize(), self.basic_test_bytes)