Пример #1
0
    def testParseStateAliasTooManyNames():
        # Arrange
        ingest_alias = ingest_info_pb2.StateAlias(
            state_alias_id='ALIAS_ID',
            full_name='FRANK OCEAN',
            given_names='FRANK',
            middle_names='LONNY',
            surname='OCEAN',
            name_suffix='BREAUX',
        )

        # Act
        with pytest.raises(ValueError):
            state_alias.convert(ingest_alias, _EMPTY_METADATA)
Пример #2
0
    def testParseStateAliasTooManyNames():
        # Arrange
        ingest_alias = ingest_info_pb2.StateAlias(
            state_alias_id="ALIAS_ID",
            full_name="FRANK OCEAN",
            given_names="FRANK",
            middle_names="LONNY",
            surname="OCEAN",
            name_suffix="BREAUX",
            alias_type="NICKNAME",
        )

        # Act
        with pytest.raises(ValueError):
            state_alias.convert(ingest_alias, _EMPTY_METADATA)
    def testParseStateAliasNameParts(self):
        # Arrange
        ingest_alias = ingest_info_pb2.StateAlias(
            state_alias_id='ALIAS_ID',
            state_code='US_ND',
            given_names='FRANK',
            middle_names='LONNY',
            surname='OCEAN',
            name_suffix='BREAUX',
            alias_type='GIVEN',
        )

        # Act
        result = state_alias.convert(ingest_alias, _EMPTY_METADATA)

        # Assert
        expected_result = entities.StatePersonAlias(
            state_code='US_ND',
            full_name='{"given_names": "FRANK", '
            '"middle_names": "LONNY", '
            '"name_suffix": "BREAUX", '
            '"surname": "OCEAN"}',
            alias_type=StatePersonAliasType.GIVEN_NAME,
            alias_type_raw_text='GIVEN',
        )

        self.assertEqual(result, expected_result)
Пример #4
0
    def _convert_state_person(self, ingest_state_person: StatePerson) \
            -> entities.StatePerson:
        """Converts an ingest_info proto StatePerson to a persistence entity."""
        state_person_builder = entities.StatePerson.builder()

        state_person.copy_fields_to_builder(
            state_person_builder, ingest_state_person, self.metadata)

        converted_aliases = [state_alias.convert(self.aliases[alias_id],
                                                 self.metadata)
                             for alias_id
                             in ingest_state_person.state_alias_ids]
        state_person_builder.aliases = converted_aliases

        converted_races = [
            state_person_race.convert(self.person_races[race_id],
                                      self.metadata)
            for race_id in ingest_state_person.state_person_race_ids
        ]
        state_person_builder.races = converted_races

        converted_ethnicities = [
            state_person_ethnicity.convert(
                self.person_ethnicities[ethnicity_id], self.metadata)
            for ethnicity_id in ingest_state_person.state_person_ethnicity_ids
        ]
        state_person_builder.ethnicities = converted_ethnicities

        converted_assessments = [
            self._convert_assessment(self.assessments[assessment_id])
            for assessment_id in ingest_state_person.state_assessment_ids
        ]
        state_person_builder.assessments = converted_assessments

        converted_external_ids = [
            state_person_external_id.convert(
                self.person_external_ids[external_id], self.metadata)
            for external_id in ingest_state_person.state_person_external_ids_ids
        ]
        state_person_builder.external_ids = converted_external_ids

        converted_sentence_groups = [
            self._convert_sentence_group(
                self.sentence_groups[sentence_group_id])
            for sentence_group_id
            in ingest_state_person.state_sentence_group_ids
        ]
        state_person_builder.sentence_groups = converted_sentence_groups

        return state_person_builder.build()
Пример #5
0
    def testParseStateAliasFullName(self):
        # Arrange
        ingest_alias = ingest_info_pb2.StateAlias(
            state_code='US_ND',
            state_alias_id='ALIAS_ID',
            full_name='FRANK OCEAN',
        )

        # Act
        result = state_alias.convert(ingest_alias, _EMPTY_METADATA)

        # Assert
        expected_result = entities.StatePersonAlias(
            state_code='US_ND',
            full_name='{"full_name": "FRANK OCEAN"}',
        )

        self.assertEqual(result, expected_result)
Пример #6
0
    def testParseStateAliasFullName(self):
        # Arrange
        ingest_alias = ingest_info_pb2.StateAlias(
            state_code="US_ND",
            state_alias_id="ALIAS_ID",
            full_name="FRANK OCEAN",
            alias_type="NICKNAME",
        )

        # Act
        result = state_alias.convert(ingest_alias, _EMPTY_METADATA)

        # Assert
        expected_result = entities.StatePersonAlias(
            state_code="US_ND",
            full_name='{"full_name": "FRANK OCEAN"}',
            alias_type=StatePersonAliasType.NICKNAME,
            alias_type_raw_text="NICKNAME",
        )

        self.assertEqual(result, expected_result)
Пример #7
0
    def _convert_person(self,
                        ingest_person: StatePerson) -> entities.StatePerson:
        """Converts an ingest_info proto StatePerson to a persistence entity."""
        state_person_builder = entities.StatePerson.builder()

        state_person.copy_fields_to_builder(state_person_builder,
                                            ingest_person, self.metadata)

        converted_aliases = [
            state_alias.convert(self.aliases[alias_id], self.metadata)
            for alias_id in ingest_person.state_alias_ids
        ]
        state_person_builder.aliases = converted_aliases

        converted_races = [
            state_person_race.convert(self.person_races[race_id],
                                      self.metadata)
            for race_id in ingest_person.state_person_race_ids
        ]
        state_person_builder.races = converted_races

        converted_ethnicities = [
            state_person_ethnicity.convert(
                self.person_ethnicities[ethnicity_id], self.metadata)
            for ethnicity_id in ingest_person.state_person_ethnicity_ids
        ]
        state_person_builder.ethnicities = converted_ethnicities

        converted_assessments = [
            self._convert_assessment(self.assessments[assessment_id])
            for assessment_id in ingest_person.state_assessment_ids
        ]
        state_person_builder.assessments = converted_assessments
        converted_program_assignments = [
            self._convert_program_assignment(
                self.program_assignments[assignment_id])
            for assignment_id in ingest_person.state_program_assignment_ids
        ]
        state_person_builder.program_assignments = converted_program_assignments

        converted_external_ids = [
            state_person_external_id.convert(
                self.person_external_ids[external_id], self.metadata)
            for external_id in ingest_person.state_person_external_ids_ids
        ]
        state_person_builder.external_ids = converted_external_ids

        converted_sentence_groups = [
            self._convert_sentence_group(
                self.sentence_groups[sentence_group_id])
            for sentence_group_id in ingest_person.state_sentence_group_ids
        ]
        state_person_builder.sentence_groups = converted_sentence_groups

        if ingest_person.supervising_officer_id:
            converted_supervising_officer = state_agent.convert(
                self.agents[ingest_person.supervising_officer_id],
                self.metadata)
            state_person_builder.supervising_officer = converted_supervising_officer

        return state_person_builder.build(StatePersonFactory.deserialize)