def test_chunker_put_get_single(): """ Test: read(write(x)) = x for x filling only a single chunk """ cas = CAS(ioctx_cas) chunker = Chunker(cas, ioctx_index) data_in = StringIO(random_bytes(42)) obj_name = random_id() version = chunker.write_full(obj_name, data_in) data_out = StringIO() chunker.read_full(obj_name, data_out, version) eq_buffer(data_in.getvalue(), data_out.getvalue())
def test_chunker_put_get_multiple_fraction(): """ Test: read(write(x)) = x for x spread over multiple chunks. With partially filled chunks """ cas = CAS(ioctx_cas) chunker = Chunker(cas, ioctx_index) data_in = StringIO(random_bytes(int(chunker.chunk_size*1.5))) obj_name = random_id() version = chunker.write_full(obj_name, data_in) data_out = StringIO() chunker.read_full(obj_name, data_out, version) eq_buffer(data_in.getvalue(), data_out.getvalue())