def test_serialize_deserialize_record_pack(ident_testcase, nrecords): from hangar.remote.chunks import serialize_record from hangar.remote.chunks import serialize_record_pack from hangar.remote.chunks import deserialize_record from hangar.remote.chunks import deserialize_record_pack from hangar.remote.chunks import ArrayRecord idx = 0 ArrList, RecList = [], [] digest, schema = ident_testcase for shape in param_shapes: for dtype in param_dtypes: arr = 200 * np.random.random_sample(shape) + 100 arr = arr.astype(dtype) digest = f'digest{str(idx)*len(digest)}' schema = f'schema{str(idx)*len(schema)}' idx += 1 ArrList.append((arr, digest, schema)) RecList.append(serialize_record(arr, digest, schema)) rawpack = serialize_record_pack(RecList) reslist = deserialize_record_pack(rawpack) assert reslist == RecList for rawres, origRec in zip(reslist, ArrList): resRec = deserialize_record(rawres) assert isinstance(resRec, ArrayRecord) assert_equal(resRec.array, origRec[0]) assert resRec.digest == origRec[1] assert resRec.schema == origRec[2]
def test_serialize_deserialize_record(array_testcase, ident_testcase): from hangar.remote.chunks import serialize_record from hangar.remote.chunks import deserialize_record from hangar.remote.chunks import ArrayRecord digest, schema = ident_testcase raw = serialize_record(array_testcase, digest, schema) res = deserialize_record(raw) assert isinstance(res, ArrayRecord) assert_equal(res.array, array_testcase) assert res.digest == digest assert res.schema == schema