From 8ec243bb5c4404ef39800ca0e460fa0932deed87 Mon Sep 17 00:00:00 2001 From: Jan Kroken Date: Thu, 31 Oct 2024 11:16:35 +0100 Subject: [PATCH] refactoring fnr/Ident --- .../barnetrygd/domain/BarnetrygdException.kt | 4 +-- .../domain/Barnetrygdinformasjon.kt | 2 +- .../innlesning/barnetrygd/domain/Ident.kt | 11 +++++++ .../domain/KompletteringsService.kt | 32 +++++++++++++------ .../innlesning/barnetrygd/domain/PersonId.kt | 8 ++--- .../barnetrygd/domain/PersonIdService.kt | 6 ++-- .../barnetrygd/domain/PersonOppslag.kt | 2 +- .../barnetrygd/domain/SendTilBestemService.kt | 4 +-- .../barnetrygd/external/pdl/PdlClient.kt | 5 +-- .../barnetrygd/external/pdl/PdlResponse.kt | 5 ++- .../barnetrygd/external/pdl/PdlService.kt | 4 ++- .../BarnetrygdinformasjonRepository.kt | 5 +-- .../BarnetrygdmottakerRepository.kt | 2 +- .../domain/KompletteringsServiceTest.kt | 24 +++++++------- .../BarnetrygdinformasjonRepositoryTest.kt | 3 +- .../BarnetrygdmottakerRepositoryTest.kt | 3 +- .../repository/PersonIdSerializationTest.kt | 3 +- .../barnetrygd/BarnetrygdClientTest.kt | 5 +-- .../external/barnetrygd/WiremockFagsak.kt | 11 ++++--- .../external/barnetrygd/WiremockScenario.kt | 23 ++++++------- .../hjelpest\303\270nad/WiremockScenario.kt" | 11 ++++--- .../innlesning/external/pdl/PdlServiceTest.kt | 5 +-- .../external/pdl/PersonIdOppslagTest.kt | 8 +++-- .../external/pdl/WiremockScenario.kt | 12 ++++--- .../external/pdl/WiremockScenarioTest.kt | 3 +- 25 files changed, 121 insertions(+), 80 deletions(-) create mode 100644 src/main/kotlin/no/nav/pensjon/opptjening/omsorgsopptjening/start/innlesning/barnetrygd/domain/Ident.kt diff --git a/src/main/kotlin/no/nav/pensjon/opptjening/omsorgsopptjening/start/innlesning/barnetrygd/domain/BarnetrygdException.kt b/src/main/kotlin/no/nav/pensjon/opptjening/omsorgsopptjening/start/innlesning/barnetrygd/domain/BarnetrygdException.kt index 20cfb6e2..29567e3e 100644 --- a/src/main/kotlin/no/nav/pensjon/opptjening/omsorgsopptjening/start/innlesning/barnetrygd/domain/BarnetrygdException.kt +++ b/src/main/kotlin/no/nav/pensjon/opptjening/omsorgsopptjening/start/innlesning/barnetrygd/domain/BarnetrygdException.kt @@ -1,6 +1,6 @@ package no.nav.pensjon.opptjening.omsorgsopptjening.start.innlesning.barnetrygd.domain sealed class BarnetrygdException(msg: String, cause: Throwable) : RuntimeException(msg, cause) { - class FeilVedHentingAvPersonId(val fnr: String, msg: String, cause: Throwable) : BarnetrygdException(msg, cause) - class OverlappendePerioder(msg: String, cause: Throwable): BarnetrygdException(msg, cause) + class FeilVedHentingAvPersonId(val fnr: Ident, msg: String, cause: Throwable) : BarnetrygdException(msg, cause) + class OverlappendePerioder(msg: String, cause: Throwable) : BarnetrygdException(msg, cause) } \ No newline at end of file diff --git a/src/main/kotlin/no/nav/pensjon/opptjening/omsorgsopptjening/start/innlesning/barnetrygd/domain/Barnetrygdinformasjon.kt b/src/main/kotlin/no/nav/pensjon/opptjening/omsorgsopptjening/start/innlesning/barnetrygd/domain/Barnetrygdinformasjon.kt index 23dc3f81..64577a0f 100644 --- a/src/main/kotlin/no/nav/pensjon/opptjening/omsorgsopptjening/start/innlesning/barnetrygd/domain/Barnetrygdinformasjon.kt +++ b/src/main/kotlin/no/nav/pensjon/opptjening/omsorgsopptjening/start/innlesning/barnetrygd/domain/Barnetrygdinformasjon.kt @@ -11,7 +11,7 @@ data class Barnetrygdinformasjon( val id: UUID, val barnetrygdmottakerId: UUID, val created: Instant = Instant.now(), - val ident: String, + val ident: Ident, val persongrunnlag: List, val rådata: Rådata, val correlationId: CorrelationId, diff --git a/src/main/kotlin/no/nav/pensjon/opptjening/omsorgsopptjening/start/innlesning/barnetrygd/domain/Ident.kt b/src/main/kotlin/no/nav/pensjon/opptjening/omsorgsopptjening/start/innlesning/barnetrygd/domain/Ident.kt new file mode 100644 index 00000000..f2fd5d81 --- /dev/null +++ b/src/main/kotlin/no/nav/pensjon/opptjening/omsorgsopptjening/start/innlesning/barnetrygd/domain/Ident.kt @@ -0,0 +1,11 @@ +package no.nav.pensjon.opptjening.omsorgsopptjening.start.innlesning.barnetrygd.domain + +data class Ident(val value: String) { + init { + assert(value.matches("^[0-9]+$".toRegex())) { "Ugyldig verdi for Ident: $value" } + } + + override fun toString(): String { + return "Ident($value)" + } +} \ No newline at end of file diff --git a/src/main/kotlin/no/nav/pensjon/opptjening/omsorgsopptjening/start/innlesning/barnetrygd/domain/KompletteringsService.kt b/src/main/kotlin/no/nav/pensjon/opptjening/omsorgsopptjening/start/innlesning/barnetrygd/domain/KompletteringsService.kt index 4edba0ed..89faa562 100644 --- a/src/main/kotlin/no/nav/pensjon/opptjening/omsorgsopptjening/start/innlesning/barnetrygd/domain/KompletteringsService.kt +++ b/src/main/kotlin/no/nav/pensjon/opptjening/omsorgsopptjening/start/innlesning/barnetrygd/domain/KompletteringsService.kt @@ -18,10 +18,11 @@ class KompletteringsService( val barnetrygdmottaker = barnetrygdmottakerUtenPdlData.withPerson( try { - hentPersonId(barnetrygdmottakerUtenPdlData.ident, "barnetrygdmottaker") + println("kompletter(BarnetrygdmottakerUtenPdlData.ident=${barnetrygdmottakerUtenPdlData.ident}") + hentPersonId(Ident(barnetrygdmottakerUtenPdlData.ident), "barnetrygdmottaker") } catch (e: PersonOppslagException) { throw BarnetrygdException.FeilVedHentingAvPersonId( - fnr = barnetrygdmottakerUtenPdlData.ident, + fnr = Ident(barnetrygdmottakerUtenPdlData.ident), msg = "Feil ved henting av barnetrygdmottaker fra PDL", cause = e, ) @@ -130,17 +131,22 @@ class KompletteringsService( fun oppdaterAlleFnr(barnetrygdData: PersongrunnlagOgRådata): PersongrunnlagOgRådata { try { val saker = barnetrygdData.persongrunnlag.map { sak -> - val omsorgsyter = hentPersonId(sak.omsorgsyter, "omsorgsyter").fnr + val omsorgsyter = hentPersonId(Ident(sak.omsorgsyter), "omsorgsyter").fnr val omsorgsperioder = sak.omsorgsperioder.map { omsorgsperiode -> val omsorgsmottaker = - hentPersonId(omsorgsperiode.omsorgsmottaker, "omsorgsmottaker, barnetrygd").fnr - omsorgsperiode.copy(omsorgsmottaker = omsorgsmottaker) + hentPersonId(Ident(omsorgsperiode.omsorgsmottaker), "omsorgsmottaker, barnetrygd").fnr + omsorgsperiode.copy(omsorgsmottaker = omsorgsmottaker.value) }.distinct() val hjelpestønadperioder = sak.hjelpestønadsperioder.map { - it.copy(omsorgsmottaker = hentPersonId(it.omsorgsmottaker, "omsorgsmottaker, hjelpestønad").fnr) + it.copy( + omsorgsmottaker = hentPersonId( + Ident(it.omsorgsmottaker), + "omsorgsmottaker, hjelpestønad" + ).fnr.value + ) }.distinct() sak.copy( - omsorgsyter = omsorgsyter, + omsorgsyter = omsorgsyter.value, omsorgsperioder = omsorgsperioder, hjelpestønadsperioder = hjelpestønadperioder ) @@ -155,16 +161,22 @@ class KompletteringsService( } } - private fun hentPersonId(fnr: String, beskrivelse: String): PersonId { + private fun hentPersonId(fnr: Ident, beskrivelse: String): PersonId { try { return personIdService.personFromIdent(fnr)!! } catch (e: PersonOppslagException) { - throw BarnetrygdException.FeilVedHentingAvPersonId(fnr, "Feil ved oppslag i PDL for '$beskrivelse'", e) + println("XXXX: feil") + e.printStackTrace() + throw BarnetrygdException.FeilVedHentingAvPersonId( + fnr, + "Feil ved oppslag i PDL for '$beskrivelse'", + e + ) } } fun ekspanderFnrTilAlleIHistorikken(fnrs: Set): Set { - return fnrs.flatMap { personIdService.personFromIdent(it)!!.historiske }.toSet() + return fnrs.flatMap { personIdService.personFromIdent(Ident(it))!!.historiske }.toSet() } data class Komplettert( diff --git a/src/main/kotlin/no/nav/pensjon/opptjening/omsorgsopptjening/start/innlesning/barnetrygd/domain/PersonId.kt b/src/main/kotlin/no/nav/pensjon/opptjening/omsorgsopptjening/start/innlesning/barnetrygd/domain/PersonId.kt index 01388f84..08cfbe0f 100644 --- a/src/main/kotlin/no/nav/pensjon/opptjening/omsorgsopptjening/start/innlesning/barnetrygd/domain/PersonId.kt +++ b/src/main/kotlin/no/nav/pensjon/opptjening/omsorgsopptjening/start/innlesning/barnetrygd/domain/PersonId.kt @@ -1,10 +1,6 @@ package no.nav.pensjon.opptjening.omsorgsopptjening.start.innlesning.barnetrygd.domain data class PersonId( - val fnr: String, + val fnr: Ident, val historiske: Set -) { - fun identifisertAv(fnr: String): Boolean { - return historiske.contains(fnr) - } -} \ No newline at end of file +) \ No newline at end of file diff --git a/src/main/kotlin/no/nav/pensjon/opptjening/omsorgsopptjening/start/innlesning/barnetrygd/domain/PersonIdService.kt b/src/main/kotlin/no/nav/pensjon/opptjening/omsorgsopptjening/start/innlesning/barnetrygd/domain/PersonIdService.kt index 91252743..81eec714 100644 --- a/src/main/kotlin/no/nav/pensjon/opptjening/omsorgsopptjening/start/innlesning/barnetrygd/domain/PersonIdService.kt +++ b/src/main/kotlin/no/nav/pensjon/opptjening/omsorgsopptjening/start/innlesning/barnetrygd/domain/PersonIdService.kt @@ -13,15 +13,15 @@ class PersonIdService( CacheBuilder.newBuilder() .expireAfterWrite(Duration.ofMinutes(5)) .maximumSize(30) - .build() + .build() - fun personFromIdent(fnr: String): PersonId? { + fun personFromIdent(fnr: Ident): PersonId? { return when (val personId: PersonId? = cache.getIfPresent(fnr)) { is PersonId -> personId null -> { val personId = pdlService.hentPerson(fnr) personId.historiske.forEach { - cache.put(it, personId) + cache.put(Ident(it), personId) } personId } diff --git a/src/main/kotlin/no/nav/pensjon/opptjening/omsorgsopptjening/start/innlesning/barnetrygd/domain/PersonOppslag.kt b/src/main/kotlin/no/nav/pensjon/opptjening/omsorgsopptjening/start/innlesning/barnetrygd/domain/PersonOppslag.kt index 5e76bfdd..8723297f 100644 --- a/src/main/kotlin/no/nav/pensjon/opptjening/omsorgsopptjening/start/innlesning/barnetrygd/domain/PersonOppslag.kt +++ b/src/main/kotlin/no/nav/pensjon/opptjening/omsorgsopptjening/start/innlesning/barnetrygd/domain/PersonOppslag.kt @@ -1,7 +1,7 @@ package no.nav.pensjon.opptjening.omsorgsopptjening.start.innlesning.barnetrygd.domain interface PersonOppslag { - fun hentPerson(fnr: String): PersonId + fun hentPerson(fnr: Ident): PersonId } data class PersonOppslagException( diff --git a/src/main/kotlin/no/nav/pensjon/opptjening/omsorgsopptjening/start/innlesning/barnetrygd/domain/SendTilBestemService.kt b/src/main/kotlin/no/nav/pensjon/opptjening/omsorgsopptjening/start/innlesning/barnetrygd/domain/SendTilBestemService.kt index e4b2a3cd..0d05a91e 100644 --- a/src/main/kotlin/no/nav/pensjon/opptjening/omsorgsopptjening/start/innlesning/barnetrygd/domain/SendTilBestemService.kt +++ b/src/main/kotlin/no/nav/pensjon/opptjening/omsorgsopptjening/start/innlesning/barnetrygd/domain/SendTilBestemService.kt @@ -87,12 +87,12 @@ class SendTilBestemService( null, serialize( Topics.Omsorgsopptjening.Key( - ident = barnetrygdinformasjon.ident, + ident = barnetrygdinformasjon.ident.value, ) ), serialize( PersongrunnlagMelding( - omsorgsyter = barnetrygdinformasjon.ident, + omsorgsyter = barnetrygdinformasjon.ident.value, persongrunnlag = barnetrygdinformasjon.persongrunnlag, rådata = barnetrygdinformasjon.rådata, innlesingId = barnetrygdinformasjon.innlesingId, diff --git a/src/main/kotlin/no/nav/pensjon/opptjening/omsorgsopptjening/start/innlesning/barnetrygd/external/pdl/PdlClient.kt b/src/main/kotlin/no/nav/pensjon/opptjening/omsorgsopptjening/start/innlesning/barnetrygd/external/pdl/PdlClient.kt index 70453271..f5c67d5d 100644 --- a/src/main/kotlin/no/nav/pensjon/opptjening/omsorgsopptjening/start/innlesning/barnetrygd/external/pdl/PdlClient.kt +++ b/src/main/kotlin/no/nav/pensjon/opptjening/omsorgsopptjening/start/innlesning/barnetrygd/external/pdl/PdlClient.kt @@ -4,6 +4,7 @@ import io.micrometer.core.instrument.MeterRegistry import no.nav.pensjon.opptjening.omsorgsopptjening.felles.CorrelationId import no.nav.pensjon.opptjening.omsorgsopptjening.felles.InnlesingId import no.nav.pensjon.opptjening.omsorgsopptjening.start.innlesning.Mdc +import no.nav.pensjon.opptjening.omsorgsopptjening.start.innlesning.barnetrygd.domain.Ident import org.springframework.beans.factory.annotation.Qualifier import org.springframework.beans.factory.annotation.Value import org.springframework.boot.web.client.RestTemplateBuilder @@ -34,9 +35,9 @@ class PdlClient( value = [RestClientException::class, PdlException::class], backoff = Backoff(delay = 1500L, maxDelay = 30000L, multiplier = 2.5) ) - fun hentPerson(fnr: String): PdlResponse? { + fun hentPerson(fnr: Ident): PdlResponse? { val entity = RequestEntity( - PdlQuery(graphqlQuery.hentPersonQuery(), FnrVariables(ident = fnr)), + PdlQuery(graphqlQuery.hentPersonQuery(), FnrVariables(ident = fnr.value)), HttpHeaders().apply { add("Nav-Call-Id", Mdc.getCorrelationId().toString()) add("Nav-Consumer-Id", "omsorgsopptjening-start-innlesning") diff --git a/src/main/kotlin/no/nav/pensjon/opptjening/omsorgsopptjening/start/innlesning/barnetrygd/external/pdl/PdlResponse.kt b/src/main/kotlin/no/nav/pensjon/opptjening/omsorgsopptjening/start/innlesning/barnetrygd/external/pdl/PdlResponse.kt index 259c37d1..785bc178 100644 --- a/src/main/kotlin/no/nav/pensjon/opptjening/omsorgsopptjening/start/innlesning/barnetrygd/external/pdl/PdlResponse.kt +++ b/src/main/kotlin/no/nav/pensjon/opptjening/omsorgsopptjening/start/innlesning/barnetrygd/external/pdl/PdlResponse.kt @@ -1,6 +1,7 @@ package no.nav.pensjon.opptjening.omsorgsopptjening.start.innlesning.barnetrygd.external.pdl import com.fasterxml.jackson.annotation.JsonIgnoreProperties +import no.nav.pensjon.opptjening.omsorgsopptjening.start.innlesning.barnetrygd.domain.Ident import no.nav.pensjon.opptjening.omsorgsopptjening.start.innlesning.barnetrygd.domain.PersonId import java.time.LocalDateTime @@ -40,8 +41,10 @@ data class HentPersonQueryResponse( } fun toDomain(): PersonId { + println("identhistorikk:gjeldende: ${identhistorikk().gjeldende().ident}") + println("identhistorikk:historikk: ${identhistorikk().historikk()}") return PersonId( - fnr = identhistorikk().gjeldende().ident, + fnr = Ident(identhistorikk().gjeldende().ident), historiske = identhistorikk().historikk().map { it.ident }.toSet() ) } diff --git a/src/main/kotlin/no/nav/pensjon/opptjening/omsorgsopptjening/start/innlesning/barnetrygd/external/pdl/PdlService.kt b/src/main/kotlin/no/nav/pensjon/opptjening/omsorgsopptjening/start/innlesning/barnetrygd/external/pdl/PdlService.kt index f53107c7..1c6d81d2 100644 --- a/src/main/kotlin/no/nav/pensjon/opptjening/omsorgsopptjening/start/innlesning/barnetrygd/external/pdl/PdlService.kt +++ b/src/main/kotlin/no/nav/pensjon/opptjening/omsorgsopptjening/start/innlesning/barnetrygd/external/pdl/PdlService.kt @@ -1,5 +1,6 @@ package no.nav.pensjon.opptjening.omsorgsopptjening.start.innlesning.barnetrygd.external.pdl +import no.nav.pensjon.opptjening.omsorgsopptjening.start.innlesning.barnetrygd.domain.Ident import no.nav.pensjon.opptjening.omsorgsopptjening.start.innlesning.barnetrygd.domain.PersonId import no.nav.pensjon.opptjening.omsorgsopptjening.start.innlesning.barnetrygd.domain.PersonOppslag import no.nav.pensjon.opptjening.omsorgsopptjening.start.innlesning.barnetrygd.domain.PersonOppslagException @@ -10,7 +11,8 @@ class PdlService( private val pdlClient: PdlClient ) : PersonOppslag { - override fun hentPerson(fnr: String): PersonId { + override fun hentPerson(fnr: Ident): PersonId { + println("hentPerson: fnr=$fnr") try { val pdlResponse = pdlClient.hentPerson(fnr = fnr) diff --git a/src/main/kotlin/no/nav/pensjon/opptjening/omsorgsopptjening/start/innlesning/barnetrygd/repository/BarnetrygdinformasjonRepository.kt b/src/main/kotlin/no/nav/pensjon/opptjening/omsorgsopptjening/start/innlesning/barnetrygd/repository/BarnetrygdinformasjonRepository.kt index ce3b916e..f4890304 100644 --- a/src/main/kotlin/no/nav/pensjon/opptjening/omsorgsopptjening/start/innlesning/barnetrygd/repository/BarnetrygdinformasjonRepository.kt +++ b/src/main/kotlin/no/nav/pensjon/opptjening/omsorgsopptjening/start/innlesning/barnetrygd/repository/BarnetrygdinformasjonRepository.kt @@ -5,6 +5,7 @@ import no.nav.pensjon.opptjening.omsorgsopptjening.felles.domene.kafka.Rådata import no.nav.pensjon.opptjening.omsorgsopptjening.felles.domene.kafka.messages.domene.PersongrunnlagMelding import no.nav.pensjon.opptjening.omsorgsopptjening.start.innlesning.barnetrygd.domain.Barnetrygdinformasjon import no.nav.pensjon.opptjening.omsorgsopptjening.start.innlesning.barnetrygd.domain.Barnetrygdmottaker +import no.nav.pensjon.opptjening.omsorgsopptjening.start.innlesning.barnetrygd.domain.Ident import no.nav.pensjon.opptjening.omsorgsopptjening.start.innlesning.barnetrygd.repository.PersonSerialization.toPerson import org.springframework.jdbc.core.RowMapper import org.springframework.jdbc.core.namedparam.NamedParameterJdbcTemplate @@ -53,7 +54,7 @@ class BarnetrygdinformasjonRepository( "id" to barnetrygdinformasjon.id, "barnetrygdmottaker_id" to barnetrygdinformasjon.barnetrygdmottakerId, "created" to Instant.now().toString(), - "ident" to barnetrygdinformasjon.ident, + "ident" to barnetrygdinformasjon.ident.value, "persongrunnlag" to serialize(barnetrygdinformasjon.persongrunnlag), "rådata" to serialize(barnetrygdinformasjon.rådata), "correlationId" to barnetrygdinformasjon.correlationId.toUUID(), @@ -186,7 +187,7 @@ class BarnetrygdinformasjonRepository( id = UUID.fromString(rs.getString("id")), barnetrygdmottakerId = UUID.fromString(rs.getString("barnetrygdmottaker_id")), created = rs.getTimestamp("created").toInstant(), - ident = rs.getString("ident"), + ident = Ident(rs.getString("ident")), persongrunnlag = deserialize>(rs.getString("persongrunnlag")), rådata = deserialize(rs.getString("rådata")), correlationId = CorrelationId.fromString(rs.getString("correlationId")), diff --git a/src/main/kotlin/no/nav/pensjon/opptjening/omsorgsopptjening/start/innlesning/barnetrygd/repository/BarnetrygdmottakerRepository.kt b/src/main/kotlin/no/nav/pensjon/opptjening/omsorgsopptjening/start/innlesning/barnetrygd/repository/BarnetrygdmottakerRepository.kt index bcf6f62c..d9199c4b 100644 --- a/src/main/kotlin/no/nav/pensjon/opptjening/omsorgsopptjening/start/innlesning/barnetrygd/repository/BarnetrygdmottakerRepository.kt +++ b/src/main/kotlin/no/nav/pensjon/opptjening/omsorgsopptjening/start/innlesning/barnetrygd/repository/BarnetrygdmottakerRepository.kt @@ -98,7 +98,7 @@ class BarnetrygdmottakerRepository( MapSqlParameterSource( mapOf( "id" to barnetrygdmottaker.id, - "personid_gjeldende" to barnetrygdmottaker.personId?.fnr, + "personid_gjeldende" to barnetrygdmottaker.personId?.fnr?.value, "personid_historikk" to barnetrygdmottaker.personId?.toJson(), ) ) diff --git a/src/test/kotlin/no/nav/pensjon/opptjening/omsorgsopptjening/start/innlesning/barnetrygd/domain/KompletteringsServiceTest.kt b/src/test/kotlin/no/nav/pensjon/opptjening/omsorgsopptjening/start/innlesning/barnetrygd/domain/KompletteringsServiceTest.kt index 98fe93cd..76cedad9 100644 --- a/src/test/kotlin/no/nav/pensjon/opptjening/omsorgsopptjening/start/innlesning/barnetrygd/domain/KompletteringsServiceTest.kt +++ b/src/test/kotlin/no/nav/pensjon/opptjening/omsorgsopptjening/start/innlesning/barnetrygd/domain/KompletteringsServiceTest.kt @@ -135,7 +135,7 @@ class KompletteringsServiceTest : SpringContextTest.NoKafka() { @Test fun `full flyt med fnr-historikk og oppdatering`() { - fun fnr(i: Int) = format("%011d", i) + fun fnr(i: Int) = Ident(format("%011d", i)) wiremock.pdl(fnr(1), listOf(fnr(1_1), fnr(1_2), fnr(1_3))) wiremock.pdl(fnr(2), listOf(fnr(2_1), fnr(2_2), fnr(2_3))) wiremock.pdl(fnr(3), listOf(fnr(3_1), fnr(3_2), fnr(3_3))) @@ -201,7 +201,7 @@ class KompletteringsServiceTest : SpringContextTest.NoKafka() { val mottatt = Barnetrygdmottaker.Mottatt( id = UUID.randomUUID(), opprettet = Instant.now(), - ident = fnr(1_2), + ident = fnr(1_2).value, personId = null, correlationId = CorrelationId.generate(), innlesingId = InnlesingId.generate(), @@ -220,7 +220,7 @@ class KompletteringsServiceTest : SpringContextTest.NoKafka() { println(komplettert) assertThat(komplettert.barnetrygdmottaker.personId?.fnr).isEqualTo(fnr(1)) assertThat(komplettert.persongrunnlag).hasSize(1) - assertThat(komplettert.persongrunnlag[0].omsorgsyter).isEqualTo(fnr(1)) + assertThat(komplettert.persongrunnlag[0].omsorgsyter).isEqualTo(fnr(1).value) assertThat(komplettert.persongrunnlag[0].omsorgsperioder).hasSize(2) assertThat(komplettert.persongrunnlag[0].hjelpestønadsperioder).hasSize(1) } @@ -228,7 +228,7 @@ class KompletteringsServiceTest : SpringContextTest.NoKafka() { @Test fun `barnetrygdmottaker finnes ikke i PDL`() { - fun fnr(i: Int) = format("%011d", i) + fun fnr(i: Int) = Ident(format("%011d", i)) wiremock.`pdl error not_found`() wiremock.`hent-barnetrygd ok - ingen perioder`() @@ -236,7 +236,7 @@ class KompletteringsServiceTest : SpringContextTest.NoKafka() { val mottatt = Barnetrygdmottaker.Mottatt( id = UUID.randomUUID(), opprettet = Instant.now(), - ident = fnr(1_1), + ident = fnr(1_1).value, personId = null, correlationId = CorrelationId.generate(), innlesingId = InnlesingId.generate(), @@ -259,13 +259,13 @@ class KompletteringsServiceTest : SpringContextTest.NoKafka() { @Test fun `omsorgsmottaker finnes ikke i PDL`() { - fun fnr(i: Int) = format("%011d", i) - wiremock.`pdl error not_found`(fnr(1)) + fun fnr(i: Int) = Ident(format("%011d", i)) + wiremock.`pdl error not_found`(fnr(1).value) val mottatt = Barnetrygdmottaker.Mottatt( id = UUID.randomUUID(), opprettet = Instant.now(), - ident = fnr(1), + ident = fnr(1).value, personId = null, correlationId = CorrelationId.generate(), innlesingId = InnlesingId.generate(), @@ -288,7 +288,7 @@ class KompletteringsServiceTest : SpringContextTest.NoKafka() { @Test fun `omsorgsmottaker har overlappende perioder`() { - fun fnr(i: Int) = format("%011d", i) + fun fnr(i: Int) = Ident(format("%011d", i)) wiremock.pdl(fnr(1), listOf(fnr(1_1), fnr(1_2))) wiremock.pdl(fnr(2), listOf(fnr(2_1), fnr(2_2))) @@ -339,7 +339,7 @@ class KompletteringsServiceTest : SpringContextTest.NoKafka() { val mottatt = Barnetrygdmottaker.Mottatt( id = UUID.randomUUID(), opprettet = Instant.now(), - ident = fnr(1_2), + ident = fnr(1_2).value, personId = null, correlationId = CorrelationId.generate(), innlesingId = InnlesingId.generate(), @@ -362,7 +362,7 @@ class KompletteringsServiceTest : SpringContextTest.NoKafka() { @Test fun `hjelpestønad har overlappende perioder`() { - fun fnr(i: Int) = format("%011d", i) + fun fnr(i: Int) = Ident(format("%011d", i)) wiremock.pdl(fnr(1), listOf(fnr(1_1), fnr(1_2), fnr(1_3))) wiremock.pdl(fnr(2), listOf(fnr(2_1), fnr(2_2), fnr(2_3))) wiremock.pdl(fnr(3), listOf(fnr(3_1), fnr(3_2), fnr(3_3))) @@ -436,7 +436,7 @@ class KompletteringsServiceTest : SpringContextTest.NoKafka() { val mottatt = Barnetrygdmottaker.Mottatt( id = UUID.randomUUID(), opprettet = Instant.now(), - ident = fnr(1_2), + ident = fnr(1_2).value, personId = null, correlationId = CorrelationId.generate(), innlesingId = InnlesingId.generate(), diff --git a/src/test/kotlin/no/nav/pensjon/opptjening/omsorgsopptjening/start/innlesning/barnetrygd/repository/BarnetrygdinformasjonRepositoryTest.kt b/src/test/kotlin/no/nav/pensjon/opptjening/omsorgsopptjening/start/innlesning/barnetrygd/repository/BarnetrygdinformasjonRepositoryTest.kt index c9813716..fa2a2311 100644 --- a/src/test/kotlin/no/nav/pensjon/opptjening/omsorgsopptjening/start/innlesning/barnetrygd/repository/BarnetrygdinformasjonRepositoryTest.kt +++ b/src/test/kotlin/no/nav/pensjon/opptjening/omsorgsopptjening/start/innlesning/barnetrygd/repository/BarnetrygdinformasjonRepositoryTest.kt @@ -12,6 +12,7 @@ import no.nav.pensjon.opptjening.omsorgsopptjening.start.innlesning.barnetrygd.S import no.nav.pensjon.opptjening.omsorgsopptjening.start.innlesning.barnetrygd.domain.BarnetrygdInnlesing import no.nav.pensjon.opptjening.omsorgsopptjening.start.innlesning.barnetrygd.domain.Barnetrygdinformasjon import no.nav.pensjon.opptjening.omsorgsopptjening.start.innlesning.barnetrygd.domain.Barnetrygdmottaker +import no.nav.pensjon.opptjening.omsorgsopptjening.start.innlesning.barnetrygd.domain.Ident import org.assertj.core.api.Assertions.assertThat import org.junit.jupiter.api.Test import org.springframework.beans.factory.annotation.Autowired @@ -80,7 +81,7 @@ class BarnetrygdinformasjonRepositoryTest( return Barnetrygdinformasjon( id = UUID.randomUUID(), barnetrygdmottakerId = barnetrygdmottaker.id, - ident = "00000000002", // forskjellig fra barnetrygdmottaker, siden den kan være oppdatert + ident = Ident("00000000002"), // forskjellig fra barnetrygdmottaker, siden den kan være oppdatert persongrunnlag = listOf( PersongrunnlagMelding.Persongrunnlag( omsorgsyter = "00000000002", diff --git a/src/test/kotlin/no/nav/pensjon/opptjening/omsorgsopptjening/start/innlesning/barnetrygd/repository/BarnetrygdmottakerRepositoryTest.kt b/src/test/kotlin/no/nav/pensjon/opptjening/omsorgsopptjening/start/innlesning/barnetrygd/repository/BarnetrygdmottakerRepositoryTest.kt index a8c6a6ec..133d6315 100644 --- a/src/test/kotlin/no/nav/pensjon/opptjening/omsorgsopptjening/start/innlesning/barnetrygd/repository/BarnetrygdmottakerRepositoryTest.kt +++ b/src/test/kotlin/no/nav/pensjon/opptjening/omsorgsopptjening/start/innlesning/barnetrygd/repository/BarnetrygdmottakerRepositoryTest.kt @@ -5,6 +5,7 @@ import no.nav.pensjon.opptjening.omsorgsopptjening.felles.InnlesingId import no.nav.pensjon.opptjening.omsorgsopptjening.start.innlesning.barnetrygd.SpringContextTest import no.nav.pensjon.opptjening.omsorgsopptjening.start.innlesning.barnetrygd.domain.BarnetrygdInnlesing import no.nav.pensjon.opptjening.omsorgsopptjening.start.innlesning.barnetrygd.domain.Barnetrygdmottaker +import no.nav.pensjon.opptjening.omsorgsopptjening.start.innlesning.barnetrygd.domain.Ident import no.nav.pensjon.opptjening.omsorgsopptjening.start.innlesning.barnetrygd.domain.PersonId import org.assertj.core.api.Assertions.assertThat import org.junit.jupiter.api.Assertions.assertInstanceOf @@ -107,7 +108,7 @@ class BarnetrygdmottakerRepositoryTest : SpringContextTest.NoKafka() { innlesingId = innlesing.id, ) val mottatt = barnetrygdmottakerRepository.insert(barnetrygdmottaker).withPerson( - PersonId("12345123452", setOf("12345123451", "12345123452")) + PersonId(Ident("12345123452"), setOf("12345123451", "12345123452")) ) barnetrygdmottakerRepository.updatePersonIdent(mottatt) val oppdatert = barnetrygdmottakerRepository.find(mottatt.id)!! diff --git a/src/test/kotlin/no/nav/pensjon/opptjening/omsorgsopptjening/start/innlesning/barnetrygd/repository/PersonIdSerializationTest.kt b/src/test/kotlin/no/nav/pensjon/opptjening/omsorgsopptjening/start/innlesning/barnetrygd/repository/PersonIdSerializationTest.kt index 6416793e..e5cbb108 100644 --- a/src/test/kotlin/no/nav/pensjon/opptjening/omsorgsopptjening/start/innlesning/barnetrygd/repository/PersonIdSerializationTest.kt +++ b/src/test/kotlin/no/nav/pensjon/opptjening/omsorgsopptjening/start/innlesning/barnetrygd/repository/PersonIdSerializationTest.kt @@ -1,5 +1,6 @@ package no.nav.pensjon.opptjening.omsorgsopptjening.start.innlesning.barnetrygd.repository +import no.nav.pensjon.opptjening.omsorgsopptjening.start.innlesning.barnetrygd.domain.Ident import no.nav.pensjon.opptjening.omsorgsopptjening.start.innlesning.barnetrygd.domain.PersonId import no.nav.pensjon.opptjening.omsorgsopptjening.start.innlesning.barnetrygd.repository.PersonSerialization.toJson import no.nav.pensjon.opptjening.omsorgsopptjening.start.innlesning.barnetrygd.repository.PersonSerialization.toPerson @@ -10,7 +11,7 @@ class PersonIdSerializationTest { @Test fun `kan serialisere og deserialisere en person med kun gjeldende ident`() { val personId = PersonId( - fnr = "12345678901", + fnr = Ident("12345678901"), historiske = setOf("12345678901"), ) val json = personId.toJson() diff --git a/src/test/kotlin/no/nav/pensjon/opptjening/omsorgsopptjening/start/innlesning/external/barnetrygd/BarnetrygdClientTest.kt b/src/test/kotlin/no/nav/pensjon/opptjening/omsorgsopptjening/start/innlesning/external/barnetrygd/BarnetrygdClientTest.kt index afc3a629..78b0faa1 100644 --- a/src/test/kotlin/no/nav/pensjon/opptjening/omsorgsopptjening/start/innlesning/external/barnetrygd/BarnetrygdClientTest.kt +++ b/src/test/kotlin/no/nav/pensjon/opptjening/omsorgsopptjening/start/innlesning/external/barnetrygd/BarnetrygdClientTest.kt @@ -11,6 +11,7 @@ import no.nav.pensjon.opptjening.omsorgsopptjening.felles.domene.kafka.messages. import no.nav.pensjon.opptjening.omsorgsopptjening.start.innlesning.Mdc import no.nav.pensjon.opptjening.omsorgsopptjening.start.innlesning.barnetrygd.SpringContextTest import no.nav.pensjon.opptjening.omsorgsopptjening.start.innlesning.barnetrygd.domain.GyldigÅrsintervallFilter +import no.nav.pensjon.opptjening.omsorgsopptjening.start.innlesning.barnetrygd.domain.Ident import no.nav.pensjon.opptjening.omsorgsopptjening.start.innlesning.barnetrygd.external.barnetrygd.BarnetrygdClient import no.nav.pensjon.opptjening.omsorgsopptjening.start.innlesning.barnetrygd.external.barnetrygd.BestillBarnetrygdMottakereException import no.nav.pensjon.opptjening.omsorgsopptjening.start.innlesning.barnetrygd.external.barnetrygd.BestillBarnetrygdmottakereResponse @@ -76,7 +77,7 @@ class BarnetrygdClientTest : SpringContextTest.NoKafka() { fun `returner ok dersom kall til hent-barnetrygd svarer med 200`() { Mdc.scopedMdc(CorrelationId.generate()) { Mdc.scopedMdc(InnlesingId.generate()) { - wiremock.`hent-barnetrygd ok`("123") + wiremock.`hent-barnetrygd ok`(Ident("123")) client.hentBarnetrygd( ident = "123", @@ -173,7 +174,7 @@ class BarnetrygdClientTest : SpringContextTest.NoKafka() { fun `kaster exception dersom kall til hent-barnetrygd svarer med 200 ok med tom liste`() { Mdc.scopedMdc(CorrelationId.generate()) { Mdc.scopedMdc(InnlesingId.generate()) { - wiremock.`hent-barnetrygd ok uten fagsaker`("123") + wiremock.`hent-barnetrygd ok uten fagsaker`(Ident("123")) assertThrows { client.hentBarnetrygd( diff --git a/src/test/kotlin/no/nav/pensjon/opptjening/omsorgsopptjening/start/innlesning/external/barnetrygd/WiremockFagsak.kt b/src/test/kotlin/no/nav/pensjon/opptjening/omsorgsopptjening/start/innlesning/external/barnetrygd/WiremockFagsak.kt index e6110337..d21f6e48 100644 --- a/src/test/kotlin/no/nav/pensjon/opptjening/omsorgsopptjening/start/innlesning/external/barnetrygd/WiremockFagsak.kt +++ b/src/test/kotlin/no/nav/pensjon/opptjening/omsorgsopptjening/start/innlesning/external/barnetrygd/WiremockFagsak.kt @@ -1,8 +1,11 @@ package no.nav.pensjon.opptjening.omsorgsopptjening.start.innlesning.external.barnetrygd -data class WiremockFagsak(val eier: String, val perioder: List) { +import no.nav.pensjon.opptjening.omsorgsopptjening.start.innlesning.barnetrygd.domain.Ident + +data class WiremockFagsak(val eier: Ident, val perioder: List) { + data class BarnetrygdPeriode( - val personIdent: String, + val personIdent: Ident, val delingsProsentYtelse: String = "FULL", val ytelsestype: String = "ORDINÆR_BARNETRYGD", val utbetaltPerMnd: Int = 2000, @@ -11,7 +14,7 @@ data class WiremockFagsak(val eier: String, val perioder: List { return mapOf( - Pair("personIdent", personIdent), + Pair("personIdent", personIdent.value), Pair("delingsProsentYtelse", delingsProsentYtelse), Pair("ytelsestype", ytelsestype), Pair("utbetaltPerMnd", utbetaltPerMnd), @@ -23,7 +26,7 @@ data class WiremockFagsak(val eier: String, val perioder: List { return mapOf( - Pair("eier", eier), + Pair("eier", eier.value), Pair("perioder", perioder.map { it.toMap() }), ) } diff --git a/src/test/kotlin/no/nav/pensjon/opptjening/omsorgsopptjening/start/innlesning/external/barnetrygd/WiremockScenario.kt b/src/test/kotlin/no/nav/pensjon/opptjening/omsorgsopptjening/start/innlesning/external/barnetrygd/WiremockScenario.kt index c086788c..00b43878 100644 --- a/src/test/kotlin/no/nav/pensjon/opptjening/omsorgsopptjening/start/innlesning/external/barnetrygd/WiremockScenario.kt +++ b/src/test/kotlin/no/nav/pensjon/opptjening/omsorgsopptjening/start/innlesning/external/barnetrygd/WiremockScenario.kt @@ -9,6 +9,7 @@ import com.github.tomakehurst.wiremock.matching.StringValuePattern import com.github.tomakehurst.wiremock.stubbing.StubMapping import no.nav.pensjon.opptjening.omsorgsopptjening.felles.CorrelationId import no.nav.pensjon.opptjening.omsorgsopptjening.felles.InnlesingId +import no.nav.pensjon.opptjening.omsorgsopptjening.start.innlesning.barnetrygd.domain.Ident import org.springframework.http.HttpHeaders import org.springframework.http.MediaType @@ -53,10 +54,10 @@ fun WireMockExtension.`hent-barnetrygd ok`(): StubMapping { return this.`hent-barnetrygd-med-fagsaker`( fagsaker = listOf( WiremockFagsak( - eier = "12345678910", + eier = Ident("12345678910"), perioder = listOf( WiremockFagsak.BarnetrygdPeriode( - personIdent = "09876543210", + personIdent = Ident("09876543210"), utbetaltPerMnd = 2000, stønadFom = "2020-01", stønadTom = "2025-12", @@ -67,15 +68,15 @@ fun WireMockExtension.`hent-barnetrygd ok`(): StubMapping { ) } -fun WireMockExtension.`hent-barnetrygd ok`(forFnr: String): StubMapping { +fun WireMockExtension.`hent-barnetrygd ok`(forFnr: Ident): StubMapping { return this.`hent-barnetrygd-med-fagsaker`( forFnr = forFnr, fagsaker = listOf( WiremockFagsak( - eier = "12345678910", + eier = Ident("12345678910"), perioder = listOf( WiremockFagsak.BarnetrygdPeriode( - personIdent = "09876543210", + personIdent = Ident("09876543210"), utbetaltPerMnd = 2000, stønadFom = "2020-01", stønadTom = "2025-12", @@ -87,20 +88,20 @@ fun WireMockExtension.`hent-barnetrygd ok`(forFnr: String): StubMapping { } -fun WireMockExtension.`hent-barnetrygd-med-fagsaker`(forFnr: String, fagsaker: List): StubMapping { +fun WireMockExtension.`hent-barnetrygd-med-fagsaker`(forFnr: Ident, fagsaker: List): StubMapping { synchronized(this) { - val a = fagsaker.map { it.toMap() } + val fagsakMap = fagsaker.map { it.toMap() } return this.stubFor( WireMock.post(WireMock.urlPathEqualTo("/api/ekstern/pensjon/hent-barnetrygd")) .withExpectedRequestHeadersHentBarnetryd() - .withRequestBody(matchingJsonPath("$.ident", WireMock.equalTo(forFnr))) + .withRequestBody(matchingJsonPath("$.ident", WireMock.equalTo(forFnr.value))) .willReturn( WireMock.ok() .withLogNormalRandomDelay(1000.0, 0.0) .withHeader(HttpHeaders.CONTENT_TYPE, MediaType.APPLICATION_JSON_VALUE) .withTransformers("response-template") .withTransformerParameter("foo", "bar") - .withTransformerParameter("fagsaker", a) + .withTransformerParameter("fagsaker", fagsakMap) .withBodyFile("barnetrygd/fagsaker.json") ) ) @@ -151,11 +152,11 @@ fun WireMockExtension.`hent-barnetrygd ok - ingen perioder`(): StubMapping { ) } -fun WireMockExtension.`hent-barnetrygd ok uten fagsaker`(forFnr: String): StubMapping { +fun WireMockExtension.`hent-barnetrygd ok uten fagsaker`(forFnr: Ident): StubMapping { return this.stubFor( WireMock.post(WireMock.urlPathEqualTo("/api/ekstern/pensjon/hent-barnetrygd")) .withExpectedRequestHeadersHentBarnetryd() - .withRequestBody(matchingJsonPath("$.ident", WireMock.equalTo(forFnr))) + .withRequestBody(matchingJsonPath("$.ident", WireMock.equalTo(forFnr.value))) .willReturn( WireMock.ok() .withHeader(HttpHeaders.CONTENT_TYPE, MediaType.APPLICATION_JSON_VALUE) diff --git "a/src/test/kotlin/no/nav/pensjon/opptjening/omsorgsopptjening/start/innlesning/external/hjelpest\303\270nad/WiremockScenario.kt" "b/src/test/kotlin/no/nav/pensjon/opptjening/omsorgsopptjening/start/innlesning/external/hjelpest\303\270nad/WiremockScenario.kt" index 78a5149b..2cea12bb 100644 --- "a/src/test/kotlin/no/nav/pensjon/opptjening/omsorgsopptjening/start/innlesning/external/hjelpest\303\270nad/WiremockScenario.kt" +++ "b/src/test/kotlin/no/nav/pensjon/opptjening/omsorgsopptjening/start/innlesning/external/hjelpest\303\270nad/WiremockScenario.kt" @@ -3,15 +3,16 @@ package no.nav.pensjon.opptjening.omsorgsopptjening.start.innlesning.external.hj import com.github.tomakehurst.wiremock.client.WireMock import com.github.tomakehurst.wiremock.junit5.WireMockExtension import com.github.tomakehurst.wiremock.stubbing.StubMapping +import no.nav.pensjon.opptjening.omsorgsopptjening.start.innlesning.barnetrygd.domain.Ident import org.springframework.http.HttpHeaders import org.springframework.http.MediaType import java.lang.String.format import java.util.concurrent.atomic.AtomicInteger -fun WireMockExtension.`hent hjelpestønad ok - ingen hjelpestønad`(forFnr: String): StubMapping { +fun WireMockExtension.`hent hjelpestønad ok - ingen hjelpestønad`(forFnr: Ident): StubMapping { return this.stubFor( WireMock.get(WireMock.urlPathEqualTo("/api/hjelpestonad")) - .withHeader("fnr", WireMock.equalTo(forFnr)) + .withHeader("fnr", WireMock.equalTo(forFnr.value)) .willReturn( WireMock.ok() .withHeader(HttpHeaders.CONTENT_TYPE, MediaType.APPLICATION_JSON_VALUE) @@ -41,13 +42,13 @@ fun WireMockExtension.`hent hjelpestønad ok - ingen hjelpestønad`(): StubMappi fun WireMockExtension.`hent hjelpestønad ok - har hjelpestønad`( - forFnr: String, + forFnr: Ident, fom: String = "2020-01", tom: String = "2025-12", ): StubMapping { return this.stubFor( WireMock.get(WireMock.urlPathEqualTo("/api/hjelpestonad")) - .withHeader("fnr", WireMock.equalTo(forFnr)) + .withHeader("fnr", WireMock.equalTo(forFnr.value)) .willReturn( WireMock.ok() .withHeader(HttpHeaders.CONTENT_TYPE, MediaType.APPLICATION_JSON_VALUE) @@ -56,7 +57,7 @@ fun WireMockExtension.`hent hjelpestønad ok - har hjelpestønad`( [ { "id":"123", - "ident":"$forFnr", + "ident":"${forFnr.value}", "fom":"$fom", "tom":"$tom", "omsorgstype":"FORHØYET_SATS_3" diff --git a/src/test/kotlin/no/nav/pensjon/opptjening/omsorgsopptjening/start/innlesning/external/pdl/PdlServiceTest.kt b/src/test/kotlin/no/nav/pensjon/opptjening/omsorgsopptjening/start/innlesning/external/pdl/PdlServiceTest.kt index 21306f92..fff0c420 100644 --- a/src/test/kotlin/no/nav/pensjon/opptjening/omsorgsopptjening/start/innlesning/external/pdl/PdlServiceTest.kt +++ b/src/test/kotlin/no/nav/pensjon/opptjening/omsorgsopptjening/start/innlesning/external/pdl/PdlServiceTest.kt @@ -8,6 +8,7 @@ import no.nav.pensjon.opptjening.omsorgsopptjening.felles.CorrelationId import no.nav.pensjon.opptjening.omsorgsopptjening.felles.InnlesingId import no.nav.pensjon.opptjening.omsorgsopptjening.start.innlesning.Mdc import no.nav.pensjon.opptjening.omsorgsopptjening.start.innlesning.barnetrygd.SpringContextTest +import no.nav.pensjon.opptjening.omsorgsopptjening.start.innlesning.barnetrygd.domain.Ident import no.nav.pensjon.opptjening.omsorgsopptjening.start.innlesning.barnetrygd.external.pdl.PdlErrorCode import no.nav.pensjon.opptjening.omsorgsopptjening.start.innlesning.barnetrygd.external.pdl.PdlException import no.nav.pensjon.opptjening.omsorgsopptjening.start.innlesning.barnetrygd.external.pdl.PdlService @@ -29,7 +30,7 @@ internal class PdlServiceTest : SpringContextTest.NoKafka() { lateinit var pdlService: PdlService companion object { - const val FNR = "11111111111" + val FNR = Ident("11111111111") @JvmField @RegisterExtension @@ -74,7 +75,7 @@ internal class PdlServiceTest : SpringContextTest.NoKafka() { pdlService.hentPerson(FNR) wiremock.verify( - WireMock.postRequestedFor(WireMock.urlEqualTo(PDL_PATH)).withRequestBody(containing(FNR)) + WireMock.postRequestedFor(WireMock.urlEqualTo(PDL_PATH)).withRequestBody(containing(FNR.value)) ) } } diff --git a/src/test/kotlin/no/nav/pensjon/opptjening/omsorgsopptjening/start/innlesning/external/pdl/PersonIdOppslagTest.kt b/src/test/kotlin/no/nav/pensjon/opptjening/omsorgsopptjening/start/innlesning/external/pdl/PersonIdOppslagTest.kt index d2434b14..ddb1fbf1 100644 --- a/src/test/kotlin/no/nav/pensjon/opptjening/omsorgsopptjening/start/innlesning/external/pdl/PersonIdOppslagTest.kt +++ b/src/test/kotlin/no/nav/pensjon/opptjening/omsorgsopptjening/start/innlesning/external/pdl/PersonIdOppslagTest.kt @@ -7,9 +7,11 @@ import no.nav.pensjon.opptjening.omsorgsopptjening.felles.CorrelationId import no.nav.pensjon.opptjening.omsorgsopptjening.felles.InnlesingId import no.nav.pensjon.opptjening.omsorgsopptjening.start.innlesning.Mdc import no.nav.pensjon.opptjening.omsorgsopptjening.start.innlesning.barnetrygd.SpringContextTest +import no.nav.pensjon.opptjening.omsorgsopptjening.start.innlesning.barnetrygd.domain.Ident import no.nav.pensjon.opptjening.omsorgsopptjening.start.innlesning.barnetrygd.domain.PersonId import no.nav.pensjon.opptjening.omsorgsopptjening.start.innlesning.barnetrygd.domain.PersonOppslag import no.nav.pensjon.opptjening.omsorgsopptjening.start.innlesning.barnetrygd.domain.PersonOppslagException +import org.assertj.core.api.Assertions.assertThat import org.assertj.core.api.Assertions.assertThatThrownBy import org.junit.jupiter.api.Assertions.assertEquals import org.junit.jupiter.api.Test @@ -23,7 +25,7 @@ internal class PersonIdOppslagTest : SpringContextTest.NoKafka() { lateinit var personOppslag: PersonOppslag companion object { - const val FNR = "11111111111" + val FNR = Ident("11111111111") @JvmField @RegisterExtension @@ -44,7 +46,7 @@ internal class PersonIdOppslagTest : SpringContextTest.NoKafka() { ) ) val personId: PersonId = personOppslag.hentPerson(FNR) - assertEquals("12345678910", personId.fnr) + assertThat(personId.fnr).isEqualTo(Ident("12345678910")) } } } @@ -61,7 +63,7 @@ internal class PersonIdOppslagTest : SpringContextTest.NoKafka() { ) ) val personId: PersonId = personOppslag.hentPerson(FNR) - assertEquals("04010012797", personId.fnr) + assertThat(personId.fnr).isEqualTo(Ident("04010012797")) } } } diff --git a/src/test/kotlin/no/nav/pensjon/opptjening/omsorgsopptjening/start/innlesning/external/pdl/WiremockScenario.kt b/src/test/kotlin/no/nav/pensjon/opptjening/omsorgsopptjening/start/innlesning/external/pdl/WiremockScenario.kt index 7a7e9796..8a8e94c6 100644 --- a/src/test/kotlin/no/nav/pensjon/opptjening/omsorgsopptjening/start/innlesning/external/pdl/WiremockScenario.kt +++ b/src/test/kotlin/no/nav/pensjon/opptjening/omsorgsopptjening/start/innlesning/external/pdl/WiremockScenario.kt @@ -5,6 +5,7 @@ import com.github.tomakehurst.wiremock.client.WireMock.aResponse import com.github.tomakehurst.wiremock.client.WireMock.or import com.github.tomakehurst.wiremock.junit5.WireMockExtension import com.github.tomakehurst.wiremock.stubbing.StubMapping +import no.nav.pensjon.opptjening.omsorgsopptjening.start.innlesning.barnetrygd.domain.Ident private fun WireMockExtension.pdlResponse(fileName: String): StubMapping { synchronized(this) { @@ -53,13 +54,14 @@ fun WireMockExtension.`pdl med ett fnr`(fnr: String): StubMapping { } } -fun WireMockExtension.pdl(fnr: String, historiske: List): StubMapping { - val fnrs = historiske.toSet().plus(fnr) +fun WireMockExtension.pdl(fnr: Ident, historiske: List): StubMapping { + val fnrs = historiske.map { it.value }.toSet().plus(fnr.value) + println("PDL: fnrs=$fnrs") return this.stubFor( WireMock.post(WireMock.urlPathEqualTo("/graphql")) .withRequestBody( or( - *fnrs.map { fnr -> + *fnrs.map { fnr:String -> WireMock.containing(""""variables":{"ident":"$fnr"}""") }.toTypedArray() ) @@ -69,8 +71,8 @@ fun WireMockExtension.pdl(fnr: String, historiske: List): StubMapping { .withTransformers("response-template") .withHeader("Content-Type", "application/json") .withStatus(202) - .withTransformerParameter("fnr", fnr) - .withTransformerParameter("historiske", historiske) + .withTransformerParameter("fnr", fnr.value) + .withTransformerParameter("historiske", historiske.map { it.value }) .withBodyFile( "pdl/fnr_template.json" ) diff --git a/src/test/kotlin/no/nav/pensjon/opptjening/omsorgsopptjening/start/innlesning/external/pdl/WiremockScenarioTest.kt b/src/test/kotlin/no/nav/pensjon/opptjening/omsorgsopptjening/start/innlesning/external/pdl/WiremockScenarioTest.kt index 80bcd611..2f6559cd 100644 --- a/src/test/kotlin/no/nav/pensjon/opptjening/omsorgsopptjening/start/innlesning/external/pdl/WiremockScenarioTest.kt +++ b/src/test/kotlin/no/nav/pensjon/opptjening/omsorgsopptjening/start/innlesning/external/pdl/WiremockScenarioTest.kt @@ -6,6 +6,7 @@ import no.nav.pensjon.opptjening.omsorgsopptjening.felles.CorrelationId import no.nav.pensjon.opptjening.omsorgsopptjening.felles.InnlesingId import no.nav.pensjon.opptjening.omsorgsopptjening.start.innlesning.Mdc import no.nav.pensjon.opptjening.omsorgsopptjening.start.innlesning.barnetrygd.SpringContextTest +import no.nav.pensjon.opptjening.omsorgsopptjening.start.innlesning.barnetrygd.domain.Ident import no.nav.pensjon.opptjening.omsorgsopptjening.start.innlesning.barnetrygd.external.pdl.PdlService import org.assertj.core.api.Assertions.assertThat import org.junit.jupiter.api.Test @@ -27,7 +28,7 @@ class WiremockScenarioTest : SpringContextTest.NoKafka() { @Test fun `wiremock fnr fra query returnerer riktig fnr`() { - val fnr = "91929394959" + val fnr = Ident("91929394959") wiremock.`pdl fnr fra query`() val person =