Skip to content
This repository has been archived by the owner on Nov 5, 2024. It is now read-only.

Commit

Permalink
f Legger til filter av alt annet enn UPDATE
Browse files Browse the repository at this point in the history
Operation på FormidlingsgruppeEndringEvent representerer databaseendring hos Arena. INSERT forteller at det ble opprettet en ny rad, mens UPDATE er oppdatering og DELETE er sletting.

Under normale omstendigheter skal vi alltid på UPDATE, men vi får en INSERT med ISERV før vi får en UPDATE med ARBS når vi registrerer en bruker for første gang i Arena samtidig som den aktiveres som arbeidssøker.

For meldinger som har blitt dumpet ut på Kafka initielt så vil alle ha INSERT, men det gjelder ikke det vi mottar fortløpende nå - det må bare håndteres når vi leser gamle data fra tabellen.
  • Loading branch information
tlheen committed Feb 18, 2023
1 parent 24dec3c commit f522c2f
Show file tree
Hide file tree
Showing 3 changed files with 33 additions and 12 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -33,6 +33,13 @@ class FormidlingsgruppeMottakService(
"formidlingsgruppe: ${formidlingsgruppeEndretEvent.formidlingsgruppe.kode}, " +
"dato: ${formidlingsgruppeEndretEvent.formidlingsgruppeEndret}) ")
}

if (formidlingsgruppeEndretEvent.operation != Operation.UPDATE) {
logger.info("Forkaster melding som ikke er UPDATE, men lagrer for ettertid - $formidlingsgruppeEndretEvent")
formidlingsgruppeRepository.lagre(formidlingsgruppeEndretEvent)
return
}

val eksisterendeArbeidssokerperioderLokalt = hentArbeidssøkerperioder(formidlingsgruppeEndretEvent)
val arbeidssøker = hentArbeidssøker(formidlingsgruppeEndretEvent.foedselsnummer)

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -34,4 +34,17 @@ object FormidlingsgruppeEndretEventTestdataBuilder {
null
)
}

fun testEvent(test: LocalDateTime, operation: Operation): FormidlingsgruppeEndretEvent {
return FormidlingsgruppeEndretEvent(
Foedselsnummer("12345678910"),
"012345",
"AKTIV",
operation,
Formidlingsgruppe("ISERV"),
test,
Formidlingsgruppe("ARBS"),
test.minusDays(1)
)
}
}
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
package no.nav.fo.veilarbregistrering.arbeidssoker.formidlingsgruppe

import io.mockk.*
import no.nav.fo.veilarbregistrering.arbeidssoker.formidlingsgruppe.FormidlingsgruppeEndretEventTestdataBuilder.testEvent
import no.nav.fo.veilarbregistrering.arbeidssoker.perioder.ArbeidssokerperiodeAvsluttetService
import no.nav.fo.veilarbregistrering.bruker.Foedselsnummer
import org.junit.jupiter.api.BeforeEach
Expand Down Expand Up @@ -30,23 +31,23 @@ class FormidlingsgruppeMottakServiceTest {

@Test
fun `endringer fra 2010 skal persisteres`() {
val formidlingsgruppeEvent = testEvent(LocalDateTime.of(2010, Month.JANUARY, 1, 0, 0, 0))
val formidlingsgruppeEvent = testEvent(LocalDateTime.of(2010, Month.JANUARY, 1, 0, 0, 0), Operation.UPDATE)
every { formidlingsgruppeRepository.lagre(any()) } returns 1L
every { formidlingsgruppeRepository.finnFormidlingsgruppeEndretEventFor(any()) } returns emptyList()

formidlingsgruppeMottakService.behandle(formidlingsgruppeEvent)

verify(exactly = 1) { formidlingsgruppeRepository.lagre(formidlingsgruppeEvent) }
}

private fun testEvent(test: LocalDateTime): FormidlingsgruppeEndretEvent {
return FormidlingsgruppeEndretEvent(
Foedselsnummer("12345678910"),
"012345",
"AKTIV",
Operation.UPDATE,
Formidlingsgruppe("ISERV"),
test,
Formidlingsgruppe("ARBS"),
test.minusDays(1)
)
@Test
fun `insert skal lagres men ikke behandles videre`() {
val formidlingsgruppeEvent = testEvent(LocalDateTime.of(2010, Month.JANUARY, 1, 0, 0, 0), Operation.INSERT)
every { formidlingsgruppeRepository.lagre(any()) } returns 1L
every { formidlingsgruppeRepository.finnFormidlingsgruppeEndretEventFor(any()) } returns emptyList()

formidlingsgruppeMottakService.behandle(formidlingsgruppeEvent)

verify(exactly = 1) { formidlingsgruppeRepository.lagre(formidlingsgruppeEvent) }
}
}

0 comments on commit f522c2f

Please sign in to comment.