def _insert_genomic_set_from_row(row, csv_filename, timestamp): """Creates a new GenomicSet object from a CSV row. Raises: DataError if the row is invalid. Returns: A new GenomicSet. """ genomic_set_name = row[CsvColumns.GENOMIC_SET_NAME], set_dao = GenomicSetDao() genomic_set_version = set_dao.get_new_version_number(genomic_set_name) kwargs = dict( genomicSetName=genomic_set_name, genomicSetCriteria=row[CsvColumns.GENOMIC_SET_CRITERIA], genomicSetFile=csv_filename, genomicSetFileTime=timestamp, genomicSetStatus=GenomicSetStatus.UNSET, genomicSetVersion=genomic_set_version, ) genomic_set = GenomicSet(**kwargs) set_dao.insert(genomic_set) return genomic_set
def _create_fake_genomic_set(self, genomic_set_name, genomic_set_criteria, genomic_set_filename): now = clock.CLOCK.now() genomic_set = GenomicSet() genomic_set.genomicSetName = genomic_set_name genomic_set.genomicSetCriteria = genomic_set_criteria genomic_set.genomicSetFile = genomic_set_filename genomic_set.genomicSetFileTime = now genomic_set.genomicSetStatus = GenomicSetStatus.INVALID set_dao = GenomicSetDao() genomic_set.genomicSetVersion = set_dao.get_new_version_number( genomic_set.genomicSetName) set_dao.insert(genomic_set) return genomic_set
class GenomicSetValidationBaseTestCase(SqlTestBase): def setUp(self, with_data=True, use_mysql=False): super(GenomicSetValidationBaseTestCase, self).setUp(with_data=with_data, use_mysql=use_mysql) self.participant_dao = ParticipantDao() self.summary_dao = ParticipantSummaryDao() self.genomic_set_dao = GenomicSetDao() self.genomic_member_dao = GenomicSetMemberDao() self._participant_i = 0 self.setup_data() def setup_data(self): pass def make_participant(self, **kwargs): """ Make a participant with custom settings. default should create a valid participant. """ i = self._participant_i self._participant_i += 1 participant = Participant(participantId=i, biobankId=i, **kwargs) self.participant_dao.insert(participant) return participant def make_summary(self, participant, **override_kwargs): """ Make a summary with custom settings. default should create a valid summary. """ valid_kwargs = dict(participantId=participant.participantId, biobankId=participant.biobankId, withdrawalStatus=participant.withdrawalStatus, dateOfBirth=datetime.datetime(2000, 1, 1), firstName='foo', lastName='bar', zipCode='12345', sampleStatus1ED04=SampleStatus.RECEIVED, sampleStatus1SAL2=SampleStatus.RECEIVED, samplesToIsolateDNA=SampleStatus.RECEIVED, consentForStudyEnrollmentTime=datetime.datetime( 2019, 1, 1)) kwargs = dict(valid_kwargs, **override_kwargs) summary = self._participant_summary_with_defaults(**kwargs) self.summary_dao.insert(summary) return summary def make_genomic_set(self, **override_kwargs): """ Make a genomic set with custom settings. default should create a valid set. """ valid_kwargs = dict(genomicSetName='foo', genomicSetCriteria='something', genomicSetVersion=1, genomicSetStatus=GenomicSetStatus.UNSET) kwargs = dict(valid_kwargs, **override_kwargs) genomic_set = GenomicSet(**kwargs) self.genomic_set_dao.insert(genomic_set) return genomic_set def make_genomic_member(self, genomic_set, participant, **override_kwargs): """ Make a genomic member with custom settings. default should create a valid member. """ valid_kwargs = dict(genomicSetId=genomic_set.id, participantId=participant.participantId, sexAtBirth='F', biobankId=participant.biobankId, biobankOrderClientId='12345678') kwargs = dict(valid_kwargs, **override_kwargs) member = GenomicSetMember(**kwargs) self.genomic_member_dao.insert(member) return member