Skip to content

Commit

Permalink
tester vedtaksbrev konsument
Browse files Browse the repository at this point in the history
  • Loading branch information
ramnav990 committed Dec 13, 2023
1 parent 5134c82 commit 2ed71dc
Show file tree
Hide file tree
Showing 6 changed files with 64 additions and 12 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -8,14 +8,16 @@ import java.util.UUID
*/
data class DokumentMetaDataDbJson(
val sakId: UUID,
val tilbakekrevingsbehandlingId: UUID,
val tilbakekrevingsbehandlingId: UUID?,
val vedtakId: UUID?,
val journalpostId: String?,
val brevbestillingsId: String?,
) {
companion object {
fun Dokument.Metadata.toHendelseDbJson(): DokumentMetaDataDbJson = DokumentMetaDataDbJson(
sakId = this.sakId,
tilbakekrevingsbehandlingId = this.tilbakekrevingsbehandlingId!!,
tilbakekrevingsbehandlingId = this.tilbakekrevingsbehandlingId,
vedtakId = this.vedtakId,
journalpostId = this.journalpostId,
brevbestillingsId = this.brevbestillingId,
)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@ import person.domain.PersonRepo
import person.domain.PersonService
import tilbakekreving.application.service.avbrutt.AvbrytTilbakekrevingsbehandlingService
import tilbakekreving.application.service.consumer.GenererDokumentForForhåndsvarselTilbakekrevingKonsument
import tilbakekreving.application.service.consumer.GenererVedtaksbrevTilbakekrevingKonsument
import tilbakekreving.application.service.consumer.KnyttKravgrunnlagTilSakOgUtbetalingKonsument
import tilbakekreving.application.service.consumer.LukkOppgaveForTilbakekrevingshendelserKonsument
import tilbakekreving.application.service.consumer.OppdaterOppgaveForTilbakekrevingshendelserKonsument
Expand Down Expand Up @@ -61,6 +62,7 @@ class TilbakekrevingServices(
val oppdaterOppgaveForTilbakekrevingshendelserKonsument: OppdaterOppgaveForTilbakekrevingshendelserKonsument,
val oppdaterKravgrunnlagService: OppdaterKravgrunnlagService,
val notatTilbakekrevingsbehandlingService: NotatTilbakekrevingsbehandlingService,
val vedtaksbrevTilbakekrevingKonsument: GenererVedtaksbrevTilbakekrevingKonsument,
) {
companion object {
fun create(
Expand Down Expand Up @@ -212,6 +214,15 @@ class TilbakekrevingServices(
tilbakekrevingsbehandlingRepo = tilbakekrevingsbehandlingRepo,
clock = clock,
),
vedtaksbrevTilbakekrevingKonsument = GenererVedtaksbrevTilbakekrevingKonsument(
sakService = sakService,
brevService = brevService,
tilbakekrevingsbehandlingRepo = tilbakekrevingsbehandlingRepo,
dokumentHendelseRepo = dokumentHendelseRepo,
hendelsekonsumenterRepo = hendelsekonsumenterRepo,
sessionFactory = sessionFactory,
clock = clock,
),
)
}
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@ import no.nav.su.se.bakover.common.infrastructure.jobs.shouldRun
import org.jetbrains.kotlin.utils.addToStdlib.ifTrue
import org.slf4j.LoggerFactory
import tilbakekreving.application.service.consumer.GenererDokumentForForhåndsvarselTilbakekrevingKonsument
import tilbakekreving.application.service.consumer.GenererVedtaksbrevTilbakekrevingKonsument
import tilbakekreving.application.service.consumer.KnyttKravgrunnlagTilSakOgUtbetalingKonsument
import tilbakekreving.application.service.consumer.LukkOppgaveForTilbakekrevingshendelserKonsument
import tilbakekreving.application.service.consumer.OppdaterOppgaveForTilbakekrevingshendelserKonsument
Expand All @@ -23,6 +24,7 @@ class Tilbakekrevingsjobber(
private val lukkOppgaveKonsument: LukkOppgaveForTilbakekrevingshendelserKonsument,
private val oppdaterOppgaveKonsument: OppdaterOppgaveForTilbakekrevingshendelserKonsument,
private val genererDokumenterForForhåndsvarselKonsument: GenererDokumentForForhåndsvarselTilbakekrevingKonsument,
private val genererVedtaksbrevTilbakekrevingKonsument: GenererVedtaksbrevTilbakekrevingKonsument,
private val initialDelay: Duration,
private val intervall: Duration,
private val runCheckFactory: RunCheckFactory,
Expand Down Expand Up @@ -61,6 +63,7 @@ class Tilbakekrevingsjobber(
genererDokumenterForForhåndsvarselKonsument.genererDokumenter(correlationId)
lukkOppgaveKonsument.lukkOppgaver(correlationId)
oppdaterOppgaveKonsument.oppdaterOppgaver(correlationId)
genererVedtaksbrevTilbakekrevingKonsument.genererVedtaksbrev(correlationId)
}
}.mapLeft {
// Dette er bare en guard - hver jobb skal håndtere feil selv (og ingen skal kaste videre hit).
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -34,6 +34,7 @@ internal fun AppComponents.kjøreAlleTilbakekrevingskonsumenter() {

// --- dokumenter ---
this.genererDokumenterForForhåndsvarsel(1)
this.genererDokumenterForVedtaksbrev(1)
this.journalførDokumenter(1)
this.distribuerDokumenter(1)
}
Expand All @@ -47,6 +48,7 @@ internal fun AppComponents.kjøreAlleVerifiseringer(
antallOppdatertOppgaveHendelser: Int = 0,
antallLukketOppgaver: Int = 0,
antallGenererteForhåndsvarsler: Int = 0,
antallGenererteVedtaksbrev: Int = 0,
antallJournalførteDokumenter: Int = 0,
antallDistribuertDokumenter: Int = 0,
) {
Expand All @@ -60,11 +62,12 @@ internal fun AppComponents.kjøreAlleVerifiseringer(
)

this.verifiserGenererDokumentForForhåndsvarselKonsument(antallGenererteForhåndsvarsler)
this.verifiserGenererDokumentForVedtaksbrevKonsument(antallGenererteVedtaksbrev)
this.verifiserJournalførDokumenterKonsument(antallJournalførteDokumenter)
this.verifiserDistribuerteDokumenterKonsument(antallDistribuertDokumenter)
this.verifiserDokumentHendelser(
sakId = sakId,
antallGenererteDokumenter = antallGenererteForhåndsvarsler,
antallGenererteDokumenter = antallGenererteForhåndsvarsler + antallGenererteVedtaksbrev,
antallJournalførteDokumenter = antallJournalførteDokumenter,
antallDistribuerteDokumenter = antallDistribuertDokumenter,
)
Expand Down Expand Up @@ -117,6 +120,13 @@ internal fun AppComponents.genererDokumenterForForhåndsvarsel(saksversjon: Long
return saksversjon + 1
}

internal fun AppComponents.genererDokumenterForVedtaksbrev(saksversjon: Long): Long {
this.tilbakekrevingskomponenter.services.vedtaksbrevTilbakekrevingKonsument.genererVedtaksbrev(
correlationId = CorrelationId.generate(),
)
return saksversjon + 1
}

/**
* Kjører [JournalførDokumentHendelserKonsument].
*
Expand Down Expand Up @@ -172,12 +182,7 @@ internal fun AppComponents.verifiserDokumentHendelser(
antallDistribuerteDokumenter: Int,
) {
val dokumentHendelser = this.databaseRepos.dokumentHendelseRepo.hentForSak(UUID.fromString(sakId)).let {
if (antallGenererteDokumenter > 0) {
it.serier.size shouldBe 1
it.serier[0]
} else {
emptyList()
}
it.flatMap { it.dokumenter }
}
dokumentHendelser.size shouldBe antallGenererteDokumenter + antallJournalførteDokumenter + antallDistribuerteDokumenter

Expand Down Expand Up @@ -306,6 +311,17 @@ internal fun AppComponents.verifiserGenererDokumentForForhåndsvarselKonsument(a
}
}
}
internal fun AppComponents.verifiserGenererDokumentForVedtaksbrevKonsument(antallGenerert: Int = 1) {
this.databaseRepos.hendelsekonsumenterRepo.let {
(it as HendelsekonsumenterPostgresRepo).sessionFactory.withSession {
"""
select * from hendelse_konsument where konsumentId = 'GenererVedtaksbrevTilbakekrevingKonsument'
""".trimIndent().hentListe(emptyMap(), it) {
it.string("hendelseId")
}.size shouldBe antallGenerert
}
}
}

/**
* Sletter ikke selve hendelsen, men kun verifikasjonen på at vi har kjørt konsumenten.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -227,7 +227,23 @@ internal class TilbakekrevingsbehandlingIT {
appComponents.verifiserLukketOppgaveKonsument()
// TODO jah: sende tilbakekrevingsvedtaket til oppdrag + sende brev hvis det er valgt.
// TODO vedtaksbrev - kjør konsument (generering, journalføring, distribuering) + verifisering
verifiserKravgrunnlagPåSak(sakId, client, true, versjonEtterLukking.toInt())

val versjonEtterGenereringAvVedtaksbrev = appComponents.genererDokumenterForVedtaksbrev(versjonEtterLukking)
appComponents.verifiserDokumentHendelser(
sakId = sakId,
antallGenererteDokumenter = 2,
antallJournalførteDokumenter = 1,
antallDistribuerteDokumenter = 1,
)
appComponents.verifiserGenererDokumentForVedtaksbrevKonsument()
val versjonEtterJournalføringAvVedtaksbrev =
appComponents.journalførDokumenter(versjonEtterGenereringAvVedtaksbrev)
appComponents.verifiserJournalførDokumenterKonsument(2)
val versjonEtterDistribusjonAvVedtaksbrev =
appComponents.distribuerDokumenter(versjonEtterJournalføringAvVedtaksbrev)
appComponents.verifiserDistribuerteDokumenterKonsument(2)

verifiserKravgrunnlagPåSak(sakId, client, true, versjonEtterDistribusjonAvVedtaksbrev.toInt())

// kjører konsumenter en gang til på slutten for å verifisere at dette ikke vil føre til flere hendelser
appComponents.kjøreAlleTilbakekrevingskonsumenter()
Expand All @@ -237,8 +253,9 @@ internal class TilbakekrevingsbehandlingIT {
antallOppdatertOppgaveHendelser = 4,
antallLukketOppgaver = 1,
antallGenererteForhåndsvarsler = 1,
antallJournalførteDokumenter = 1,
antallDistribuertDokumenter = 1,
antallGenererteVedtaksbrev = 1,
antallJournalførteDokumenter = 2,
antallDistribuertDokumenter = 2,
)
}
}
Expand Down Expand Up @@ -324,6 +341,7 @@ internal class TilbakekrevingsbehandlingIT {
antallOpprettetOppgaver = 1,
antallOppdatertOppgaveHendelser = 0,
antallLukketOppgaver = 1,
antallGenererteVedtaksbrev = 0,
antallGenererteForhåndsvarsler = 0,
antallJournalførteDokumenter = 0,
antallDistribuertDokumenter = 0,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -293,6 +293,7 @@ fun startJobberOgConsumers(
genererDokumenterForForhåndsvarselKonsument = tilbakekrevingskomponenter.services.genererDokumentForForhåndsvarselTilbakekrevingKonsument,
lukkOppgaveKonsument = tilbakekrevingskomponenter.services.lukkOppgaveForTilbakekrevingshendelserKonsument,
oppdaterOppgaveKonsument = tilbakekrevingskomponenter.services.oppdaterOppgaveForTilbakekrevingshendelserKonsument,
genererVedtaksbrevTilbakekrevingKonsument = tilbakekrevingskomponenter.services.vedtaksbrevTilbakekrevingKonsument,
initialDelay = initialDelay.next(),
intervall = Duration.ofSeconds(10),
runCheckFactory = runCheckFactory,
Expand Down Expand Up @@ -405,6 +406,7 @@ fun startJobberOgConsumers(
genererDokumenterForForhåndsvarselKonsument = tilbakekrevingskomponenter.services.genererDokumentForForhåndsvarselTilbakekrevingKonsument,
lukkOppgaveKonsument = tilbakekrevingskomponenter.services.lukkOppgaveForTilbakekrevingshendelserKonsument,
oppdaterOppgaveKonsument = tilbakekrevingskomponenter.services.oppdaterOppgaveForTilbakekrevingshendelserKonsument,
genererVedtaksbrevTilbakekrevingKonsument = tilbakekrevingskomponenter.services.vedtaksbrevTilbakekrevingKonsument,
initialDelay = initialDelay.next(),
intervall = Duration.ofSeconds(10),
runCheckFactory = runCheckFactory,
Expand Down

0 comments on commit 2ed71dc

Please sign in to comment.