Ejemplo n.º 1
0
    def _convert_supervision_period(
            self, ingest_supervision_period: StateSupervisionPeriod) \
            -> entities.StateSupervisionPeriod:
        """Converts an ingest_info proto StateSupervisionPeriod to a
        persistence entity."""
        supervision_period_builder = \
            entities.StateSupervisionPeriod.builder()

        state_supervision_period.copy_fields_to_builder(
            supervision_period_builder,
            ingest_supervision_period,
            self.metadata)

        converted_violations = [
            self._convert_supervision_violation(
                self.supervision_violations[violation_id])
            for violation_id
            in ingest_supervision_period.state_supervision_violation_ids
        ]
        supervision_period_builder.supervision_violations = converted_violations

        converted_assessments = [
            self._convert_assessment(self.assessments[assessment_id])
            for assessment_id in ingest_supervision_period.state_assessment_ids
        ]
        supervision_period_builder.assessments = converted_assessments

        return supervision_period_builder.build()
Ejemplo n.º 2
0
    def _convert_supervision_period(
            self, ingest_supervision_period: StateSupervisionPeriod) \
            -> entities.StateSupervisionPeriod:
        """Converts an ingest_info proto StateSupervisionPeriod to a
        persistence entity."""
        supervision_period_builder = \
            entities.StateSupervisionPeriod.builder()

        state_supervision_period.copy_fields_to_builder(
            supervision_period_builder, ingest_supervision_period,
            self.metadata)

        supervision_period_builder.supervising_officer = \
            fn(lambda i: state_agent.convert(self.agents[i], self.metadata),
               'supervising_officer_id',
               ingest_supervision_period)

        converted_violations = [
            self._convert_supervision_violation(
                self.supervision_violations[violation_id]) for violation_id in
            ingest_supervision_period.state_supervision_violation_entry_ids
        ]
        supervision_period_builder.supervision_violation_entries = \
            converted_violations

        converted_assessments = [
            self._convert_assessment(self.assessments[assessment_id])
            for assessment_id in ingest_supervision_period.state_assessment_ids
        ]
        supervision_period_builder.assessments = converted_assessments

        converted_program_assignments = [
            self._convert_program_assignment(
                self.program_assignments[assignment_id]) for assignment_id in
            ingest_supervision_period.state_program_assignment_ids
        ]
        supervision_period_builder.program_assignments = \
            converted_program_assignments
        converted_case_types = [
            state_supervision_case_type_entry.convert(
                self.supervision_case_type_entries[case_type_id],
                self.metadata) for case_type_id in
            ingest_supervision_period.state_supervision_case_type_entry_ids
        ]
        supervision_period_builder.case_type_entries = converted_case_types

        converted_contacts = [
            self._convert_supervision_contact(
                self.supervision_contacts[contact_id]) for contact_id in
            ingest_supervision_period.state_supervision_contact_ids
        ]
        supervision_period_builder.supervision_contacts = converted_contacts

        return supervision_period_builder.build()
