Skip to content

Commit

Permalink
Justert etter endring av hendelse
Browse files Browse the repository at this point in the history
  • Loading branch information
naviktthomas committed Nov 28, 2024
1 parent da2ea1c commit 45a4a3b
Show file tree
Hide file tree
Showing 3 changed files with 55 additions and 39 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -73,7 +73,7 @@ class KafkaConsumerService(
.filterIsInstance<IdentitetsnummerSammenslaatt>()
.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)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -51,29 +51,36 @@ 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<Hendelse> = 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 }
auditResult shouldHaveSize 0
}

"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<Hendelse> = listOf(
TestData.getIdentitetsnummerSammenslaatt(listOf(identitetsnummer), fraArbeidssoekerId, tilArbeidssoekerId)
Expand All @@ -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 }
Expand Down Expand Up @@ -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 }
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down Expand Up @@ -146,11 +148,6 @@ fun List<Hendelse>.asConsumerRecords(): ConsumerRecords<Long, Hendelse> =
this.map { TestData.getConsumerRecord(nextLong(), it) }
.let { TestData.getConsumerRecords(it) }

fun List<Hendelse>.asConsumerSequence(): Sequence<ConsumerRecords<Long, Hendelse>> =
this.map { TestData.getConsumerRecord(nextLong(), it) }
.let { TestData.getConsumerRecords(it) }
.let { sequenceOf(it) }

object TestData {

fun getMetadata(): Metadata =
Expand All @@ -161,19 +158,6 @@ object TestData {
aarsak = "test"
)

fun getIdentitetsnummerSammenslaatt(
identitetsnummerList: List<Identitetsnummer>,
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
Expand Down Expand Up @@ -214,12 +198,37 @@ object TestData {
metadata = getMetadata()
)

fun getIdentitetsnummerSammenslaatt(
identitetsnummerList: List<Identitetsnummer>,
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<Identitetsnummer>,
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 <K, V> getConsumerRecord(key: K, value: V): ConsumerRecord<K, V> =
ConsumerRecord("topic", 1, 1, key, value)

fun <K, V> getConsumerRecords(vararg records: ConsumerRecord<K, V>): ConsumerRecords<K, V> =
getConsumerRecords(records.asList())

fun <K, V> getConsumerRecords(records: List<ConsumerRecord<K, V>>): ConsumerRecords<K, V> =
ConsumerRecords(mapOf(TopicPartition("topic", 1) to records))
}

0 comments on commit 45a4a3b

Please sign in to comment.