From 154afe5e66698274f662516fb3d0917f175c5075 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Kristen=20H=C3=A6rum?= Date: Tue, 13 Aug 2024 11:25:21 +0200 Subject: [PATCH] Add support for person identification in tests (#3578) #deploy-test-pdl-forvalter #deploy-pdl-forvalter Added support for setting person identification (FNR_IDENT and DNR_IDENT) in various tests to ensure correct data handling. Enhanced validation logic for address handling based on the type of identification in service classes. --- .../nav/pdl/forvalter/service/AdresseService.java | 6 ++++++ .../pdl/forvalter/service/BostedAdresseService.java | 13 ++++++++++--- .../forvalter/service/KontaktAdresseService.java | 2 +- .../forvalter/service/OppholdsadresseService.java | 5 ++--- .../no/nav/pdl/forvalter/utils/ArtifactUtils.java | 4 +++- .../service/AdressebeskyttelseServiceTest.java | 2 ++ .../FolkeregisterPersonstatusServiceTest.java | 4 ++++ .../forvalter/service/InnflyttingServiceTest.java | 3 +++ .../forvalter/service/UtflyttingServiceTest.java | 2 ++ 9 files changed, 33 insertions(+), 8 deletions(-) diff --git a/apps/pdl-forvalter/src/main/java/no/nav/pdl/forvalter/service/AdresseService.java b/apps/pdl-forvalter/src/main/java/no/nav/pdl/forvalter/service/AdresseService.java index 35a4c0936a6..44120e286d6 100644 --- a/apps/pdl-forvalter/src/main/java/no/nav/pdl/forvalter/service/AdresseService.java +++ b/apps/pdl-forvalter/src/main/java/no/nav/pdl/forvalter/service/AdresseService.java @@ -18,6 +18,8 @@ import static java.util.Objects.nonNull; import static no.nav.pdl.forvalter.utils.ArtifactUtils.getKilde; import static no.nav.pdl.forvalter.utils.ArtifactUtils.getMaster; +import static no.nav.pdl.forvalter.utils.IdenttypeUtility.isNotNpidIdent; +import static no.nav.pdl.forvalter.utils.TestnorgeIdentUtility.isTestnorgeIdent; import static org.apache.commons.lang3.BooleanUtils.isFalse; import static org.apache.commons.lang3.BooleanUtils.isTrue; import static org.apache.commons.lang3.StringUtils.isNotBlank; @@ -225,4 +227,8 @@ private void sortAdresser(List adresser) { adresser.get(i - 1).setId(adresser.size() - i + 1); } } + protected boolean isIdSupported(AdresseDTO adresse, String ident) { + + return isNotNpidIdent(ident) && !isTestnorgeIdent(ident) && !adresse.isPdlMaster(); + } } diff --git a/apps/pdl-forvalter/src/main/java/no/nav/pdl/forvalter/service/BostedAdresseService.java b/apps/pdl-forvalter/src/main/java/no/nav/pdl/forvalter/service/BostedAdresseService.java index 6876f23e2cb..4f3b7410a36 100644 --- a/apps/pdl-forvalter/src/main/java/no/nav/pdl/forvalter/service/BostedAdresseService.java +++ b/apps/pdl-forvalter/src/main/java/no/nav/pdl/forvalter/service/BostedAdresseService.java @@ -24,6 +24,7 @@ import static java.util.Objects.isNull; import static java.util.Objects.nonNull; import static no.nav.pdl.forvalter.utils.IdenttypeUtility.getIdenttype; +import static no.nav.pdl.forvalter.utils.TestnorgeIdentUtility.isTestnorgeIdent; import static no.nav.testnav.libs.data.pdlforvalter.v1.AdressebeskyttelseDTO.AdresseBeskyttelse.STRENGT_FORTROLIG; import static no.nav.testnav.libs.data.pdlforvalter.v1.Identtype.FNR; import static org.apache.commons.lang3.BooleanUtils.isNotTrue; @@ -115,7 +116,13 @@ private void handle(BostedadresseDTO bostedadresse, PersonDTO person) { } } else if (bostedadresse.countAdresser() == 0) { - bostedadresse.setVegadresse(new VegadresseDTO()); + + if (isTestnorgeIdent(person.getIdent())) { + bostedadresse.setUtenlandskAdresse(new UtenlandskAdresseDTO()); + + } else { + bostedadresse.setVegadresse(new VegadresseDTO()); + } } } else if (bostedadresse.countAdresser() == 0) { @@ -139,14 +146,14 @@ private void buildBoadresse(BostedadresseDTO bostedadresse, PersonDTO person) { var vegadresse = adresseServiceConsumer.getVegadresse(bostedadresse.getVegadresse(), bostedadresse.getAdresseIdentifikatorFraMatrikkelen()); - bostedadresse.setAdresseIdentifikatorFraMatrikkelen(vegadresse.getMatrikkelId()); + bostedadresse.setAdresseIdentifikatorFraMatrikkelen(isIdSupported(bostedadresse, person.getIdent()) ? vegadresse.getMatrikkelId() : null); mapperFacade.map(vegadresse, bostedadresse.getVegadresse()); } else if (nonNull(bostedadresse.getMatrikkeladresse())) { var matrikkeladresse = adresseServiceConsumer.getMatrikkeladresse(bostedadresse.getMatrikkeladresse(), bostedadresse.getAdresseIdentifikatorFraMatrikkelen()); - bostedadresse.setAdresseIdentifikatorFraMatrikkelen(matrikkeladresse.getMatrikkelId()); + bostedadresse.setAdresseIdentifikatorFraMatrikkelen(isIdSupported(bostedadresse, person.getIdent()) ? matrikkeladresse.getMatrikkelId() : null); mapperFacade.map(matrikkeladresse, bostedadresse.getMatrikkeladresse()); } else if (nonNull(bostedadresse.getUtenlandskAdresse())) { diff --git a/apps/pdl-forvalter/src/main/java/no/nav/pdl/forvalter/service/KontaktAdresseService.java b/apps/pdl-forvalter/src/main/java/no/nav/pdl/forvalter/service/KontaktAdresseService.java index c2f50a46293..9ae0e8f07f9 100644 --- a/apps/pdl-forvalter/src/main/java/no/nav/pdl/forvalter/service/KontaktAdresseService.java +++ b/apps/pdl-forvalter/src/main/java/no/nav/pdl/forvalter/service/KontaktAdresseService.java @@ -114,7 +114,7 @@ private void handle(KontaktadresseDTO kontaktadresse, PersonDTO person) { if (nonNull(kontaktadresse.getVegadresse())) { var vegadresse = adresseServiceConsumer.getVegadresse(kontaktadresse.getVegadresse(), kontaktadresse.getAdresseIdentifikatorFraMatrikkelen()); - kontaktadresse.setAdresseIdentifikatorFraMatrikkelen(kontaktadresse.getMaster() == Master.FREG ? vegadresse.getMatrikkelId() : null); + kontaktadresse.setAdresseIdentifikatorFraMatrikkelen(isIdSupported(kontaktadresse, person.getIdent()) ? vegadresse.getMatrikkelId() : null); mapperFacade.map(vegadresse, kontaktadresse.getVegadresse()); kontaktadresse.getVegadresse().setKommunenummer(null); diff --git a/apps/pdl-forvalter/src/main/java/no/nav/pdl/forvalter/service/OppholdsadresseService.java b/apps/pdl-forvalter/src/main/java/no/nav/pdl/forvalter/service/OppholdsadresseService.java index 85144a803b5..49ee8f10ea4 100644 --- a/apps/pdl-forvalter/src/main/java/no/nav/pdl/forvalter/service/OppholdsadresseService.java +++ b/apps/pdl-forvalter/src/main/java/no/nav/pdl/forvalter/service/OppholdsadresseService.java @@ -6,7 +6,6 @@ import no.nav.pdl.forvalter.exception.InvalidRequestException; import no.nav.pdl.forvalter.utils.IdenttypeUtility; import no.nav.testnav.libs.data.pdlforvalter.v1.AdressebeskyttelseDTO; -import no.nav.testnav.libs.data.pdlforvalter.v1.DbVersjonDTO.Master; import no.nav.testnav.libs.data.pdlforvalter.v1.OppholdsadresseDTO; import no.nav.testnav.libs.data.pdlforvalter.v1.PersonDTO; import no.nav.testnav.libs.data.pdlforvalter.v1.StatsborgerskapDTO; @@ -114,14 +113,14 @@ protected void handle(OppholdsadresseDTO oppholdsadresse, PersonDTO person) { if (nonNull(oppholdsadresse.getVegadresse())) { var vegadresse = adresseServiceConsumer.getVegadresse(oppholdsadresse.getVegadresse(), oppholdsadresse.getAdresseIdentifikatorFraMatrikkelen()); - oppholdsadresse.setAdresseIdentifikatorFraMatrikkelen(oppholdsadresse.getMaster() == Master.FREG ? + oppholdsadresse.setAdresseIdentifikatorFraMatrikkelen(isIdSupported(oppholdsadresse, person.getIdent()) ? vegadresse.getMatrikkelId() : null); mapperFacade.map(vegadresse, oppholdsadresse.getVegadresse()); } else if (nonNull(oppholdsadresse.getMatrikkeladresse())) { var matrikkeladresse = adresseServiceConsumer.getMatrikkeladresse(oppholdsadresse.getMatrikkeladresse(), oppholdsadresse.getAdresseIdentifikatorFraMatrikkelen()); - oppholdsadresse.setAdresseIdentifikatorFraMatrikkelen(matrikkeladresse.getMatrikkelId()); + oppholdsadresse.setAdresseIdentifikatorFraMatrikkelen(isIdSupported(oppholdsadresse, person.getIdent()) ? matrikkeladresse.getMatrikkelId() : null); mapperFacade.map(matrikkeladresse, oppholdsadresse.getMatrikkeladresse()); } else if (nonNull(oppholdsadresse.getUtenlandskAdresse())) { diff --git a/apps/pdl-forvalter/src/main/java/no/nav/pdl/forvalter/utils/ArtifactUtils.java b/apps/pdl-forvalter/src/main/java/no/nav/pdl/forvalter/utils/ArtifactUtils.java index bb3889ac76a..f7dc682e76e 100644 --- a/apps/pdl-forvalter/src/main/java/no/nav/pdl/forvalter/utils/ArtifactUtils.java +++ b/apps/pdl-forvalter/src/main/java/no/nav/pdl/forvalter/utils/ArtifactUtils.java @@ -9,6 +9,7 @@ import java.util.concurrent.atomic.AtomicInteger; import static java.util.Objects.nonNull; +import static no.nav.pdl.forvalter.utils.TestnorgeIdentUtility.isTestnorgeIdent; import static org.apache.commons.lang3.StringUtils.isNotBlank; @UtilityClass @@ -30,7 +31,8 @@ public static boolean hasSpraak(String spraak) { public static DbVersjonDTO.Master getMaster(DbVersjonDTO artifact, PersonDTO person) { - return getMaster(artifact, person.getIdenttype()); + return isTestnorgeIdent(person.getIdent()) ? DbVersjonDTO.Master.PDL : + getMaster(artifact, person.getIdenttype()); } public static DbVersjonDTO.Master getMaster(DbVersjonDTO artifact, Identtype identtype) { diff --git a/apps/pdl-forvalter/src/test/java/no/nav/pdl/forvalter/service/AdressebeskyttelseServiceTest.java b/apps/pdl-forvalter/src/test/java/no/nav/pdl/forvalter/service/AdressebeskyttelseServiceTest.java index 115b1027850..e80dde56edd 100644 --- a/apps/pdl-forvalter/src/test/java/no/nav/pdl/forvalter/service/AdressebeskyttelseServiceTest.java +++ b/apps/pdl-forvalter/src/test/java/no/nav/pdl/forvalter/service/AdressebeskyttelseServiceTest.java @@ -70,6 +70,7 @@ void whenStrengtFortroligOrFortroligAndIdentypeDnr_thenThrowExecption() { void whenStrengtFortroligUtland_thenSetMasterToPdl() { var request = PersonDTO.builder() + .ident(DNR_IDENT) .adressebeskyttelse(List.of(AdressebeskyttelseDTO.builder() .gradering(STRENGT_FORTROLIG_UTLAND) .isNew(true) @@ -85,6 +86,7 @@ void whenStrengtFortroligUtland_thenSetMasterToPdl() { void whenStrengtFortrolig_thenSetKontaktadresseClearOtherAdresses() { var request = PersonDTO.builder() + .ident(DNR_IDENT) .adressebeskyttelse(List.of(AdressebeskyttelseDTO.builder() .gradering(STRENGT_FORTROLIG) .isNew(true) diff --git a/apps/pdl-forvalter/src/test/java/no/nav/pdl/forvalter/service/FolkeregisterPersonstatusServiceTest.java b/apps/pdl-forvalter/src/test/java/no/nav/pdl/forvalter/service/FolkeregisterPersonstatusServiceTest.java index 6ce12812e04..b87cdb75662 100644 --- a/apps/pdl-forvalter/src/test/java/no/nav/pdl/forvalter/service/FolkeregisterPersonstatusServiceTest.java +++ b/apps/pdl-forvalter/src/test/java/no/nav/pdl/forvalter/service/FolkeregisterPersonstatusServiceTest.java @@ -41,6 +41,7 @@ void whenValueProvided_thenKeepValue() { var target = folkeregisterPersonstatusService.convert( PersonDTO.builder() + .ident(FNR_IDENT) .folkeregisterPersonstatus(List.of(FolkeregisterPersonstatusDTO.builder() .status(FORSVUNNET) .isNew(true) @@ -55,6 +56,7 @@ void whenDoedsfallExists_thenUseDoedsfall() { var target = folkeregisterPersonstatusService.convert( PersonDTO.builder() + .ident(FNR_IDENT) .folkeregisterPersonstatus( List.of(FolkeregisterPersonstatusDTO.builder() .isNew(true) @@ -73,6 +75,7 @@ void whenOppholdExists_thenUseOpphold() { var target = folkeregisterPersonstatusService.convert( PersonDTO.builder() + .ident(FNR_IDENT) .folkeregisterPersonstatus( List.of(FolkeregisterPersonstatusDTO.builder() .isNew(true) @@ -90,6 +93,7 @@ void whenUtflyttingExists_thenUseUpphold() { var target = folkeregisterPersonstatusService.convert( PersonDTO.builder() + .ident(FNR_IDENT) .folkeregisterPersonstatus( List.of(FolkeregisterPersonstatusDTO.builder() .isNew(true) diff --git a/apps/pdl-forvalter/src/test/java/no/nav/pdl/forvalter/service/InnflyttingServiceTest.java b/apps/pdl-forvalter/src/test/java/no/nav/pdl/forvalter/service/InnflyttingServiceTest.java index 2efcadbae0a..18767d9b462 100644 --- a/apps/pdl-forvalter/src/test/java/no/nav/pdl/forvalter/service/InnflyttingServiceTest.java +++ b/apps/pdl-forvalter/src/test/java/no/nav/pdl/forvalter/service/InnflyttingServiceTest.java @@ -23,6 +23,8 @@ @ExtendWith(MockitoExtension.class) class InnflyttingServiceTest { + private static final String DNR_IDENT = "45023412345"; + @Mock private KodeverkConsumer kodeverkConsumer; @@ -52,6 +54,7 @@ void whenEmptyLandkode_thenProvideRandomCountry() { when(kodeverkConsumer.getTilfeldigLand()).thenReturn("IND"); var request = PersonDTO.builder() + .ident(DNR_IDENT) .innflytting(List.of(InnflyttingDTO.builder() .isNew(true) .build())) diff --git a/apps/pdl-forvalter/src/test/java/no/nav/pdl/forvalter/service/UtflyttingServiceTest.java b/apps/pdl-forvalter/src/test/java/no/nav/pdl/forvalter/service/UtflyttingServiceTest.java index 1b923df5319..e10e6318c06 100644 --- a/apps/pdl-forvalter/src/test/java/no/nav/pdl/forvalter/service/UtflyttingServiceTest.java +++ b/apps/pdl-forvalter/src/test/java/no/nav/pdl/forvalter/service/UtflyttingServiceTest.java @@ -23,6 +23,7 @@ @ExtendWith(MockitoExtension.class) class UtflyttingServiceTest { + private static final String FNR_IDENT = "03012312345"; @Mock private KodeverkConsumer kodeverkConsumer; @@ -52,6 +53,7 @@ void whenEmptyLandkode_thenProvideCountryFromGeografiskeKodeverkConsumer() { when(kodeverkConsumer.getTilfeldigLand()).thenReturn("TGW"); var request = PersonDTO.builder() + .ident(FNR_IDENT) .utflytting(List.of(UtflyttingDTO.builder().isNew(true).build())) .build();