def setup_upload_jobs(cidc_api) -> Tuple[int, int]: """ Insert two uploads into the database created by different users and return their IDs. """ with cidc_api.app_context(): other_user = Users(email="*****@*****.**") other_user.insert() job1 = UploadJobs( uploader_email=user_email, trial_id=trial_id, status=UploadJobStatus.STARTED.value, metadata_patch={ "test": { "upload_placeholder": "baz" }, "test2": "foo" }, upload_type="", gcs_xlsx_uri="", gcs_file_map={"bip": "baz"}, multifile=False, ) job2 = UploadJobs( uploader_email=other_user.email, trial_id=trial_id, status=UploadJobStatus.STARTED.value, metadata_patch={ "array": [{ "upload_placeholder": "baz" }, { "test2": "foo" }] }, upload_type="", gcs_xlsx_uri="", gcs_file_map={"bip": "baz"}, multifile=False, ) job1.insert() job2.insert() return job1.id, job2.id
def setup_data(cidc_api, clean_db): user = Users(email="*****@*****.**", approval_date=datetime.now()) shipment = { "courier": "FEDEX", "ship_to": "", "ship_from": "", "assay_type": assay_type, "manifest_id": manifest_id, "date_shipped": "2020-06-10 00:00:00", "date_received": "2020-06-11 00:00:00", "account_number": "", "assay_priority": "1", "receiving_party": "MSSM_Rahman", "tracking_number": "", "shipping_condition": "Frozen_Dry_Ice", "quality_of_shipment": "Specimen shipment received in good condition", } metadata = { "protocol_identifier": trial_id, "shipments": [ # we get duplicate shipment uploads sometimes shipment, shipment, ], "participants": [{ "cimac_participant_id": f"CTTTPP{p}", "participant_id": "x", "cohort_name": "", "samples": [{ "cimac_id": f"CTTTPP{p}SS.0{s}", "sample_location": "", "type_of_primary_container": "Other", "type_of_sample": "Other", "collection_event_name": "", "parent_sample_id": "", } for s in range(num_samples[p])], } for p in range(num_participants)], "allowed_cohort_names": [""], "allowed_collection_event_names": [""], } trial = TrialMetadata(trial_id=trial_id, metadata_json=metadata) upload_job = UploadJobs( uploader_email=user.email, trial_id=trial.trial_id, upload_type="pbmc", gcs_xlsx_uri="", metadata_patch=metadata, multifile=False, ) upload_job._set_status_no_validation(UploadJobStatus.MERGE_COMPLETED.value) with cidc_api.app_context(): user.insert() trial.insert() upload_job.insert() clean_db.refresh(user) clean_db.refresh(upload_job) clean_db.refresh(trial) return user, upload_job, trial