From 45a4a3bc9e4a7333d24f3ca0817e01ecffd50bb0 Mon Sep 17 00:00:00 2001 From: Thomas Johansen Date: Thu, 28 Nov 2024 06:59:20 +0100 Subject: [PATCH] Justert etter endring av hendelse --- .../service/KafkaConsumerService.kt | 2 +- .../service/KafkaConsumerServiceTest.kt | 41 ++++++++------- .../paw/kafkakeygenerator/test/TestData.kt | 51 +++++++++++-------- 3 files changed, 55 insertions(+), 39 deletions(-) diff --git a/apps/kafka-key-generator/src/main/kotlin/no/nav/paw/kafkakeygenerator/service/KafkaConsumerService.kt b/apps/kafka-key-generator/src/main/kotlin/no/nav/paw/kafkakeygenerator/service/KafkaConsumerService.kt index fffda5fc..10f3c1ac 100644 --- a/apps/kafka-key-generator/src/main/kotlin/no/nav/paw/kafkakeygenerator/service/KafkaConsumerService.kt +++ b/apps/kafka-key-generator/src/main/kotlin/no/nav/paw/kafkakeygenerator/service/KafkaConsumerService.kt @@ -73,7 +73,7 @@ class KafkaConsumerService( .filterIsInstance() .forEach { event -> logger.info("Mottok hendelse om sammenslåing av Identitetsnummer") - val identitetsnummer = event.alleIdentitetsnummer + val identitetsnummer = event.flyttedeIdentitetsnumre .map { Identitetsnummer(it) } + Identitetsnummer(event.identitetsnummer) val fraArbeidssoekerId = ArbeidssoekerId(event.id) val tilArbeidssoekerId = ArbeidssoekerId(event.flyttetTilArbeidssoekerId) diff --git a/apps/kafka-key-generator/src/test/kotlin/no/nav/paw/kafkakeygenerator/service/KafkaConsumerServiceTest.kt b/apps/kafka-key-generator/src/test/kotlin/no/nav/paw/kafkakeygenerator/service/KafkaConsumerServiceTest.kt index 30fde88f..86e1a2ad 100644 --- a/apps/kafka-key-generator/src/test/kotlin/no/nav/paw/kafkakeygenerator/service/KafkaConsumerServiceTest.kt +++ b/apps/kafka-key-generator/src/test/kotlin/no/nav/paw/kafkakeygenerator/service/KafkaConsumerServiceTest.kt @@ -51,19 +51,26 @@ class KafkaConsumerServiceTest : FreeSpec({ } "Skal ignorere hendelse av irrelevant type" { - val identitetsnummer = Identitetsnummer("01017012345") - val arbeidssoekerId = ArbeidssoekerId(1) + val identitetsnummer1 = Identitetsnummer("01017012345") + val identitetsnummer2 = Identitetsnummer("02017012345") + val arbeidssoekerId1 = ArbeidssoekerId(1) + val arbeidssoekerId2 = ArbeidssoekerId(2) val hendelser: List = listOf( - TestData.getPeriodeStartet(identitetsnummer, arbeidssoekerId), - TestData.getPeriodeAvsluttet(identitetsnummer, arbeidssoekerId), - TestData.getPeriodeStartAvvist(identitetsnummer, arbeidssoekerId), - TestData.getPeriodeAvsluttetAvvist(identitetsnummer, arbeidssoekerId) + TestData.getPeriodeStartet(identitetsnummer1, arbeidssoekerId1), + TestData.getPeriodeAvsluttet(identitetsnummer1, arbeidssoekerId1), + TestData.getPeriodeStartAvvist(identitetsnummer1, arbeidssoekerId1), + TestData.getPeriodeAvsluttetAvvist(identitetsnummer1, arbeidssoekerId1), + TestData.getArbeidssoekerIdFlettetInn( + listOf(identitetsnummer1, identitetsnummer2), + arbeidssoekerId1, + arbeidssoekerId2 + ) ) kafkaConsumerService.handleRecords(hendelser.asConsumerRecords()) - val keyResult = kafkaKeysRepository.hent(identitetsnummer) - val auditResult = kafkaKeysAuditRepository.findByIdentitetsnummer(identitetsnummer) + val keyResult = kafkaKeysRepository.hent(identitetsnummer1) + val auditResult = kafkaKeysAuditRepository.findByIdentitetsnummer(identitetsnummer1) keyResult.onLeft { it shouldBe Failure("database", FailureCode.DB_NOT_FOUND) } keyResult.onRight { it shouldBe null } @@ -71,9 +78,9 @@ class KafkaConsumerServiceTest : FreeSpec({ } "Skal ignorere hendelse for ukjent identitetsnummer" { - val identitetsnummer = Identitetsnummer("02017012345") - val fraArbeidssoekerId = ArbeidssoekerId(2) - val tilArbeidssoekerId = ArbeidssoekerId(3) + val identitetsnummer = Identitetsnummer("03017012345") + val fraArbeidssoekerId = ArbeidssoekerId(3) + val tilArbeidssoekerId = ArbeidssoekerId(4) val hendelser: List = listOf( TestData.getIdentitetsnummerSammenslaatt(listOf(identitetsnummer), fraArbeidssoekerId, tilArbeidssoekerId) @@ -92,9 +99,9 @@ class KafkaConsumerServiceTest : FreeSpec({ } "Skal håndtere at det er konflikt mellom arbeidssøkerId i hendelse og database" { - val identitetsnummer1 = Identitetsnummer("03017012345") - val identitetsnummer2 = Identitetsnummer("04017012345") - val identitetsnummer3 = Identitetsnummer("05017012345") + val identitetsnummer1 = Identitetsnummer("04017012345") + val identitetsnummer2 = Identitetsnummer("05017012345") + val identitetsnummer3 = Identitetsnummer("06017012345") val opprettResult1 = kafkaKeysRepository.opprett(identitetsnummer1) opprettResult1.onLeft { it shouldBe null } @@ -145,9 +152,9 @@ class KafkaConsumerServiceTest : FreeSpec({ } "Skal oppdatere arbeidssøkerId for identitetsnummer" { - val identitetsnummer1 = Identitetsnummer("06017012345") - val identitetsnummer2 = Identitetsnummer("07017012345") - val identitetsnummer3 = Identitetsnummer("08017012345") + val identitetsnummer1 = Identitetsnummer("07017012345") + val identitetsnummer2 = Identitetsnummer("08017012345") + val identitetsnummer3 = Identitetsnummer("09017012345") val opprettResult1 = kafkaKeysRepository.opprett(identitetsnummer1) opprettResult1.onLeft { it shouldBe null } diff --git a/apps/kafka-key-generator/src/test/kotlin/no/nav/paw/kafkakeygenerator/test/TestData.kt b/apps/kafka-key-generator/src/test/kotlin/no/nav/paw/kafkakeygenerator/test/TestData.kt index 0cb6a204..8a2080c9 100644 --- a/apps/kafka-key-generator/src/test/kotlin/no/nav/paw/kafkakeygenerator/test/TestData.kt +++ b/apps/kafka-key-generator/src/test/kotlin/no/nav/paw/kafkakeygenerator/test/TestData.kt @@ -9,11 +9,13 @@ import io.ktor.http.HttpHeaders import io.ktor.http.HttpStatusCode import io.ktor.http.content.TextContent import io.ktor.http.headersOf +import no.nav.paw.arbeidssokerregisteret.intern.v1.ArbeidssoekerIdFlettetInn import no.nav.paw.arbeidssokerregisteret.intern.v1.Avsluttet import no.nav.paw.arbeidssokerregisteret.intern.v1.Avvist import no.nav.paw.arbeidssokerregisteret.intern.v1.AvvistStoppAvPeriode import no.nav.paw.arbeidssokerregisteret.intern.v1.Hendelse import no.nav.paw.arbeidssokerregisteret.intern.v1.IdentitetsnummerSammenslaatt +import no.nav.paw.arbeidssokerregisteret.intern.v1.Kilde import no.nav.paw.arbeidssokerregisteret.intern.v1.Startet import no.nav.paw.arbeidssokerregisteret.intern.v1.vo.Bruker import no.nav.paw.arbeidssokerregisteret.intern.v1.vo.BrukerType @@ -146,11 +148,6 @@ fun List.asConsumerRecords(): ConsumerRecords = this.map { TestData.getConsumerRecord(nextLong(), it) } .let { TestData.getConsumerRecords(it) } -fun List.asConsumerSequence(): Sequence> = - this.map { TestData.getConsumerRecord(nextLong(), it) } - .let { TestData.getConsumerRecords(it) } - .let { sequenceOf(it) } - object TestData { fun getMetadata(): Metadata = @@ -161,19 +158,6 @@ object TestData { aarsak = "test" ) - fun getIdentitetsnummerSammenslaatt( - identitetsnummerList: List, - fraArbeidssoekerId: ArbeidssoekerId, - tilArbeidssoekerId: ArbeidssoekerId - ): IdentitetsnummerSammenslaatt = IdentitetsnummerSammenslaatt( - id = fraArbeidssoekerId.value, - hendelseId = UUID.randomUUID(), - identitetsnummer = identitetsnummerList.first().value, - metadata = getMetadata(), - alleIdentitetsnummer = identitetsnummerList.map { it.value }, - flyttetTilArbeidssoekerId = tilArbeidssoekerId.value, - ) - fun getPeriodeStartet( identitetsnummer: Identitetsnummer, arbeidssoekerId: ArbeidssoekerId @@ -214,12 +198,37 @@ object TestData { metadata = getMetadata() ) + fun getIdentitetsnummerSammenslaatt( + identitetsnummerList: List, + fraArbeidssoekerId: ArbeidssoekerId, + tilArbeidssoekerId: ArbeidssoekerId + ): IdentitetsnummerSammenslaatt = IdentitetsnummerSammenslaatt( + hendelseId = UUID.randomUUID(), + id = fraArbeidssoekerId.value, + identitetsnummer = identitetsnummerList.first().value, + metadata = getMetadata(), + flyttedeIdentitetsnumre = HashSet(identitetsnummerList.map { it.value }), + flyttetTilArbeidssoekerId = tilArbeidssoekerId.value + ) + + fun getArbeidssoekerIdFlettetInn( + identitetsnummerList: List, + tilArbeidssoekerId: ArbeidssoekerId, + fraArbeidssoekerId: ArbeidssoekerId + ): ArbeidssoekerIdFlettetInn = ArbeidssoekerIdFlettetInn( + hendelseId = UUID.randomUUID(), + id = tilArbeidssoekerId.value, + identitetsnummer = identitetsnummerList.first().value, + metadata = getMetadata(), + kilde = Kilde( + identitetsnummer = HashSet(identitetsnummerList.map { it.value }), + arbeidssoekerId = fraArbeidssoekerId.value + ) + ) + fun getConsumerRecord(key: K, value: V): ConsumerRecord = ConsumerRecord("topic", 1, 1, key, value) - fun getConsumerRecords(vararg records: ConsumerRecord): ConsumerRecords = - getConsumerRecords(records.asList()) - fun getConsumerRecords(records: List>): ConsumerRecords = ConsumerRecords(mapOf(TopicPartition("topic", 1) to records)) } \ No newline at end of file