Skip to content

Commit

Permalink
Merge branch 'main' into dev/fjern-gammel-kvittering
Browse files Browse the repository at this point in the history
# Conflicts:
#	apps/db/src/test/kotlin/no/nav/helsearbeidsgiver/inntektsmelding/db/river/HentLagretImRiverTest.kt
#	apps/innsending/src/test/kotlin/no.nav.helsearbeidsgiver.inntektsmelding.innsending/KvitteringServiceTest.kt
#	apps/integrasjonstest/src/test/kotlin/no/nav/helsearbeidsgiver/inntektsmelding/integrasjonstest/InnsendingServiceIT.kt
  • Loading branch information
mortenbyhring committed Jan 29, 2025
2 parents 5346032 + 75623f0 commit 26f93d2
Show file tree
Hide file tree
Showing 136 changed files with 859 additions and 860 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ import java.util.UUID
data class HentArbeidsforholdMelding(
val eventName: EventName,
val behovType: BehovType,
val transaksjonId: UUID,
val kontekstId: UUID,
val data: Map<Key, JsonElement>,
val svarKafkaKey: KafkaKey,
val fnr: Fnr,
Expand All @@ -46,7 +46,7 @@ class HentArbeidsforholdRiver(
HentArbeidsforholdMelding(
eventName = Key.EVENT_NAME.les(EventName.serializer(), json),
behovType = Key.BEHOV.krev(BehovType.HENT_ARBEIDSFORHOLD, BehovType.serializer(), json),
transaksjonId = Key.KONTEKST_ID.les(UuidSerializer, json),
kontekstId = Key.KONTEKST_ID.les(UuidSerializer, json),
data = data,
svarKafkaKey = Key.SVAR_KAFKA_KEY.les(KafkaKey.serializer(), data),
fnr = Key.FNR.les(Fnr.serializer(), data),
Expand All @@ -59,7 +59,7 @@ class HentArbeidsforholdRiver(
val arbeidsforhold =
Metrics.aaregRequest
.recordTime(aaregClient::hentArbeidsforhold) {
aaregClient.hentArbeidsforhold(fnr.verdi, transaksjonId.toString())
aaregClient.hentArbeidsforhold(fnr.verdi, kontekstId.toString())
}.map { it.tilArbeidsforhold() }

"Fant ${arbeidsforhold.size} arbeidsforhold.".also {
Expand All @@ -75,7 +75,7 @@ class HentArbeidsforholdRiver(

return mapOf(
Key.EVENT_NAME to eventName.toJson(),
Key.KONTEKST_ID to transaksjonId.toJson(),
Key.KONTEKST_ID to kontekstId.toJson(),
Key.DATA to
data
.plus(
Expand All @@ -91,7 +91,7 @@ class HentArbeidsforholdRiver(
val fail =
Fail(
feilmelding = "Klarte ikke hente arbeidsforhold fra Aareg.",
kontekstId = transaksjonId,
kontekstId = kontekstId,
utloesendeMelding = json,
)

Expand All @@ -106,6 +106,6 @@ class HentArbeidsforholdRiver(
Log.klasse(this@HentArbeidsforholdRiver),
Log.event(eventName),
Log.behov(behovType),
Log.transaksjonId(transaksjonId),
Log.kontekstId(kontekstId),
)
}
Original file line number Diff line number Diff line change
Expand Up @@ -61,15 +61,15 @@ class HentArbeidsforholdRiverTest :
testRapid.firstMessage().toMap() shouldContainExactly
mapOf(
Key.EVENT_NAME to innkommendeMelding.eventName.toJson(),
Key.KONTEKST_ID to innkommendeMelding.transaksjonId.toJson(),
Key.KONTEKST_ID to innkommendeMelding.kontekstId.toJson(),
Key.DATA to
innkommendeMelding.data
.plus(Key.ARBEIDSFORHOLD to expectedArbeidsforhold.toJson(Arbeidsforhold.serializer()))
.toJson(),
)

coVerifySequence {
mockAaregClient.hentArbeidsforhold(innkommendeMelding.fnr.verdi, innkommendeMelding.transaksjonId.toString())
mockAaregClient.hentArbeidsforhold(innkommendeMelding.fnr.verdi, innkommendeMelding.kontekstId.toString())
}
}

Expand All @@ -81,7 +81,7 @@ class HentArbeidsforholdRiverTest :
val forventetFail =
Fail(
feilmelding = "Klarte ikke hente arbeidsforhold fra Aareg.",
kontekstId = innkommendeMelding.transaksjonId,
kontekstId = innkommendeMelding.kontekstId,
utloesendeMelding = innkommendeMelding.toMap(),
)

Expand All @@ -92,7 +92,7 @@ class HentArbeidsforholdRiverTest :
testRapid.firstMessage().toMap() shouldContainExactly forventetFail.tilMelding()

coVerifySequence {
mockAaregClient.hentArbeidsforhold(innkommendeMelding.fnr.verdi, innkommendeMelding.transaksjonId.toString())
mockAaregClient.hentArbeidsforhold(innkommendeMelding.fnr.verdi, innkommendeMelding.kontekstId.toString())
}
}

Expand Down Expand Up @@ -128,7 +128,7 @@ private object Mock {
return HentArbeidsforholdMelding(
eventName = EventName.AKTIVE_ORGNR_REQUESTED,
behovType = BehovType.HENT_ARBEIDSFORHOLD,
transaksjonId = UUID.randomUUID(),
kontekstId = UUID.randomUUID(),
data =
mapOf(
Key.SVAR_KAFKA_KEY to svarKafkaKey.toJson(),
Expand All @@ -143,7 +143,7 @@ private object Mock {
mapOf(
Key.EVENT_NAME to eventName.toJson(),
Key.BEHOV to behovType.toJson(),
Key.KONTEKST_ID to transaksjonId.toJson(),
Key.KONTEKST_ID to kontekstId.toJson(),
Key.DATA to data.toJson(),
)

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@ import no.nav.helsearbeidsgiver.utils.wrapper.Orgnr
import java.util.UUID

data class Steg0(
val transaksjonId: UUID,
val kontekstId: UUID,
val sykmeldtFnr: Fnr,
val avsenderFnr: Fnr,
)
Expand Down Expand Up @@ -63,7 +63,7 @@ class AktiveOrgnrService(

override fun lesSteg0(melding: Map<Key, JsonElement>): Steg0 =
Steg0(
transaksjonId = Key.KONTEKST_ID.les(UuidSerializer, melding),
kontekstId = Key.KONTEKST_ID.les(UuidSerializer, melding),
sykmeldtFnr = Key.FNR.les(Fnr.serializer(), melding),
avsenderFnr = Key.ARBEIDSGIVER_FNR.les(Fnr.serializer(), melding),
)
Expand Down Expand Up @@ -103,7 +103,7 @@ class AktiveOrgnrService(
key = steg0.sykmeldtFnr,
Key.EVENT_NAME to eventName.toJson(),
Key.BEHOV to BehovType.ARBEIDSGIVERE.toJson(),
Key.KONTEKST_ID to steg0.transaksjonId.toJson(),
Key.KONTEKST_ID to steg0.kontekstId.toJson(),
Key.DATA to
mapOf(
Key.SVAR_KAFKA_KEY to svarKafkaKey.toJson(),
Expand All @@ -115,7 +115,7 @@ class AktiveOrgnrService(
key = steg0.sykmeldtFnr,
Key.EVENT_NAME to eventName.toJson(),
Key.BEHOV to BehovType.HENT_ARBEIDSFORHOLD.toJson(),
Key.KONTEKST_ID to steg0.transaksjonId.toJson(),
Key.KONTEKST_ID to steg0.kontekstId.toJson(),
Key.DATA to
mapOf(
Key.SVAR_KAFKA_KEY to svarKafkaKey.toJson(),
Expand All @@ -127,7 +127,7 @@ class AktiveOrgnrService(
key = steg0.sykmeldtFnr,
Key.EVENT_NAME to eventName.toJson(),
Key.BEHOV to BehovType.HENT_PERSONER.toJson(),
Key.KONTEKST_ID to steg0.transaksjonId.toJson(),
Key.KONTEKST_ID to steg0.kontekstId.toJson(),
Key.DATA to
mapOf(
Key.SVAR_KAFKA_KEY to svarKafkaKey.toJson(),
Expand All @@ -149,15 +149,15 @@ class AktiveOrgnrService(
val arbeidsgivere = trekkUtArbeidsforhold(steg1.arbeidsforhold, steg1.orgrettigheter)

if (steg1.orgrettigheter.isEmpty()) {
onError(steg0.transaksjonId, "Må ha orgrettigheter for å kunne hente virksomheter.")
onError(steg0.kontekstId, "Må ha orgrettigheter for å kunne hente virksomheter.")
} else if (arbeidsgivere.isEmpty()) {
utfoerSteg2(data, steg0, steg1, Steg2(emptyMap()))
} else {
rapid.publish(
key = steg0.sykmeldtFnr,
Key.EVENT_NAME to eventName.toJson(),
Key.BEHOV to BehovType.HENT_VIRKSOMHET_NAVN.toJson(),
Key.KONTEKST_ID to steg0.transaksjonId.toJson(),
Key.KONTEKST_ID to steg0.kontekstId.toJson(),
Key.DATA to
mapOf(
Key.SVAR_KAFKA_KEY to KafkaKey(steg0.sykmeldtFnr).toJson(),
Expand Down Expand Up @@ -196,7 +196,7 @@ class AktiveOrgnrService(
).toJson(AktiveArbeidsgivere.serializer()),
)

redisStore.skrivResultat(steg0.transaksjonId, gyldigResponse)
redisStore.skrivResultat(steg0.kontekstId, gyldigResponse)
} else {
"Steg 1 er ikke komplett under utførelse av steg 2.".also {
logger.error(it)
Expand All @@ -213,22 +213,22 @@ class AktiveOrgnrService(
}

private fun onError(
transaksjonId: UUID,
kontekstId: UUID,
feilmelding: String,
) {
logger.error(feilmelding)
sikkerLogger.error(feilmelding)

val feilResponse = ResultJson(failure = feilmelding.toJson())

redisStore.skrivResultat(transaksjonId, feilResponse)
redisStore.skrivResultat(kontekstId, feilResponse)
}

override fun Steg0.loggfelt(): Map<String, String> =
mapOf(
Log.klasse(this@AktiveOrgnrService),
Log.event(eventName),
Log.transaksjonId(transaksjonId),
Log.kontekstId(kontekstId),
)

private fun trekkUtArbeidsforhold(
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -56,12 +56,12 @@ class AktiveOrgnrServiceTest :
}

test("henter aktive orgnr") {
val transaksjonId = UUID.randomUUID()
val kontekstId = UUID.randomUUID()
val orgnr = Orgnr.genererGyldig()
val expectedSuccess = Mock.successResult(orgnr)

testRapid.sendJson(
Mock.startmelding(transaksjonId),
Mock.startmelding(kontekstId),
)

testRapid.inspektør.size shouldBeExactly 3
Expand All @@ -79,94 +79,94 @@ class AktiveOrgnrServiceTest :
}

testRapid.sendJson(
Mock.steg1Data(transaksjonId, orgnr),
Mock.steg1Data(kontekstId, orgnr),
)

testRapid.inspektør.size shouldBeExactly 4
testRapid.message(3).lesBehov() shouldBe BehovType.HENT_VIRKSOMHET_NAVN

testRapid.sendJson(
Mock.steg2Data(transaksjonId, orgnr),
Mock.steg2Data(kontekstId, orgnr),
)

verify {
mockRedis.store.skrivResultat(transaksjonId, expectedSuccess)
mockRedis.store.skrivResultat(kontekstId, expectedSuccess)
}
}

test("svarer med tom liste dersom sykmeldt mangler arbeidsforhold") {
val transaksjonId = UUID.randomUUID()
val kontekstId = UUID.randomUUID()
val orgnr = Orgnr.genererGyldig()
val expectedSuccess = Mock.successResultTomListe()

testRapid.sendJson(
Mock.startmelding(transaksjonId),
Mock.startmelding(kontekstId),
)

testRapid.inspektør.size shouldBeExactly 3

testRapid.sendJson(
Mock
.steg1Data(transaksjonId, orgnr)
.steg1Data(kontekstId, orgnr)
.plusData(Key.ARBEIDSFORHOLD to emptyList<Arbeidsforhold>().toJson(Arbeidsforhold.serializer())),
)

// Virksomheter hentes ikke
testRapid.inspektør.size shouldBeExactly 3

verify {
mockRedis.store.skrivResultat(transaksjonId, expectedSuccess)
mockRedis.store.skrivResultat(kontekstId, expectedSuccess)
}
}

test("svarer med tom liste dersom sykmeldtes arbeidsforhold og avsenders org-rettigheter ikke gjelder samme org") {
val transaksjonId = UUID.randomUUID()
val kontekstId = UUID.randomUUID()
val orgnr = Orgnr.genererGyldig()
val expectedSuccess = Mock.successResultTomListe()

testRapid.sendJson(
Mock.startmelding(transaksjonId),
Mock.startmelding(kontekstId),
)

testRapid.inspektør.size shouldBeExactly 3

testRapid.sendJson(
Mock
.steg1Data(transaksjonId, orgnr)
.steg1Data(kontekstId, orgnr)
.plusData(Key.ORG_RETTIGHETER to setOf(Orgnr.genererGyldig().verdi).toJson(String.serializer())),
)

// Orgnavn hentes ikke
testRapid.inspektør.size shouldBeExactly 3

verify {
mockRedis.store.skrivResultat(transaksjonId, expectedSuccess)
mockRedis.store.skrivResultat(kontekstId, expectedSuccess)
}
}

test("svarer med feilmelding dersom avsender mangler org-rettigheter") {
val transaksjonId = UUID.randomUUID()
val kontekstId = UUID.randomUUID()
val orgnr = Orgnr.genererGyldig()
val feilmelding = "Må ha orgrettigheter for å kunne hente virksomheter."
val expectedFailure = Mock.failureResult(feilmelding)

testRapid.sendJson(
Mock.startmelding(transaksjonId),
Mock.startmelding(kontekstId),
)

testRapid.inspektør.size shouldBeExactly 3

testRapid.sendJson(
Mock
.steg1Data(transaksjonId, orgnr)
.steg1Data(kontekstId, orgnr)
.plusData(Key.ORG_RETTIGHETER to emptySet<String>().toJson(String.serializer())),
)

// Orgnavn hentes ikke
testRapid.inspektør.size shouldBeExactly 3

verify {
mockRedis.store.skrivResultat(transaksjonId, expectedFailure)
mockRedis.store.skrivResultat(kontekstId, expectedFailure)
}
}

Expand Down Expand Up @@ -239,10 +239,10 @@ private object Mock {
failure = feilmelding.toJson(),
)

fun startmelding(transaksjonId: UUID): Map<Key, JsonElement> =
fun startmelding(kontekstId: UUID): Map<Key, JsonElement> =
mapOf(
Key.EVENT_NAME to EventName.AKTIVE_ORGNR_REQUESTED.toJson(),
Key.KONTEKST_ID to transaksjonId.toJson(),
Key.KONTEKST_ID to kontekstId.toJson(),
Key.DATA to
mapOf(
Key.FNR to sykmeldtFnr.toJson(),
Expand All @@ -251,12 +251,12 @@ private object Mock {
)

fun steg1Data(
transaksjonId: UUID,
kontekstId: UUID,
orgnr: Orgnr,
): Map<Key, JsonElement> =
mapOf(
Key.EVENT_NAME to EventName.AKTIVE_ORGNR_REQUESTED.toJson(),
Key.KONTEKST_ID to transaksjonId.toJson(),
Key.KONTEKST_ID to kontekstId.toJson(),
Key.DATA to
mapOf(
Key.ARBEIDSFORHOLD to
Expand All @@ -277,12 +277,12 @@ private object Mock {
)

fun steg2Data(
transaksjonId: UUID,
kontekstId: UUID,
orgnr: Orgnr,
): Map<Key, JsonElement> =
mapOf(
Key.EVENT_NAME to EventName.AKTIVE_ORGNR_REQUESTED.toJson(),
Key.KONTEKST_ID to transaksjonId.toJson(),
Key.KONTEKST_ID to kontekstId.toJson(),
Key.DATA to
mapOf(
Key.VIRKSOMHETER to mapOf(orgnr.verdi to ORG_NAVN).toJson(),
Expand Down
2 changes: 1 addition & 1 deletion apps/altinn/gradle.properties
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
altinnClientVersion=1.0.0
altinnClientVersion=1.0.1
mockwebserverVersion=5.0.0-alpha.14
Loading

0 comments on commit 26f93d2

Please sign in to comment.