Ejemplo n.º 3
0
    def testParseStateSupervisionPeriod(self):
        # Arrange
        ingest_supervision = ingest_info_pb2.StateSupervisionPeriod(
            status="TERMINATED",
            supervision_type="PAROLE",
            supervision_period_supervision_type="PAROLE",
            admission_reason="CONDITIONAL_RELEASE",
            termination_reason="DISCHARGE",
            supervision_level=None,
            state_supervision_period_id="SUPERVISION_ID",
            start_date="1/2/2111",
            termination_date="2/2/2112",
            state_code="us_nd",
            county_code="bis",
            custodial_authority="SUPERVISION AUTHORITY",
            supervision_site="07-CENTRAL",
            conditions=["CURFEW", "DRINKING"],
        )

        # Act
        supervision_builder = entities.StateSupervisionPeriod.builder()
        state_supervision_period.copy_fields_to_builder(
            supervision_builder, ingest_supervision, _EMPTY_METADATA)
        result = supervision_builder.build()

        # Assert
        expected_result = entities.StateSupervisionPeriod(
            status=StateSupervisionPeriodStatus.TERMINATED,
            status_raw_text="TERMINATED",
            supervision_type=StateSupervisionType.PAROLE,
            supervision_type_raw_text="PAROLE",
            supervision_period_supervision_type=
            StateSupervisionPeriodSupervisionType.PAROLE,
            supervision_period_supervision_type_raw_text="PAROLE",
            admission_reason=StateSupervisionPeriodAdmissionReason.
            CONDITIONAL_RELEASE,
            admission_reason_raw_text="CONDITIONAL_RELEASE",
            termination_reason=StateSupervisionPeriodTerminationReason.
            DISCHARGE,
            termination_reason_raw_text="DISCHARGE",
            supervision_level=None,
            supervision_level_raw_text=None,
            external_id="SUPERVISION_ID",
            start_date=date(year=2111, month=1, day=2),
            termination_date=date(year=2112, month=2, day=2),
            state_code="US_ND",
            county_code="BIS",
            supervision_site="07-CENTRAL",
            conditions="CURFEW, DRINKING",
            custodial_authority=StateCustodialAuthority.SUPERVISION_AUTHORITY,
            custodial_authority_raw_text="SUPERVISION AUTHORITY",
        )

        self.assertEqual(result, expected_result)
    def testParseStateSupervisionPeriod(self):
        # Arrange
        ingest_supervision = ingest_info_pb2.StateSupervisionPeriod(
            status='TERMINATED',
            supervision_type='PAROLE',
            supervision_period_supervision_type='PAROLE',
            admission_reason='CONDITIONAL_RELEASE',
            termination_reason='DISCHARGE',
            supervision_level=None,
            state_supervision_period_id='SUPERVISION_ID',
            start_date='1/2/2111',
            termination_date='2/2/2112',
            state_code='us_nd',
            county_code='bis',
            custodial_authority='custodial_authority',
            supervision_site='07-CENTRAL',
            conditions=['CURFEW', 'DRINKING']
        )

        # Act
        supervision_builder = entities.StateSupervisionPeriod.builder()
        state_supervision_period.copy_fields_to_builder(
            supervision_builder, ingest_supervision, _EMPTY_METADATA)
        result = supervision_builder.build()

        # Assert
        expected_result = entities.StateSupervisionPeriod(
            status=StateSupervisionPeriodStatus.TERMINATED,
            status_raw_text='TERMINATED',
            supervision_type=StateSupervisionType.PAROLE,
            supervision_type_raw_text='PAROLE',
            supervision_period_supervision_type=StateSupervisionPeriodSupervisionType.PAROLE,
            supervision_period_supervision_type_raw_text='PAROLE',
            admission_reason=
            StateSupervisionPeriodAdmissionReason.CONDITIONAL_RELEASE,
            admission_reason_raw_text='CONDITIONAL_RELEASE',
            termination_reason=
            StateSupervisionPeriodTerminationReason.DISCHARGE,
            termination_reason_raw_text='DISCHARGE',
            supervision_level=None,
            supervision_level_raw_text=None,
            external_id='SUPERVISION_ID',
            start_date=date(year=2111, month=1, day=2),
            termination_date=date(year=2112, month=2, day=2),
            state_code='US_ND',
            county_code='BIS',
            supervision_site='07-CENTRAL',
            conditions='CURFEW, DRINKING',
            custodial_authority='CUSTODIAL_AUTHORITY',
        )

        self.assertEqual(result, expected_result)
    def testParseStateSupervisionPeriod_inferStatus_noDates(self):
        # Arrange
        ingest_supervision = ingest_info_pb2.StateSupervisionPeriod(state_code='us_nd')

        # Act
        supervision_builder = entities.StateSupervisionPeriod.builder()
        state_supervision_period.copy_fields_to_builder(supervision_builder, ingest_supervision, _EMPTY_METADATA)
        result = supervision_builder.build()

        # Assert
        expected_result = entities.StateSupervisionPeriod.new_with_defaults(
            status=StateSupervisionPeriodStatus.PRESENT_WITHOUT_INFO,
            state_code='US_ND')

        self.assertEqual(expected_result, result)
    def testParseStateSupervisionPeriod_inferStatus_startNoTermination(self):
        # Arrange
        ingest_supervision = ingest_info_pb2.StateSupervisionPeriod(
            state_code='us_nd',
            start_date='1/2/2111',
        )

        # Act
        supervision_builder = entities.StateSupervisionPeriod.builder()
        state_supervision_period.copy_fields_to_builder(supervision_builder, ingest_supervision, _EMPTY_METADATA)
        result = supervision_builder.build()

        # Assert
        expected_result = entities.StateSupervisionPeriod.new_with_defaults(
            status=StateSupervisionPeriodStatus.UNDER_SUPERVISION,
            start_date=date(year=2111, month=1, day=2),
            state_code='US_ND')

        self.assertEqual(expected_result, result)
Ejemplo n.º 7
0
    def testParseStateSupervisionPeriod_inferStatus_terminationDate(self):
        # Arrange
        ingest_supervision = ingest_info_pb2.StateSupervisionPeriod(
            state_code="us_nd",
            start_date="1/2/2111",
            termination_date="1/2/2112",
        )

        # Act
        supervision_builder = entities.StateSupervisionPeriod.builder()
        state_supervision_period.copy_fields_to_builder(
            supervision_builder, ingest_supervision, _EMPTY_METADATA)
        result = supervision_builder.build()

        # Assert
        expected_result = entities.StateSupervisionPeriod.new_with_defaults(
            status=StateSupervisionPeriodStatus.TERMINATED,
            start_date=date(year=2111, month=1, day=2),
            termination_date=date(year=2112, month=1, day=2),
            state_code="US_ND",
        )

        self.assertEqual(expected_result, result)