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)
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)
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()
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)
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)
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)