def test_empty_record(self): filename = os.path.join(self.get_temp_dir(), "empty_record") w = RecordWriter(open(filename, "wb")) bytes_to_write = b"" w.write(bytes_to_write) w.close() r = PyRecordReader_New(filename) r.GetNext() self.assertEqual(r.record(), bytes_to_write)
def test_expect_bytes_written(self): filename = os.path.join(self.get_temp_dir(), "expect_bytes_written") byte_len = 64 w = RecordWriter(open(filename, 'wb')) bytes_to_write = b"x" * byte_len w.write(bytes_to_write) w.close() with open(filename, 'rb') as f: self.assertEqual(len(f.read()), (8 + 4 + byte_len + 4)) # uint64+uint32+data+uint32
def test_record_writer_roundtrip(self): filename = os.path.join(self.get_temp_dir(), "record_writer_roundtrip") w = RecordWriter(open(filename, 'wb')) chunks_to_write = ["hello world{}".format(i).encode() for i in range(10)] for bytes in chunks_to_write: w.write(bytes) w.close() r = PyRecordReader_New(filename) for bytes in chunks_to_write: r.GetNext() self.assertEqual(r.record(), bytes)
def test_record_immediate_read(self): filename = os.path.join(self.get_temp_dir(), "record_immediate_read") chunks_to_write = ["hello world{}".format(i).encode() for i in range(10)] w = RecordWriter(open(filename, 'wb')) r = PyRecordReader_New(filename) with self.assertRaises(errors.OutOfRangeError): r.GetNext() for bytes in chunks_to_write: w.write(bytes) w.flush() r.GetNext() self.assertEqual(r.record(), bytes) w.close()
def test_record_writer_roundtrip(self): filename = os.path.join(self.get_temp_dir(), "record_writer_roundtrip") w = RecordWriter(open(filename, 'wb')) bytes_to_write = b"hello world" times_to_test = 50 for _ in range(times_to_test): w.write(bytes_to_write) w.close() r = PyRecordReader_New(filename) for i in range(times_to_test): r.GetNext() self.assertEqual(r.record(), bytes_to_write)