def add_instrument_without_exercise(session=None): instrument = InstrumentModel(ci_type="EQ", classifiers={ "form_type": "001", "geography": "EN" }) survey = SurveyModel(survey_id="cb0711c3-0ac8-41d3-ae0e-567e5ea1ef87") instrument.survey = survey business = BusinessModel(ru_ref="test_ru_ref") instrument.businesses.append(business) session.add(instrument) return instrument.instrument_id
def add_instrument_data(session=None): instrument = InstrumentModel(ci_type="SEFT") seft_file = SEFTModel(instrument_id=instrument.instrument_id, file_name="test_file") exercise = ExerciseModel(exercise_id="db0711c3-0ac8-41d3-ae0e-567e5ea1ef87") business = BusinessModel(ru_ref="test_ru_ref") instrument.seft_file = seft_file instrument.exercises.append(exercise) instrument.businesses.append(business) survey = SurveyModel(survey_id="cb0711c3-0ac8-41d3-ae0e-567e5ea1ef87") instrument.survey = survey session.add(instrument) return instrument.instrument_id
def _find_or_create_survey_from_survey_id(survey_id, session): """ reuses the survey if it exists in this service or create if it doesn't :param survey_id: A survey id (UUID) :param session: database session :return: A survey record """ survey = query_survey_by_id(survey_id, session) if not survey: log.info('creating survey', survey_id=survey_id) survey = SurveyModel(survey_id=survey_id) return survey
def _find_or_create_survey_from_exercise_id(exercise_id, session): """ Makes a request to the collection exercise service for the survey ID, reuses the survey if it exists in this service or create if it doesn't :param exercise_id: An exercise id (UUID) :param session: database session :return: A survey record """ response = service_request(service='collectionexercise-service', endpoint='collectionexercises', search_value=exercise_id) survey_id = response.json().get('surveyId') survey = query_survey_by_id(survey_id, session) if not survey: log.info('creating survey', survey_id=survey_id) survey = SurveyModel(survey_id=survey_id) return survey
def add_instrument_data(session=None): instrument = InstrumentModel(classifiers={ "form_type": "001", "geography": "EN" }, ci_type="SEFT") crypto = Cryptographer() data = BytesIO(b"test data") data = crypto.encrypt(data.read()) seft_file = SEFTModel(instrument_id=instrument.instrument_id, file_name="test_file", length="999", data=data) instrument.seft_file = seft_file exercise = ExerciseModel(exercise_id=linked_exercise_id) business = BusinessModel(ru_ref="test_ru_ref") instrument.exercises.append(exercise) instrument.businesses.append(business) survey = SurveyModel(survey_id="cb0711c3-0ac8-41d3-ae0e-567e5ea1ef87") instrument.survey = survey session.add(instrument) return instrument.instrument_id