diff --git a/aktiveorgnrservice/src/main/kotlin/no/nav/helsearbeidsgiver/inntektsmelding/aktiveorgnrservice/AktiveOrgnrService.kt b/aktiveorgnrservice/src/main/kotlin/no/nav/helsearbeidsgiver/inntektsmelding/aktiveorgnrservice/AktiveOrgnrService.kt index 2959a06d4..a6bb26e8d 100644 --- a/aktiveorgnrservice/src/main/kotlin/no/nav/helsearbeidsgiver/inntektsmelding/aktiveorgnrservice/AktiveOrgnrService.kt +++ b/aktiveorgnrservice/src/main/kotlin/no/nav/helsearbeidsgiver/inntektsmelding/aktiveorgnrservice/AktiveOrgnrService.kt @@ -182,7 +182,7 @@ class AktiveOrgnrService( avsenderNavn = avsenderNavn, underenheter = gyldigeUnderenheter, ).toJson(AktiveArbeidsgivere.serializer()), - ).toJson(ResultJson.serializer()) + ) redisStore.skrivResultat(steg0.transaksjonId, gyldigResponse) } else { @@ -207,10 +207,7 @@ class AktiveOrgnrService( logger.error(feilmelding) sikkerLogger.error(feilmelding) - val feilResponse = - ResultJson( - failure = feilmelding.toJson(), - ).toJson(ResultJson.serializer()) + val feilResponse = ResultJson(failure = feilmelding.toJson()) redisStore.skrivResultat(transaksjonId, feilResponse) } diff --git a/aktiveorgnrservice/src/test/kotlin/no/nav/helsearbeidsgiver/inntektsmelding/aktiveorgnrservice/AktiveOrgnrServiceTest.kt b/aktiveorgnrservice/src/test/kotlin/no/nav/helsearbeidsgiver/inntektsmelding/aktiveorgnrservice/AktiveOrgnrServiceTest.kt index 9706f564a..a2dca7894 100644 --- a/aktiveorgnrservice/src/test/kotlin/no/nav/helsearbeidsgiver/inntektsmelding/aktiveorgnrservice/AktiveOrgnrServiceTest.kt +++ b/aktiveorgnrservice/src/test/kotlin/no/nav/helsearbeidsgiver/inntektsmelding/aktiveorgnrservice/AktiveOrgnrServiceTest.kt @@ -205,7 +205,7 @@ private object Mock { fnr to Person(fnr, navn) } - fun successResult(orgnr: Orgnr): JsonElement = + fun successResult(orgnr: Orgnr): ResultJson = ResultJson( success = AktiveArbeidsgivere( @@ -219,9 +219,9 @@ private object Mock { ), ), ).toJson(AktiveArbeidsgivere.serializer()), - ).toJson(ResultJson.serializer()) + ) - fun successResultTomListe(): JsonElement = + fun successResultTomListe(): ResultJson = ResultJson( success = AktiveArbeidsgivere( @@ -229,12 +229,12 @@ private object Mock { avsenderNavn = AVSENDER_NAVN, underenheter = emptyList(), ).toJson(AktiveArbeidsgivere.serializer()), - ).toJson(ResultJson.serializer()) + ) - fun failureResult(feilmelding: String): JsonElement = + fun failureResult(feilmelding: String): ResultJson = ResultJson( failure = feilmelding.toJson(), - ).toJson(ResultJson.serializer()) + ) fun startmelding(transaksjonId: UUID): Map = mapOf( diff --git a/api/src/main/kotlin/no/nav/helsearbeidsgiver/inntektsmelding/api/RedisPoller.kt b/api/src/main/kotlin/no/nav/helsearbeidsgiver/inntektsmelding/api/RedisPoller.kt index 30d61b0f2..a7191a09a 100644 --- a/api/src/main/kotlin/no/nav/helsearbeidsgiver/inntektsmelding/api/RedisPoller.kt +++ b/api/src/main/kotlin/no/nav/helsearbeidsgiver/inntektsmelding/api/RedisPoller.kt @@ -1,7 +1,7 @@ package no.nav.helsearbeidsgiver.inntektsmelding.api import kotlinx.coroutines.delay -import kotlinx.serialization.json.JsonElement +import no.nav.helsearbeidsgiver.felles.domene.ResultJson import no.nav.helsearbeidsgiver.felles.rapidsrivers.redis.RedisStore import no.nav.helsearbeidsgiver.utils.log.sikkerLogger import java.util.UUID @@ -16,7 +16,7 @@ class RedisPoller( ) { private val sikkerLogger = sikkerLogger() - suspend fun hent(key: UUID): JsonElement { + suspend fun hent(key: UUID): ResultJson { repeat(MAX_RETRIES) { sikkerLogger.debug("Polling redis: $it time(s) for key $key") diff --git a/api/src/main/kotlin/no/nav/helsearbeidsgiver/inntektsmelding/api/aktiveorgnr/AktiveOrgnrRoute.kt b/api/src/main/kotlin/no/nav/helsearbeidsgiver/inntektsmelding/api/aktiveorgnr/AktiveOrgnrRoute.kt index 8e5f3ea0c..0491d247e 100644 --- a/api/src/main/kotlin/no/nav/helsearbeidsgiver/inntektsmelding/api/aktiveorgnr/AktiveOrgnrRoute.kt +++ b/api/src/main/kotlin/no/nav/helsearbeidsgiver/inntektsmelding/api/aktiveorgnr/AktiveOrgnrRoute.kt @@ -10,7 +10,6 @@ import io.ktor.server.routing.post import kotlinx.serialization.builtins.serializer import no.nav.helsearbeidsgiver.felles.Tekst import no.nav.helsearbeidsgiver.felles.domene.AktiveArbeidsgivere -import no.nav.helsearbeidsgiver.felles.domene.ResultJson import no.nav.helsearbeidsgiver.felles.rapidsrivers.redis.RedisConnection import no.nav.helsearbeidsgiver.felles.rapidsrivers.redis.RedisPrefix import no.nav.helsearbeidsgiver.felles.rapidsrivers.redis.RedisStore @@ -42,7 +41,7 @@ fun Route.aktiveOrgnrRoute( aktiveOrgnrProducer.publish(transaksjonId, arbeidsgiverFnr = arbeidsgiverFnr, arbeidstagerFnr = request.identitetsnummer) - val resultatJson = redisPoller.hent(transaksjonId).fromJson(ResultJson.serializer()) + val resultatJson = redisPoller.hent(transaksjonId) val resultat = resultatJson.success?.fromJson(AktiveArbeidsgivere.serializer()) if (resultat != null) { diff --git a/api/src/main/kotlin/no/nav/helsearbeidsgiver/inntektsmelding/api/auth/Tilgangskontroll.kt b/api/src/main/kotlin/no/nav/helsearbeidsgiver/inntektsmelding/api/auth/Tilgangskontroll.kt index 62a1a6a81..226a92eea 100644 --- a/api/src/main/kotlin/no/nav/helsearbeidsgiver/inntektsmelding/api/auth/Tilgangskontroll.kt +++ b/api/src/main/kotlin/no/nav/helsearbeidsgiver/inntektsmelding/api/auth/Tilgangskontroll.kt @@ -3,7 +3,6 @@ package no.nav.helsearbeidsgiver.inntektsmelding.api.auth import io.ktor.server.request.ApplicationRequest import kotlinx.coroutines.runBlocking import no.nav.helsearbeidsgiver.felles.domene.Tilgang -import no.nav.helsearbeidsgiver.felles.domene.TilgangResultat import no.nav.helsearbeidsgiver.felles.rapidsrivers.redis.RedisConnection import no.nav.helsearbeidsgiver.felles.rapidsrivers.redis.RedisPrefix import no.nav.helsearbeidsgiver.felles.rapidsrivers.redis.RedisStore @@ -57,12 +56,13 @@ class Tilgangskontroll( publish(transaksjonId, innloggerFnr) - val resultat = + val tilgang = redisPoller .hent(transaksjonId) - .fromJson(TilgangResultat.serializer()) + .success + ?.fromJson(Tilgang.serializer()) - resultat.tilgang ?: throw ManglerAltinnRettigheterException() + tilgang ?: throw ManglerAltinnRettigheterException() } } diff --git a/api/src/main/kotlin/no/nav/helsearbeidsgiver/inntektsmelding/api/hentforespoersel/HentForespoerselRoute.kt b/api/src/main/kotlin/no/nav/helsearbeidsgiver/inntektsmelding/api/hentforespoersel/HentForespoerselRoute.kt index 9e6dc4bcc..45ec2c2d2 100644 --- a/api/src/main/kotlin/no/nav/helsearbeidsgiver/inntektsmelding/api/hentforespoersel/HentForespoerselRoute.kt +++ b/api/src/main/kotlin/no/nav/helsearbeidsgiver/inntektsmelding/api/hentforespoersel/HentForespoerselRoute.kt @@ -53,7 +53,7 @@ fun Route.hentForespoersel( hentForespoerselProducer.publish(transaksjonId, request, arbeidsgiverFnr) - val resultatJson = redisPoller.hent(transaksjonId).fromJson(ResultJson.serializer()) + val resultatJson = redisPoller.hent(transaksjonId) sikkerLogger.info("Hentet forespørsel: $resultatJson") diff --git a/api/src/main/kotlin/no/nav/helsearbeidsgiver/inntektsmelding/api/hentforespoerselIdListe/HentForespoerselIdListeRoute.kt b/api/src/main/kotlin/no/nav/helsearbeidsgiver/inntektsmelding/api/hentforespoerselIdListe/HentForespoerselIdListeRoute.kt index 082027277..9a270675a 100644 --- a/api/src/main/kotlin/no/nav/helsearbeidsgiver/inntektsmelding/api/hentforespoerselIdListe/HentForespoerselIdListeRoute.kt +++ b/api/src/main/kotlin/no/nav/helsearbeidsgiver/inntektsmelding/api/hentforespoerselIdListe/HentForespoerselIdListeRoute.kt @@ -12,7 +12,6 @@ import kotlinx.serialization.builtins.serializer import no.nav.helsearbeidsgiver.felles.Tekst.TEKNISK_FEIL_FORBIGAAENDE import no.nav.helsearbeidsgiver.felles.Tekst.UGYLDIG_REQUEST import no.nav.helsearbeidsgiver.felles.domene.Forespoersel -import no.nav.helsearbeidsgiver.felles.domene.ResultJson import no.nav.helsearbeidsgiver.felles.domene.VedtaksperiodeIdForespoerselIdPar import no.nav.helsearbeidsgiver.felles.metrics.Metrics import no.nav.helsearbeidsgiver.felles.rapidsrivers.redis.RedisConnection @@ -91,7 +90,7 @@ suspend fun PipelineContext.hentForespoersler( hentForespoerslerProducer.publish(transaksjonId, request) - val resultatJson = redisPoller.hent(transaksjonId).fromJson(ResultJson.serializer()) + val resultatJson = redisPoller.hent(transaksjonId) sikkerLogger.info("Hentet forespørslene: $resultatJson") diff --git a/api/src/main/kotlin/no/nav/helsearbeidsgiver/inntektsmelding/api/hentselvbestemtim/HentSelvbestemtImRoute.kt b/api/src/main/kotlin/no/nav/helsearbeidsgiver/inntektsmelding/api/hentselvbestemtim/HentSelvbestemtImRoute.kt index 6d10c9d1b..4c14452d9 100644 --- a/api/src/main/kotlin/no/nav/helsearbeidsgiver/inntektsmelding/api/hentselvbestemtim/HentSelvbestemtImRoute.kt +++ b/api/src/main/kotlin/no/nav/helsearbeidsgiver/inntektsmelding/api/hentselvbestemtim/HentSelvbestemtImRoute.kt @@ -62,9 +62,7 @@ fun Route.hentSelvbestemtImRoute( runCatching { redisPoller.hent(transaksjonId) - }.onSuccess { - val result = it.fromJson(ResultJson.serializer()) - + }.onSuccess { result -> val inntektsmelding = result.success?.fromJson(Inntektsmelding.serializer()) if (inntektsmelding != null) { diff --git a/api/src/main/kotlin/no/nav/helsearbeidsgiver/inntektsmelding/api/innsending/InnsendingRoute.kt b/api/src/main/kotlin/no/nav/helsearbeidsgiver/inntektsmelding/api/innsending/InnsendingRoute.kt index 31d159864..d072196a9 100644 --- a/api/src/main/kotlin/no/nav/helsearbeidsgiver/inntektsmelding/api/innsending/InnsendingRoute.kt +++ b/api/src/main/kotlin/no/nav/helsearbeidsgiver/inntektsmelding/api/innsending/InnsendingRoute.kt @@ -9,7 +9,6 @@ import io.ktor.server.routing.post import kotlinx.serialization.builtins.serializer import no.nav.helsearbeidsgiver.domene.inntektsmelding.v1.skjema.SkjemaInntektsmelding import no.nav.helsearbeidsgiver.felles.Tekst -import no.nav.helsearbeidsgiver.felles.domene.ResultJson import no.nav.helsearbeidsgiver.felles.metrics.Metrics import no.nav.helsearbeidsgiver.felles.rapidsrivers.redis.RedisConnection import no.nav.helsearbeidsgiver.felles.rapidsrivers.redis.RedisPrefix @@ -86,12 +85,7 @@ fun Route.innsending( producer.publish(transaksjonId, skjema, avsenderFnr) - val resultat = - runCatching { - redisPoller.hent(transaksjonId) - }.map { - it.fromJson(ResultJson.serializer()) - } + val resultat = runCatching { redisPoller.hent(transaksjonId) } resultat .onSuccess { diff --git a/api/src/main/kotlin/no/nav/helsearbeidsgiver/inntektsmelding/api/inntekt/InntektRoute.kt b/api/src/main/kotlin/no/nav/helsearbeidsgiver/inntektsmelding/api/inntekt/InntektRoute.kt index 82ae0404d..1a9287005 100644 --- a/api/src/main/kotlin/no/nav/helsearbeidsgiver/inntektsmelding/api/inntekt/InntektRoute.kt +++ b/api/src/main/kotlin/no/nav/helsearbeidsgiver/inntektsmelding/api/inntekt/InntektRoute.kt @@ -11,7 +11,6 @@ import kotlinx.serialization.builtins.nullable import kotlinx.serialization.builtins.serializer import no.nav.helsearbeidsgiver.felles.Tekst import no.nav.helsearbeidsgiver.felles.domene.Inntekt -import no.nav.helsearbeidsgiver.felles.domene.ResultJson import no.nav.helsearbeidsgiver.felles.rapidsrivers.redis.RedisConnection import no.nav.helsearbeidsgiver.felles.rapidsrivers.redis.RedisPrefix import no.nav.helsearbeidsgiver.felles.rapidsrivers.redis.RedisStore @@ -53,7 +52,7 @@ fun Route.inntektRoute( try { inntektProducer.publish(transaksjonId, request) - val resultatJson = redisPoller.hent(transaksjonId).fromJson(ResultJson.serializer()) + val resultatJson = redisPoller.hent(transaksjonId) sikkerLogger.info("Fikk inntektresultat:\n$resultatJson") val resultat = resultatJson.success?.fromJson(Inntekt.serializer()) diff --git a/api/src/main/kotlin/no/nav/helsearbeidsgiver/inntektsmelding/api/inntektselvbestemt/InntektSelvbestemtRoute.kt b/api/src/main/kotlin/no/nav/helsearbeidsgiver/inntektsmelding/api/inntektselvbestemt/InntektSelvbestemtRoute.kt index 881bbbbbd..a79cf94ea 100644 --- a/api/src/main/kotlin/no/nav/helsearbeidsgiver/inntektsmelding/api/inntektselvbestemt/InntektSelvbestemtRoute.kt +++ b/api/src/main/kotlin/no/nav/helsearbeidsgiver/inntektsmelding/api/inntektselvbestemt/InntektSelvbestemtRoute.kt @@ -11,7 +11,6 @@ import kotlinx.serialization.builtins.nullable import kotlinx.serialization.builtins.serializer import no.nav.helsearbeidsgiver.felles.Tekst import no.nav.helsearbeidsgiver.felles.domene.Inntekt -import no.nav.helsearbeidsgiver.felles.domene.ResultJson import no.nav.helsearbeidsgiver.felles.rapidsrivers.redis.RedisConnection import no.nav.helsearbeidsgiver.felles.rapidsrivers.redis.RedisPrefix import no.nav.helsearbeidsgiver.felles.rapidsrivers.redis.RedisStore @@ -52,7 +51,7 @@ fun Route.inntektSelvbestemtRoute( try { inntektSelvbestemtProducer.publish(transaksjonId, request) - val resultatJson = redisPoller.hent(transaksjonId).fromJson(ResultJson.serializer()) + val resultatJson = redisPoller.hent(transaksjonId) sikkerLogger.info("Fikk inntektsresultat for selvbestemt inntektsmelding:\n$resultatJson") val resultat = resultatJson.success?.fromJson(Inntekt.serializer()) diff --git a/api/src/main/kotlin/no/nav/helsearbeidsgiver/inntektsmelding/api/kvittering/KvitteringRoute.kt b/api/src/main/kotlin/no/nav/helsearbeidsgiver/inntektsmelding/api/kvittering/KvitteringRoute.kt index abff0b6fa..a7393219f 100644 --- a/api/src/main/kotlin/no/nav/helsearbeidsgiver/inntektsmelding/api/kvittering/KvitteringRoute.kt +++ b/api/src/main/kotlin/no/nav/helsearbeidsgiver/inntektsmelding/api/kvittering/KvitteringRoute.kt @@ -14,7 +14,6 @@ import no.nav.helsearbeidsgiver.domene.inntektsmelding.deprecated.KvitteringSimb import no.nav.helsearbeidsgiver.felles.Tekst import no.nav.helsearbeidsgiver.felles.domene.EksternInntektsmelding import no.nav.helsearbeidsgiver.felles.domene.InnsendtInntektsmelding -import no.nav.helsearbeidsgiver.felles.domene.ResultJson import no.nav.helsearbeidsgiver.felles.metrics.Metrics import no.nav.helsearbeidsgiver.felles.rapidsrivers.redis.RedisConnection import no.nav.helsearbeidsgiver.felles.rapidsrivers.redis.RedisPrefix @@ -68,7 +67,7 @@ fun Route.kvittering( tilgangskontroll.validerTilgangTilForespoersel(call.request, forespoerselId) kvitteringProducer.publish(transaksjonId, forespoerselId) - val resultatJson = redisPoller.hent(transaksjonId).fromJson(ResultJson.serializer()) + val resultatJson = redisPoller.hent(transaksjonId) sikkerLogger.info("Resultat for henting av kvittering for $forespoerselId: $resultatJson") diff --git a/api/src/main/kotlin/no/nav/helsearbeidsgiver/inntektsmelding/api/lagreselvbestemtim/LagreSelvbestemtImRoute.kt b/api/src/main/kotlin/no/nav/helsearbeidsgiver/inntektsmelding/api/lagreselvbestemtim/LagreSelvbestemtImRoute.kt index a7e7e3a91..6a47c0892 100644 --- a/api/src/main/kotlin/no/nav/helsearbeidsgiver/inntektsmelding/api/lagreselvbestemtim/LagreSelvbestemtImRoute.kt +++ b/api/src/main/kotlin/no/nav/helsearbeidsgiver/inntektsmelding/api/lagreselvbestemtim/LagreSelvbestemtImRoute.kt @@ -8,7 +8,6 @@ import io.ktor.server.routing.Route import io.ktor.server.routing.post import io.ktor.util.pipeline.PipelineContext import kotlinx.serialization.builtins.serializer -import kotlinx.serialization.json.JsonElement import no.nav.helsearbeidsgiver.domene.inntektsmelding.v1.skjema.SkjemaInntektsmeldingSelvbestemt import no.nav.helsearbeidsgiver.felles.domene.ResultJson import no.nav.helsearbeidsgiver.felles.rapidsrivers.redis.RedisConnection @@ -110,12 +109,10 @@ private suspend fun PipelineContext.lesRequestOrNull(): S } }.getOrNull() -private suspend fun PipelineContext.sendResponse(resultatJson: Result) { - resultatJson - .map { - it.fromJson(ResultJson.serializer()) - }.onSuccess { resultat -> - val selvbestemtId = resultat.success?.fromJson(UuidSerializer) +private suspend fun PipelineContext.sendResponse(result: Result) { + result + .onSuccess { resultJson -> + val selvbestemtId = resultJson.success?.fromJson(UuidSerializer) if (selvbestemtId != null) { MdcUtils.withLogFields( Log.selvbestemtId(selvbestemtId), @@ -127,7 +124,7 @@ private suspend fun PipelineContext.sendResponse(resultat } respondOk(LagreSelvbestemtImResponse(selvbestemtId), LagreSelvbestemtImResponse.serializer()) } else { - val feilmelding = resultat.failure?.fromJson(String.serializer()).orDefault("Tomt resultat i Redis.") + val feilmelding = resultJson.failure?.fromJson(String.serializer()).orDefault("Tomt resultat i Redis.") "Klarte ikke motta selvbestemt inntektsmelding pga. feil.".also { logger.error(it) diff --git a/api/src/test/kotlin/no/nav/helsearbeidsgiver/inntektsmelding/api/RedisPollerTest.kt b/api/src/test/kotlin/no/nav/helsearbeidsgiver/inntektsmelding/api/RedisPollerTest.kt index 9d6af1863..951a768a7 100644 --- a/api/src/test/kotlin/no/nav/helsearbeidsgiver/inntektsmelding/api/RedisPollerTest.kt +++ b/api/src/test/kotlin/no/nav/helsearbeidsgiver/inntektsmelding/api/RedisPollerTest.kt @@ -5,21 +5,9 @@ import io.kotest.matchers.shouldBe import io.mockk.clearAllMocks import io.mockk.every import io.mockk.mockk -import kotlinx.serialization.builtins.MapSerializer -import kotlinx.serialization.builtins.serializer -import kotlinx.serialization.json.JsonElement -import no.nav.helsearbeidsgiver.domene.inntektsmelding.v1.Periode -import no.nav.helsearbeidsgiver.felles.domene.Forespoersel -import no.nav.helsearbeidsgiver.felles.domene.ForespurtData +import no.nav.helsearbeidsgiver.felles.domene.ResultJson import no.nav.helsearbeidsgiver.felles.rapidsrivers.redis.RedisStore -import no.nav.helsearbeidsgiver.felles.test.mock.mockForespoersel -import no.nav.helsearbeidsgiver.utils.json.fromJson -import no.nav.helsearbeidsgiver.utils.json.parseJson -import no.nav.helsearbeidsgiver.utils.json.serializer.LocalDateSerializer -import no.nav.helsearbeidsgiver.utils.json.serializer.list import no.nav.helsearbeidsgiver.utils.json.toJson -import no.nav.helsearbeidsgiver.utils.json.toJsonStr -import no.nav.helsearbeidsgiver.utils.test.json.removeJsonWhitespace import org.junit.jupiter.api.assertThrows import java.util.UUID @@ -32,54 +20,30 @@ class RedisPollerTest : val redisPoller = RedisPoller(mockRedisStore) val key = UUID.randomUUID() - val dataJson = "noe data".toJson() + val etSlagsResultat = ResultJson(success = "noe data".toJson()) beforeEach { clearAllMocks() } test("skal finne med tillatt antall forsøk") { - every { mockRedisStore.lesResultat(any()) } returnsMany answers(answerOnAttemptNo = 10, answer = dataJson) + every { mockRedisStore.lesResultat(any()) } returnsMany answers(answerOnAttemptNo = 10, answer = etSlagsResultat) val json = redisPoller.hent(key) - json shouldBe dataJson + json shouldBe etSlagsResultat } test("skal ikke finne etter maks forsøk") { - every { mockRedisStore.lesResultat(any()) } returnsMany answers(answerOnAttemptNo = 11, answer = dataJson) + every { mockRedisStore.lesResultat(any()) } returnsMany answers(answerOnAttemptNo = 11, answer = etSlagsResultat) assertThrows { redisPoller.hent(key) } } - - test("skal parse forespurt data korrekt") { - val expected = mockForespoersel() - val expectedJson = - """ - { - "orgnr": "${expected.orgnr}", - "fnr": "${expected.fnr}", - "vedtaksperiodeId": ${expected.vedtaksperiodeId.toJson()}, - "sykmeldingsperioder": ${expected.sykmeldingsperioder.toJsonStr(Periode.serializer().list())}, - "egenmeldingsperioder": ${expected.egenmeldingsperioder.toJsonStr(Periode.serializer().list())}, - "bestemmendeFravaersdager": ${expected.bestemmendeFravaersdager.toJsonStr(MapSerializer(String.serializer(), LocalDateSerializer))}, - "forespurtData": ${expected.forespurtData.toJsonStr(ForespurtData.serializer())}, - "erBesvart": ${expected.erBesvart} - } - """.removeJsonWhitespace() - .parseJson() - - every { mockRedisStore.lesResultat(any()) } returnsMany answers(answerOnAttemptNo = 1, answer = expectedJson) - - val resultat = redisPoller.hent(key).fromJson(Forespoersel.serializer()) - - resultat shouldBe expected - } }) private fun answers( answerOnAttemptNo: Int, - answer: JsonElement, -): List = List(answerOnAttemptNo - 1) { null }.plus(answer) + answer: ResultJson, +): List = List(answerOnAttemptNo - 1) { null }.plus(answer) diff --git a/api/src/test/kotlin/no/nav/helsearbeidsgiver/inntektsmelding/api/aktiveorgnr/AktiveOrgnrRouteKtTest.kt b/api/src/test/kotlin/no/nav/helsearbeidsgiver/inntektsmelding/api/aktiveorgnr/AktiveOrgnrRouteKtTest.kt index a2b259d80..ec1567dcd 100644 --- a/api/src/test/kotlin/no/nav/helsearbeidsgiver/inntektsmelding/api/aktiveorgnr/AktiveOrgnrRouteKtTest.kt +++ b/api/src/test/kotlin/no/nav/helsearbeidsgiver/inntektsmelding/api/aktiveorgnr/AktiveOrgnrRouteKtTest.kt @@ -9,6 +9,7 @@ import io.mockk.clearAllMocks import io.mockk.coEvery import no.nav.helsearbeidsgiver.felles.domene.AktiveArbeidsgivere import no.nav.helsearbeidsgiver.felles.domene.ResultJson +import no.nav.helsearbeidsgiver.felles.json.toJson import no.nav.helsearbeidsgiver.inntektsmelding.api.Routes import no.nav.helsearbeidsgiver.inntektsmelding.api.utils.ApiTest import no.nav.helsearbeidsgiver.utils.json.fromJson @@ -35,7 +36,7 @@ class AktiveOrgnrRouteKtTest : ApiTest() { coEvery { mockRedisConnection.get(any()) } returns ResultJson( success = Mock.GYLDIG_AKTIVE_ORGNR_RESPONSE.parseJson(), - ).toJson(ResultJson.serializer()) + ).toJson() .toString() val requestBody = """ @@ -61,7 +62,7 @@ class AktiveOrgnrRouteKtTest : ApiTest() { coEvery { mockRedisConnection.get(any()) } returns ResultJson( success = resultatUtenArbeidsforhold.toJson(AktiveArbeidsgivere.serializer()), - ).toJson(ResultJson.serializer()) + ).toJson() .toString() val response = post(path, AktiveOrgnrRequest(Fnr.genererGyldig()), AktiveOrgnrRequest.serializer()) diff --git a/api/src/test/kotlin/no/nav/helsearbeidsgiver/inntektsmelding/api/hentforespoersel/HentForespoerselRouteKtTest.kt b/api/src/test/kotlin/no/nav/helsearbeidsgiver/inntektsmelding/api/hentforespoersel/HentForespoerselRouteKtTest.kt index 33e540ffe..088c76e78 100644 --- a/api/src/test/kotlin/no/nav/helsearbeidsgiver/inntektsmelding/api/hentforespoersel/HentForespoerselRouteKtTest.kt +++ b/api/src/test/kotlin/no/nav/helsearbeidsgiver/inntektsmelding/api/hentforespoersel/HentForespoerselRouteKtTest.kt @@ -18,7 +18,7 @@ import no.nav.helsearbeidsgiver.felles.domene.HentForespoerselResultat import no.nav.helsearbeidsgiver.felles.domene.Inntekt import no.nav.helsearbeidsgiver.felles.domene.InntektPerMaaned import no.nav.helsearbeidsgiver.felles.domene.ResultJson -import no.nav.helsearbeidsgiver.felles.domene.TilgangResultat +import no.nav.helsearbeidsgiver.felles.json.toJson import no.nav.helsearbeidsgiver.felles.test.mock.mockForespurtData import no.nav.helsearbeidsgiver.felles.test.mock.mockForespurtDataMedForrigeInntekt import no.nav.helsearbeidsgiver.inntektsmelding.api.RedisPollerTimeoutException @@ -137,9 +137,9 @@ class HentForespoerselRouteKtTest : ApiTest() { fun `skal returnere Forbidden hvis feil i Tilgangsresultet`() = testApi { coEvery { mockRedisConnection.get(any()) } returns - TilgangResultat( - feilmelding = "Noe er riv ruskende galt!", - ).toJson(TilgangResultat.serializer()) + ResultJson( + failure = "Noe er riv ruskende galt!".toJson(), + ).toJson() .toString() val response = post(PATH, Mock.request, HentForespoerselRequest.serializer()) @@ -199,7 +199,7 @@ private object Mock { forespoersel = forespoersel, feil = emptyMap(), ).toJson(HentForespoerselResultat.serializer()), - ).toJson(ResultJson.serializer()) + ).toJson() .toString() val resultatOkMedForrigeInntektJson = @@ -216,7 +216,7 @@ private object Mock { ), feil = emptyMap(), ).toJson(HentForespoerselResultat.serializer()), - ).toJson(ResultJson.serializer()) + ).toJson() .toString() fun responseJson(): String = diff --git a/api/src/test/kotlin/no/nav/helsearbeidsgiver/inntektsmelding/api/hentforespoerselIdListe/HentForespoerselIdListeRouteKtTest.kt b/api/src/test/kotlin/no/nav/helsearbeidsgiver/inntektsmelding/api/hentforespoerselIdListe/HentForespoerselIdListeRouteKtTest.kt index 6a0091ca9..a84acc12c 100644 --- a/api/src/test/kotlin/no/nav/helsearbeidsgiver/inntektsmelding/api/hentforespoerselIdListe/HentForespoerselIdListeRouteKtTest.kt +++ b/api/src/test/kotlin/no/nav/helsearbeidsgiver/inntektsmelding/api/hentforespoerselIdListe/HentForespoerselIdListeRouteKtTest.kt @@ -11,6 +11,7 @@ import kotlinx.serialization.json.JsonElement import kotlinx.serialization.json.JsonObject import no.nav.helsearbeidsgiver.felles.domene.Forespoersel import no.nav.helsearbeidsgiver.felles.domene.ResultJson +import no.nav.helsearbeidsgiver.felles.json.toJson import no.nav.helsearbeidsgiver.felles.test.mock.mockForespoersel import no.nav.helsearbeidsgiver.inntektsmelding.api.RedisPollerTimeoutException import no.nav.helsearbeidsgiver.inntektsmelding.api.Routes @@ -330,14 +331,14 @@ private object Mock { fun successResult(resultat: Map): String = ResultJson( success = resultat.toJson(MapSerializer(UuidSerializer, Forespoersel.serializer())), - ).toJson(ResultJson.serializer()) + ).toJson() .toString() fun failureResult(feilmelding: String): String = ResultJson( failure = feilmelding.toJson(), - ).toJson(ResultJson.serializer()) + ).toJson() .toString() - fun emptyResult(): String = ResultJson().toJson(ResultJson.serializer()).toString() + fun emptyResult(): String = ResultJson().toJson().toString() } diff --git a/api/src/test/kotlin/no/nav/helsearbeidsgiver/inntektsmelding/api/hentselvbestemtim/HentSelvbestemtImRouteKtTest.kt b/api/src/test/kotlin/no/nav/helsearbeidsgiver/inntektsmelding/api/hentselvbestemtim/HentSelvbestemtImRouteKtTest.kt index 9209d643f..a989a770d 100644 --- a/api/src/test/kotlin/no/nav/helsearbeidsgiver/inntektsmelding/api/hentselvbestemtim/HentSelvbestemtImRouteKtTest.kt +++ b/api/src/test/kotlin/no/nav/helsearbeidsgiver/inntektsmelding/api/hentselvbestemtim/HentSelvbestemtImRouteKtTest.kt @@ -31,6 +31,7 @@ import no.nav.helsearbeidsgiver.domene.inntektsmelding.v1.Sykmeldt import no.nav.helsearbeidsgiver.domene.inntektsmelding.v1.Tariffendring import no.nav.helsearbeidsgiver.domene.inntektsmelding.v1.VarigLoennsendring import no.nav.helsearbeidsgiver.felles.domene.ResultJson +import no.nav.helsearbeidsgiver.felles.json.toJson import no.nav.helsearbeidsgiver.felles.test.mock.mockInntektsmeldingV1 import no.nav.helsearbeidsgiver.inntektsmelding.api.RedisPollerTimeoutException import no.nav.helsearbeidsgiver.inntektsmelding.api.Routes @@ -228,16 +229,16 @@ private object Mock { fun successResult(inntektsmelding: Inntektsmelding): String = ResultJson( success = inntektsmelding.toJson(Inntektsmelding.serializer()), - ).toJson(ResultJson.serializer()) + ).toJson() .toString() fun failureResult(feilmelding: String): String = ResultJson( failure = feilmelding.toJson(), - ).toJson(ResultJson.serializer()) + ).toJson() .toString() - fun emptyResult(): String = ResultJson().toJson(ResultJson.serializer()).toString() + fun emptyResult(): String = ResultJson().toJson().toString() } private fun Inntektsmelding.hardcodedJson(): String = diff --git a/api/src/test/kotlin/no/nav/helsearbeidsgiver/inntektsmelding/api/innsending/InnsendingRouteKtTest.kt b/api/src/test/kotlin/no/nav/helsearbeidsgiver/inntektsmelding/api/innsending/InnsendingRouteKtTest.kt index 4e3c6ea63..6e56d865d 100644 --- a/api/src/test/kotlin/no/nav/helsearbeidsgiver/inntektsmelding/api/innsending/InnsendingRouteKtTest.kt +++ b/api/src/test/kotlin/no/nav/helsearbeidsgiver/inntektsmelding/api/innsending/InnsendingRouteKtTest.kt @@ -7,6 +7,7 @@ import io.mockk.coEvery import kotlinx.serialization.builtins.serializer import no.nav.helsearbeidsgiver.domene.inntektsmelding.v1.skjema.SkjemaInntektsmelding import no.nav.helsearbeidsgiver.felles.domene.ResultJson +import no.nav.helsearbeidsgiver.felles.json.toJson import no.nav.helsearbeidsgiver.felles.test.mock.mockSkjemaInntektsmelding import no.nav.helsearbeidsgiver.inntektsmelding.api.RedisPollerTimeoutException import no.nav.helsearbeidsgiver.inntektsmelding.api.Routes @@ -39,7 +40,7 @@ class InnsendingRouteKtTest : ApiTest() { harTilgangResultat, ResultJson( success = skjema.forespoerselId.toJson(), - ).toJson(ResultJson.serializer()) + ).toJson() .toString(), ) @@ -59,7 +60,7 @@ class InnsendingRouteKtTest : ApiTest() { harTilgangResultat, ResultJson( success = delvisSkjema.forespoerselId.toJson(), - ).toJson(ResultJson.serializer()) + ).toJson() .toString(), ) diff --git a/api/src/test/kotlin/no/nav/helsearbeidsgiver/inntektsmelding/api/inntektselvbestemt/InntektSelvbestemtRouteKtTest.kt b/api/src/test/kotlin/no/nav/helsearbeidsgiver/inntektsmelding/api/inntektselvbestemt/InntektSelvbestemtRouteKtTest.kt index 4e180101b..29009447c 100644 --- a/api/src/test/kotlin/no/nav/helsearbeidsgiver/inntektsmelding/api/inntektselvbestemt/InntektSelvbestemtRouteKtTest.kt +++ b/api/src/test/kotlin/no/nav/helsearbeidsgiver/inntektsmelding/api/inntektselvbestemt/InntektSelvbestemtRouteKtTest.kt @@ -10,6 +10,7 @@ import no.nav.helsearbeidsgiver.felles.Tekst import no.nav.helsearbeidsgiver.felles.domene.Inntekt import no.nav.helsearbeidsgiver.felles.domene.InntektPerMaaned import no.nav.helsearbeidsgiver.felles.domene.ResultJson +import no.nav.helsearbeidsgiver.felles.json.toJson import no.nav.helsearbeidsgiver.inntektsmelding.api.RedisPollerTimeoutException import no.nav.helsearbeidsgiver.inntektsmelding.api.Routes import no.nav.helsearbeidsgiver.inntektsmelding.api.response.RedisTimeoutResponse @@ -167,16 +168,16 @@ private object Mock { fun successResult(inntekt: Inntekt): String = ResultJson( success = inntekt.toJson(Inntekt.serializer()), - ).toJson(ResultJson.serializer()) + ).toJson() .toString() fun failureResult(feilmelding: String): String = ResultJson( failure = feilmelding.toJson(), - ).toJson(ResultJson.serializer()) + ).toJson() .toString() - fun emptyResult(): String = ResultJson().toJson(ResultJson.serializer()).toString() + fun emptyResult(): String = ResultJson().toJson().toString() } private fun Inntekt.hardcodedJson(): String = diff --git a/api/src/test/kotlin/no/nav/helsearbeidsgiver/inntektsmelding/api/kvittering/KvitteringRouteKtTest.kt b/api/src/test/kotlin/no/nav/helsearbeidsgiver/inntektsmelding/api/kvittering/KvitteringRouteKtTest.kt index 3fa8801de..235aaf224 100644 --- a/api/src/test/kotlin/no/nav/helsearbeidsgiver/inntektsmelding/api/kvittering/KvitteringRouteKtTest.kt +++ b/api/src/test/kotlin/no/nav/helsearbeidsgiver/inntektsmelding/api/kvittering/KvitteringRouteKtTest.kt @@ -3,6 +3,7 @@ package no.nav.helsearbeidsgiver.inntektsmelding.api.kvittering import io.ktor.http.HttpStatusCode import io.mockk.coEvery import no.nav.helsearbeidsgiver.felles.domene.ResultJson +import no.nav.helsearbeidsgiver.felles.json.toJson import no.nav.helsearbeidsgiver.inntektsmelding.api.Routes import no.nav.helsearbeidsgiver.inntektsmelding.api.utils.ApiTest import no.nav.helsearbeidsgiver.inntektsmelding.api.utils.harTilgangResultat @@ -38,7 +39,7 @@ class KvitteringRouteKtTest : ApiTest() { harTilgangResultat, ResultJson( success = resultatMedInntektsmelding.parseJson(), - ).toJson(ResultJson.serializer()) + ).toJson() .toString(), ) diff --git a/api/src/test/kotlin/no/nav/helsearbeidsgiver/inntektsmelding/api/lagreselvbestemtim/LagreSelvbestemtImRouteKtTest.kt b/api/src/test/kotlin/no/nav/helsearbeidsgiver/inntektsmelding/api/lagreselvbestemtim/LagreSelvbestemtImRouteKtTest.kt index 9d0a584cc..a22cad3b5 100644 --- a/api/src/test/kotlin/no/nav/helsearbeidsgiver/inntektsmelding/api/lagreselvbestemtim/LagreSelvbestemtImRouteKtTest.kt +++ b/api/src/test/kotlin/no/nav/helsearbeidsgiver/inntektsmelding/api/lagreselvbestemtim/LagreSelvbestemtImRouteKtTest.kt @@ -9,6 +9,7 @@ import kotlinx.serialization.builtins.serializer import kotlinx.serialization.json.JsonElement import no.nav.helsearbeidsgiver.domene.inntektsmelding.v1.skjema.SkjemaInntektsmeldingSelvbestemt import no.nav.helsearbeidsgiver.felles.domene.ResultJson +import no.nav.helsearbeidsgiver.felles.json.toJson import no.nav.helsearbeidsgiver.felles.test.mock.mockSkjemaInntektsmeldingSelvbestemt import no.nav.helsearbeidsgiver.felles.test.mock.randomDigitString import no.nav.helsearbeidsgiver.inntektsmelding.api.RedisPollerTimeoutException @@ -283,14 +284,14 @@ private object Mock { fun successResult(selvbestemtId: UUID): String = ResultJson( success = selvbestemtId.toJson(), - ).toJson(ResultJson.serializer()) + ).toJson() .toString() fun failureResult(feilmelding: String): String = ResultJson( failure = feilmelding.toJson(String.serializer()), - ).toJson(ResultJson.serializer()) + ).toJson() .toString() - fun emptyResult(): String = ResultJson().toJson(ResultJson.serializer()).toString() + fun emptyResult(): String = ResultJson().toJson().toString() } diff --git a/api/src/test/kotlin/no/nav/helsearbeidsgiver/inntektsmelding/api/utils/TestUtils.kt b/api/src/test/kotlin/no/nav/helsearbeidsgiver/inntektsmelding/api/utils/TestUtils.kt index a2274c504..ffebdeba7 100644 --- a/api/src/test/kotlin/no/nav/helsearbeidsgiver/inntektsmelding/api/utils/TestUtils.kt +++ b/api/src/test/kotlin/no/nav/helsearbeidsgiver/inntektsmelding/api/utils/TestUtils.kt @@ -15,15 +15,23 @@ import io.ktor.server.testing.testApplication import io.mockk.mockk import kotlinx.coroutines.runBlocking import kotlinx.serialization.KSerializer +import no.nav.helsearbeidsgiver.felles.domene.ResultJson import no.nav.helsearbeidsgiver.felles.domene.Tilgang -import no.nav.helsearbeidsgiver.felles.domene.TilgangResultat +import no.nav.helsearbeidsgiver.felles.json.toJson import no.nav.helsearbeidsgiver.felles.rapidsrivers.redis.RedisConnection import no.nav.helsearbeidsgiver.inntektsmelding.api.apiModule import no.nav.helsearbeidsgiver.utils.json.jsonConfig import no.nav.helsearbeidsgiver.utils.json.toJson -val harTilgangResultat = TilgangResultat(Tilgang.HAR_TILGANG).toJson(TilgangResultat.serializer()).toString() -val ikkeTilgangResultat = TilgangResultat(Tilgang.IKKE_TILGANG).toJson(TilgangResultat.serializer()).toString() +val harTilgangResultat = + ResultJson( + success = Tilgang.HAR_TILGANG.toJson(Tilgang.serializer()), + ).toJson().toString() + +val ikkeTilgangResultat = + ResultJson( + success = Tilgang.IKKE_TILGANG.toJson(Tilgang.serializer()), + ).toJson().toString() abstract class ApiTest : MockAuthToken() { val mockRedisConnection = mockk() diff --git a/db/src/main/kotlin/no/nav/helsearbeidsgiver/inntektsmelding/db/river/HentLagretImRiver.kt b/db/src/main/kotlin/no/nav/helsearbeidsgiver/inntektsmelding/db/river/HentLagretImRiver.kt index f922f11f6..8f83ac679 100644 --- a/db/src/main/kotlin/no/nav/helsearbeidsgiver/inntektsmelding/db/river/HentLagretImRiver.kt +++ b/db/src/main/kotlin/no/nav/helsearbeidsgiver/inntektsmelding/db/river/HentLagretImRiver.kt @@ -65,8 +65,8 @@ class HentLagretImRiver( data .plus( mapOf( - Key.LAGRET_INNTEKTSMELDING to inntektsmelding.toJson(ResultJson.serializer()), - Key.EKSTERN_INNTEKTSMELDING to eksternInntektsmelding.toJson(ResultJson.serializer()), + Key.LAGRET_INNTEKTSMELDING to inntektsmelding.toJson(), + Key.EKSTERN_INNTEKTSMELDING to eksternInntektsmelding.toJson(), ), ).toJson(), ) diff --git a/db/src/test/kotlin/no/nav/helsearbeidsgiver/inntektsmelding/db/river/HentLagretImRiverTest.kt b/db/src/test/kotlin/no/nav/helsearbeidsgiver/inntektsmelding/db/river/HentLagretImRiverTest.kt index f1f550c37..dc30df229 100644 --- a/db/src/test/kotlin/no/nav/helsearbeidsgiver/inntektsmelding/db/river/HentLagretImRiverTest.kt +++ b/db/src/test/kotlin/no/nav/helsearbeidsgiver/inntektsmelding/db/river/HentLagretImRiverTest.kt @@ -167,7 +167,7 @@ private object MockHentIm { Key.DATA to data.toJson(), ) - fun tomResultJson(): JsonElement = ResultJson().toJson(ResultJson.serializer()) + fun tomResultJson(): JsonElement = ResultJson().toJson() val fail = Fail( @@ -179,4 +179,4 @@ private object MockHentIm { ) } -private fun JsonElement.toSuccessJson(): JsonElement = ResultJson(success = this).toJson(ResultJson.serializer()) +private fun JsonElement.toSuccessJson(): JsonElement = ResultJson(success = this).toJson() diff --git a/felles/src/main/kotlin/no/nav/helsearbeidsgiver/felles/domene/Resultat.kt b/felles/src/main/kotlin/no/nav/helsearbeidsgiver/felles/domene/HentForespoerselResultat.kt similarity index 81% rename from felles/src/main/kotlin/no/nav/helsearbeidsgiver/felles/domene/Resultat.kt rename to felles/src/main/kotlin/no/nav/helsearbeidsgiver/felles/domene/HentForespoerselResultat.kt index 0aa457d1e..ceadd9ace 100644 --- a/felles/src/main/kotlin/no/nav/helsearbeidsgiver/felles/domene/Resultat.kt +++ b/felles/src/main/kotlin/no/nav/helsearbeidsgiver/felles/domene/HentForespoerselResultat.kt @@ -8,13 +8,6 @@ import no.nav.helsearbeidsgiver.felles.Key import no.nav.helsearbeidsgiver.utils.json.serializer.LocalDateSerializer import no.nav.helsearbeidsgiver.utils.json.serializer.UuidSerializer -// TODO erstatt med ResultJson -@Serializable -data class TilgangResultat( - val tilgang: Tilgang? = null, - val feilmelding: String? = null, -) - @Serializable data class HentForespoerselResultat( val sykmeldtNavn: String, diff --git a/felles/src/main/kotlin/no/nav/helsearbeidsgiver/felles/json/KotlinxUtils.kt b/felles/src/main/kotlin/no/nav/helsearbeidsgiver/felles/json/KotlinxUtils.kt index c185d0905..7db3060d0 100644 --- a/felles/src/main/kotlin/no/nav/helsearbeidsgiver/felles/json/KotlinxUtils.kt +++ b/felles/src/main/kotlin/no/nav/helsearbeidsgiver/felles/json/KotlinxUtils.kt @@ -10,6 +10,7 @@ import no.nav.helsearbeidsgiver.felles.EventName import no.nav.helsearbeidsgiver.felles.IKey import no.nav.helsearbeidsgiver.felles.Key import no.nav.helsearbeidsgiver.felles.domene.Person +import no.nav.helsearbeidsgiver.felles.domene.ResultJson import no.nav.helsearbeidsgiver.utils.json.fromJson import no.nav.helsearbeidsgiver.utils.json.fromJsonMapFiltered import no.nav.helsearbeidsgiver.utils.json.serializer.set @@ -38,6 +39,8 @@ fun Fnr.toJson(): JsonElement = toJson(Fnr.serializer()) fun Orgnr.toJson(): JsonElement = toJson(Orgnr.serializer()) +fun ResultJson.toJson(): JsonElement = toJson(ResultJson.serializer()) + fun Set.toJson(elementSerializer: KSerializer): JsonElement = toJson( elementSerializer.set(), diff --git a/felles/src/main/kotlin/no/nav/helsearbeidsgiver/felles/rapidsrivers/redis/RedisStore.kt b/felles/src/main/kotlin/no/nav/helsearbeidsgiver/felles/rapidsrivers/redis/RedisStore.kt index 770dd39e6..7352de75a 100644 --- a/felles/src/main/kotlin/no/nav/helsearbeidsgiver/felles/rapidsrivers/redis/RedisStore.kt +++ b/felles/src/main/kotlin/no/nav/helsearbeidsgiver/felles/rapidsrivers/redis/RedisStore.kt @@ -3,6 +3,8 @@ package no.nav.helsearbeidsgiver.felles.rapidsrivers.redis import kotlinx.serialization.builtins.serializer import kotlinx.serialization.json.JsonElement import no.nav.helsearbeidsgiver.felles.Key +import no.nav.helsearbeidsgiver.felles.domene.ResultJson +import no.nav.helsearbeidsgiver.felles.json.toJson import no.nav.helsearbeidsgiver.utils.collection.mapKeysNotNull import no.nav.helsearbeidsgiver.utils.collection.mapValuesNotNull import no.nav.helsearbeidsgiver.utils.json.fromJson @@ -17,16 +19,16 @@ private const val KEY_PART_SEPARATOR = "#" private const val KEY_FEIL_POSTFIX = "feil" class RedisStore( -// class RedisStore( private val redis: RedisConnection, private val keyPrefix: RedisPrefix, -// private val successSerializer: KSerializer, -// private val failureSerializer: KSerializer, ) { private val logger = logger() private val sikkerLogger = sikkerLogger() - fun lesResultat(transaksjonId: UUID): JsonElement? = resultatKey(transaksjonId).les() + fun lesResultat(transaksjonId: UUID): ResultJson? = + resultatKey(transaksjonId) + .les() + ?.fromJson(ResultJson.serializer()) fun lesAlleMellomlagrede(transaksjonId: UUID): Map { val prefix = listOf(keyPrefix.name, transaksjonId.toString()).joinKeySeparator(withPostfix = true) @@ -50,9 +52,9 @@ class RedisStore( fun skrivResultat( transaksjonId: UUID, - value: JsonElement, + value: ResultJson, ) { - resultatKey(transaksjonId).skriv(value) + resultatKey(transaksjonId).skriv(value.toJson()) } fun skrivMellomlagring( diff --git a/felles/src/test/kotlin/no/nav/helsearbeidsgiver/felles/rapidsrivers/redis/RedisStoreTest.kt b/felles/src/test/kotlin/no/nav/helsearbeidsgiver/felles/rapidsrivers/redis/RedisStoreTest.kt index 71586d8fe..a957026b1 100644 --- a/felles/src/test/kotlin/no/nav/helsearbeidsgiver/felles/rapidsrivers/redis/RedisStoreTest.kt +++ b/felles/src/test/kotlin/no/nav/helsearbeidsgiver/felles/rapidsrivers/redis/RedisStoreTest.kt @@ -1,14 +1,15 @@ package no.nav.helsearbeidsgiver.felles.rapidsrivers.redis +import io.kotest.assertions.throwables.shouldThrow import io.kotest.core.spec.style.FunSpec import io.kotest.matchers.maps.shouldBeEmpty import io.kotest.matchers.maps.shouldContainExactly import io.kotest.matchers.nulls.shouldBeNull import io.kotest.matchers.shouldBe -import kotlinx.serialization.builtins.serializer +import kotlinx.serialization.SerializationException import no.nav.helsearbeidsgiver.felles.Key +import no.nav.helsearbeidsgiver.felles.domene.ResultJson import no.nav.helsearbeidsgiver.felles.test.mock.redisWithMockRedisClient -import no.nav.helsearbeidsgiver.utils.json.fromJson import no.nav.helsearbeidsgiver.utils.json.toJson import java.util.UUID @@ -16,7 +17,7 @@ class RedisStoreTest : FunSpec({ context(RedisStore::lesAlleMellomlagrede.name) { - test("leser OK") { + test("leser mellomlagrede OK") { val keyPrefix = RedisPrefix.Kvittering val transaksjonId = UUID.randomUUID() @@ -101,28 +102,51 @@ class RedisStoreTest : } } - test(RedisStore::lesResultat.name) { - val keyPrefix = RedisPrefix.HentForespoersel - val transaksjonId = UUID.randomUUID() + context(RedisStore::lesResultat.name) { + test("leser resultat OK") { + val keyPrefix = RedisPrefix.HentForespoersel + val transaksjonId = UUID.randomUUID() - val redisStore = - RedisStore( - redis = - redisWithMockRedisClient( - mockStorageInit = - mapOf( - "$transaksjonId" to "\"banan\"", - "$keyPrefix#$transaksjonId" to "\"mango\"", - "$keyPrefix#$transaksjonId#${Key.FNR}" to "\"ananas\"", - "$keyPrefix#$transaksjonId#${Key.SAK_ID}#feil" to "\"papaya\"", - ), - ), - keyPrefix = keyPrefix, - ) + val redisStore = + RedisStore( + redis = + redisWithMockRedisClient( + mockStorageInit = + mapOf( + "$transaksjonId" to "\"banan\"", + "$keyPrefix#$transaksjonId" to "{\"success\":\"mango\"}", + "$keyPrefix#$transaksjonId#${Key.FNR}" to "\"ananas\"", + "$keyPrefix#$transaksjonId#${Key.SAK_ID}#feil" to "\"papaya\"", + ), + ), + keyPrefix = keyPrefix, + ) - redisStore.lesResultat(UUID.randomUUID()).shouldBeNull() + redisStore.lesResultat(UUID.randomUUID()).shouldBeNull() + + redisStore.lesResultat(transaksjonId)?.success to "mango" + } + + test("feiler ved ugyldig type") { + val keyPrefix = RedisPrefix.HentForespoersel + val transaksjonId = UUID.randomUUID() + + val redisStore = + RedisStore( + redis = + redisWithMockRedisClient( + mockStorageInit = + mapOf( + "$keyPrefix#$transaksjonId" to "\"mango\"", + ), + ), + keyPrefix = keyPrefix, + ) - redisStore.lesResultat(transaksjonId)?.fromJson(String.serializer()) to "mango" + shouldThrow { + redisStore.lesResultat(transaksjonId)?.success to "mango" + } + } } test(RedisStore::lesAlleFeil.name) { @@ -165,7 +189,7 @@ class RedisStoreTest : redisWithMockRedisClient( mockStorageInit = mapOf( - "$keyPrefix#$transaksjonId" to "\"rabarbra\"", + "$keyPrefix#$transaksjonId" to "{\"success\":\"rabarbra\"}", "$keyPrefix#$transaksjonId#${Key.SAK_ID}#feil" to "\"dragefrukt\"", ), ), @@ -203,7 +227,7 @@ class RedisStoreTest : redisStore.lesAlleMellomlagrede(UUID.randomUUID()).shouldBeEmpty() // Har ikke blitt overskrevet - redisStore.lesResultat(transaksjonId)?.fromJson(String.serializer()) shouldBe "rabarbra" + redisStore.lesResultat(transaksjonId)?.success shouldBe "rabarbra".toJson() redisStore.lesAlleFeil(transaksjonId) shouldContainExactly mapOf(Key.SAK_ID to "dragefrukt") } @@ -220,7 +244,7 @@ class RedisStoreTest : mapOf( "$keyPrefix#$transaksjonId1#${Key.FNR}" to "\"durian\"", "$keyPrefix#$transaksjonId1#${Key.SAK_ID}#feil" to "\"dragefrukt\"", - "$keyPrefix#$transaksjonId2" to "\"rambutan\"", + "$keyPrefix#$transaksjonId2" to "{\"failure\":\"rambutan\"}", ), ), keyPrefix = keyPrefix, @@ -228,24 +252,31 @@ class RedisStoreTest : redisStore.lesResultat(UUID.randomUUID()).shouldBeNull() redisStore.lesResultat(transaksjonId1).shouldBeNull() - redisStore.lesResultat(transaksjonId2)?.fromJson(String.serializer()) shouldBe "rambutan" + redisStore.lesResultat(transaksjonId2)?.failure shouldBe "rambutan".toJson() + redisStore.lesResultat(transaksjonId2)?.success.shouldBeNull() - redisStore.skrivResultat(transaksjonId1, "rabarbra".toJson()) + redisStore.skrivResultat(transaksjonId1, ResultJson(success = "rabarbra".toJson())) redisStore.lesResultat(UUID.randomUUID()).shouldBeNull() - redisStore.lesResultat(transaksjonId1)?.fromJson(String.serializer()) shouldBe "rabarbra" + redisStore.lesResultat(transaksjonId1)?.failure.shouldBeNull() + redisStore.lesResultat(transaksjonId1)?.success shouldBe "rabarbra".toJson() + + redisStore.skrivResultat(transaksjonId1, ResultJson(success = "en kolossal rabarbra".toJson())) + + redisStore.lesResultat(transaksjonId1)?.failure.shouldBeNull() + redisStore.lesResultat(transaksjonId1)?.success shouldBe "en kolossal rabarbra".toJson() - redisStore.skrivResultat(transaksjonId1, "en kolossal rabarbra".toJson()) + redisStore.skrivResultat(transaksjonId1, ResultJson(failure = "en megaloman rabarbra".toJson())) - redisStore.lesResultat(transaksjonId1)?.fromJson(String.serializer()) shouldBe "en kolossal rabarbra" + redisStore.lesResultat(transaksjonId1)?.failure shouldBe "en megaloman rabarbra".toJson() + redisStore.lesResultat(transaksjonId1)?.success.shouldBeNull() // Har ikke blitt overskrevet redisStore.lesAlleFeil(transaksjonId1) shouldContainExactly mapOf(Key.SAK_ID to "dragefrukt") redisStore.lesAlleMellomlagrede(transaksjonId1) shouldContainExactly mapOf(Key.FNR to "durian".toJson()) - redisStore.lesResultat(transaksjonId2)?.fromJson(String.serializer()) shouldBe "rambutan" + redisStore.lesResultat(transaksjonId2)?.failure shouldBe "rambutan".toJson() } - // TODO test mer test(RedisStore::skrivFeil.name) { val keyPrefix = RedisPrefix.InntektSelvbestemt val transaksjonId = UUID.randomUUID() @@ -256,7 +287,7 @@ class RedisStoreTest : redisWithMockRedisClient( mockStorageInit = mapOf( - "$keyPrefix#$transaksjonId" to "\"rabarbra\"", + "$keyPrefix#$transaksjonId" to "{\"success\":\"rabarbra\"}", "$keyPrefix#$transaksjonId#${Key.FNR}" to "\"durian\"", ), ), @@ -291,7 +322,7 @@ class RedisStoreTest : redisStore.lesAlleFeil(UUID.randomUUID()).shouldBeEmpty() // Har ikke blitt overskrevet - redisStore.lesResultat(transaksjonId)?.fromJson(String.serializer()) shouldBe "rabarbra" + redisStore.lesResultat(transaksjonId)?.success shouldBe "rabarbra".toJson() redisStore.lesAlleMellomlagrede(transaksjonId) shouldContainExactly mapOf(Key.FNR to "durian".toJson()) } }) diff --git a/innsending/src/main/kotlin/no/nav/helsearbeidsgiver/inntektsmelding/innsending/InnsendingService.kt b/innsending/src/main/kotlin/no/nav/helsearbeidsgiver/inntektsmelding/innsending/InnsendingService.kt index 1230c5cc6..13b8fd509 100644 --- a/innsending/src/main/kotlin/no/nav/helsearbeidsgiver/inntektsmelding/innsending/InnsendingService.kt +++ b/innsending/src/main/kotlin/no/nav/helsearbeidsgiver/inntektsmelding/innsending/InnsendingService.kt @@ -78,7 +78,7 @@ class InnsendingService( val resultJson = ResultJson( success = steg0.skjema.forespoerselId.toJson(), - ).toJson(ResultJson.serializer()) + ) redisStore.skrivResultat(steg0.transaksjonId, resultJson) @@ -131,6 +131,6 @@ class InnsendingService( ) { val resultJson = ResultJson(failure = fail.feilmelding.toJson()) - redisStore.skrivResultat(fail.transaksjonId, resultJson.toJson(ResultJson.serializer())) + redisStore.skrivResultat(fail.transaksjonId, resultJson) } } diff --git a/innsending/src/main/kotlin/no/nav/helsearbeidsgiver/inntektsmelding/innsending/KvitteringService.kt b/innsending/src/main/kotlin/no/nav/helsearbeidsgiver/inntektsmelding/innsending/KvitteringService.kt index 0fa720595..3309da808 100644 --- a/innsending/src/main/kotlin/no/nav/helsearbeidsgiver/inntektsmelding/innsending/KvitteringService.kt +++ b/innsending/src/main/kotlin/no/nav/helsearbeidsgiver/inntektsmelding/innsending/KvitteringService.kt @@ -99,7 +99,7 @@ class KvitteringService( ResultJson( success = InnsendtInntektsmelding(steg1.inntektsmeldingDokument, steg1.eksternInntektsmelding).toJson(InnsendtInntektsmelding.serializer()), - ).toJson(ResultJson.serializer()) + ) redisStore.skrivResultat(steg0.transaksjonId, resultJson) } @@ -118,10 +118,7 @@ class KvitteringService( sikkerLogger.warn(it) } - val resultJson = - ResultJson( - failure = fail.feilmelding.toJson(), - ).toJson(ResultJson.serializer()) + val resultJson = ResultJson(failure = fail.feilmelding.toJson()) redisStore.skrivResultat(fail.transaksjonId, resultJson) } diff --git a/innsending/src/test/kotlin/no.nav.helsearbeidsgiver.inntektsmelding.innsending/InnsendingServiceTest.kt b/innsending/src/test/kotlin/no.nav.helsearbeidsgiver.inntektsmelding.innsending/InnsendingServiceTest.kt index dc534a446..655544478 100644 --- a/innsending/src/test/kotlin/no.nav.helsearbeidsgiver.inntektsmelding.innsending/InnsendingServiceTest.kt +++ b/innsending/src/test/kotlin/no.nav.helsearbeidsgiver.inntektsmelding.innsending/InnsendingServiceTest.kt @@ -102,7 +102,7 @@ class InnsendingServiceTest : transaksjonId, ResultJson( success = nyttSkjema.forespoerselId.toJson(), - ).toJson(ResultJson.serializer()), + ), ) } } @@ -128,7 +128,7 @@ class InnsendingServiceTest : transaksjonId, ResultJson( success = Mock.skjema.forespoerselId.toJson(), - ).toJson(ResultJson.serializer()), + ), ) } } @@ -177,7 +177,7 @@ class InnsendingServiceTest : transaksjonId, ResultJson( failure = feilmelding.toJson(), - ).toJson(ResultJson.serializer()), + ), ) } } diff --git a/innsending/src/test/kotlin/no.nav.helsearbeidsgiver.inntektsmelding.innsending/KvitteringServiceTest.kt b/innsending/src/test/kotlin/no.nav.helsearbeidsgiver.inntektsmelding.innsending/KvitteringServiceTest.kt index c27b5dc18..f5faed6f0 100644 --- a/innsending/src/test/kotlin/no.nav.helsearbeidsgiver.inntektsmelding.innsending/KvitteringServiceTest.kt +++ b/innsending/src/test/kotlin/no.nav.helsearbeidsgiver.inntektsmelding.innsending/KvitteringServiceTest.kt @@ -122,27 +122,27 @@ private object MockKvittering { ResultJson( success = inntektsmelding?.toJson(Inntektsmelding.serializer()), - ).toJson(ResultJson.serializer()), + ).toJson(), Key.EKSTERN_INNTEKTSMELDING to ResultJson( success = eksternInntektsmelding?.toJson(EksternInntektsmelding.serializer()), - ).toJson(ResultJson.serializer()), + ).toJson(), ).toJson(), ) fun successResult( inntektsmelding: Inntektsmelding?, eksternInntektsmelding: EksternInntektsmelding?, - ): JsonElement = + ): ResultJson = ResultJson( success = InnsendtInntektsmelding(inntektsmelding, eksternInntektsmelding).toJson(InnsendtInntektsmelding.serializer()), - ).toJson(ResultJson.serializer()) + ) - fun failureResult(): JsonElement = + fun failureResult(): ResultJson = ResultJson( failure = fail.feilmelding.toJson(), - ).toJson(ResultJson.serializer()) + ) val fail = Fail( diff --git a/inntekt-selvbestemt-service/src/main/kotlin/no/nav/helsearbeidsgiver/inntektsmelding/inntektselvbestemtservice/InntektSelvbestemtService.kt b/inntekt-selvbestemt-service/src/main/kotlin/no/nav/helsearbeidsgiver/inntektsmelding/inntektselvbestemtservice/InntektSelvbestemtService.kt index 8f7bd6b74..908e0c785 100644 --- a/inntekt-selvbestemt-service/src/main/kotlin/no/nav/helsearbeidsgiver/inntektsmelding/inntektselvbestemtservice/InntektSelvbestemtService.kt +++ b/inntekt-selvbestemt-service/src/main/kotlin/no/nav/helsearbeidsgiver/inntektsmelding/inntektselvbestemtservice/InntektSelvbestemtService.kt @@ -98,7 +98,7 @@ class InntektSelvbestemtService( val resultJson = ResultJson( success = steg1.inntekt.toJson(Inntekt.serializer()), - ).toJson(ResultJson.serializer()) + ) redisStore.skrivResultat(steg0.transaksjonId, resultJson) @@ -115,10 +115,7 @@ class InntektSelvbestemtService( Log.transaksjonId(fail.transaksjonId), ) { val feilmelding = Tekst.TEKNISK_FEIL_FORBIGAAENDE - val resultJson = - ResultJson( - failure = feilmelding.toJson(), - ).toJson(ResultJson.serializer()) + val resultJson = ResultJson(failure = feilmelding.toJson()) "Returnerer feilmelding: '$feilmelding'".also { logger.error(it) diff --git a/inntekt-selvbestemt-service/src/test/kotlin/no/nav/helsearbeidsgiver/inntektsmelding/inntektselvbestemtservice/InntektSelvbestemtServiceTest.kt b/inntekt-selvbestemt-service/src/test/kotlin/no/nav/helsearbeidsgiver/inntektsmelding/inntektselvbestemtservice/InntektSelvbestemtServiceTest.kt index d3b66c74f..a7a5baf4e 100644 --- a/inntekt-selvbestemt-service/src/test/kotlin/no/nav/helsearbeidsgiver/inntektsmelding/inntektselvbestemtservice/InntektSelvbestemtServiceTest.kt +++ b/inntekt-selvbestemt-service/src/test/kotlin/no/nav/helsearbeidsgiver/inntektsmelding/inntektselvbestemtservice/InntektSelvbestemtServiceTest.kt @@ -66,7 +66,7 @@ class InntektSelvbestemtServiceTest : transaksjonId, ResultJson( success = Mock.inntekt.toJson(Inntekt.serializer()), - ).toJson(ResultJson.serializer()), + ), ) } } @@ -102,7 +102,7 @@ class InntektSelvbestemtServiceTest : transaksjonId, ResultJson( failure = feilmelding.toJson(), - ).toJson(ResultJson.serializer()), + ), ) } } diff --git a/inntektservice/src/main/kotlin/no/nav/helsearbeidsgiver/inntektsmelding/inntektservice/InntektService.kt b/inntektservice/src/main/kotlin/no/nav/helsearbeidsgiver/inntektsmelding/inntektservice/InntektService.kt index b316c7616..e50e0d613 100644 --- a/inntektservice/src/main/kotlin/no/nav/helsearbeidsgiver/inntektsmelding/inntektservice/InntektService.kt +++ b/inntektservice/src/main/kotlin/no/nav/helsearbeidsgiver/inntektsmelding/inntektservice/InntektService.kt @@ -126,7 +126,7 @@ class InntektService( val resultJson = ResultJson( success = steg2.inntekt.toJson(Inntekt.serializer()), - ).toJson(ResultJson.serializer()) + ) redisStore.skrivResultat(steg0.transaksjonId, resultJson) @@ -138,10 +138,7 @@ class InntektService( fail: Fail, ) { val feilmelding = Tekst.TEKNISK_FEIL_FORBIGAAENDE - val resultJson = - ResultJson( - failure = feilmelding.toJson(), - ).toJson(ResultJson.serializer()) + val resultJson = ResultJson(failure = feilmelding.toJson()) "Returnerer feilmelding: '$feilmelding'".also { logger.error(it) diff --git a/inntektservice/src/test/kotlin/no/nav/helsearbeidsgiver/inntektsmelding/inntektservice/InntektServiceTest.kt b/inntektservice/src/test/kotlin/no/nav/helsearbeidsgiver/inntektsmelding/inntektservice/InntektServiceTest.kt index 9dceb1dd5..83b541d90 100644 --- a/inntektservice/src/test/kotlin/no/nav/helsearbeidsgiver/inntektsmelding/inntektservice/InntektServiceTest.kt +++ b/inntektservice/src/test/kotlin/no/nav/helsearbeidsgiver/inntektsmelding/inntektservice/InntektServiceTest.kt @@ -11,7 +11,6 @@ import kotlinx.serialization.json.JsonObject import no.nav.helsearbeidsgiver.felles.BehovType import no.nav.helsearbeidsgiver.felles.EventName import no.nav.helsearbeidsgiver.felles.Key -import no.nav.helsearbeidsgiver.felles.domene.ResultJson import no.nav.helsearbeidsgiver.felles.json.toJson import no.nav.helsearbeidsgiver.felles.rapidsrivers.model.Fail import no.nav.helsearbeidsgiver.felles.rapidsrivers.redis.RedisPrefix @@ -71,7 +70,6 @@ class InntektServiceTest { withArg { runCatching { it - .fromJson(ResultJson.serializer()) .failure ?.fromJson(String.serializer()) }.shouldBeSuccess() diff --git a/integrasjonstest/src/test/kotlin/no/nav/helsearbeidsgiver/inntektsmelding/integrasjonstest/AktiveOrgnrServiceIT.kt b/integrasjonstest/src/test/kotlin/no/nav/helsearbeidsgiver/inntektsmelding/integrasjonstest/AktiveOrgnrServiceIT.kt index 7a6b1d630..824dcb112 100644 --- a/integrasjonstest/src/test/kotlin/no/nav/helsearbeidsgiver/inntektsmelding/integrasjonstest/AktiveOrgnrServiceIT.kt +++ b/integrasjonstest/src/test/kotlin/no/nav/helsearbeidsgiver/inntektsmelding/integrasjonstest/AktiveOrgnrServiceIT.kt @@ -283,7 +283,7 @@ class AktiveOrgnrServiceIT : EndToEndTest() { avsenderNavn = "Max Mekker", underenheter = emptyList(), ).toJson(AktiveArbeidsgivere.serializer()), - ).toJson(ResultJson.serializer()) + ).toJson() val fnr = Fnr.genererGyldig() val fnrAg = Fnr.genererGyldig() diff --git a/integrasjonstest/src/test/kotlin/no/nav/helsearbeidsgiver/inntektsmelding/integrasjonstest/KvitteringIT.kt b/integrasjonstest/src/test/kotlin/no/nav/helsearbeidsgiver/inntektsmelding/integrasjonstest/KvitteringIT.kt index 85e62c67e..6cc74f803 100644 --- a/integrasjonstest/src/test/kotlin/no/nav/helsearbeidsgiver/inntektsmelding/integrasjonstest/KvitteringIT.kt +++ b/integrasjonstest/src/test/kotlin/no/nav/helsearbeidsgiver/inntektsmelding/integrasjonstest/KvitteringIT.kt @@ -124,6 +124,6 @@ class KvitteringIT : EndToEndTest() { } private object Mock { - val tomResultJson = ResultJson(success = null).toJson(ResultJson.serializer()) + val tomResultJson = ResultJson(success = null).toJson() } } diff --git a/selvbestemt-hent-im-service/src/main/kotlin/no/nav/helsearbeidsgiver/inntektsmelding/selvbestemthentimservice/HentSelvbestemtImService.kt b/selvbestemt-hent-im-service/src/main/kotlin/no/nav/helsearbeidsgiver/inntektsmelding/selvbestemthentimservice/HentSelvbestemtImService.kt index 79fd97f15..53fa79f4b 100644 --- a/selvbestemt-hent-im-service/src/main/kotlin/no/nav/helsearbeidsgiver/inntektsmelding/selvbestemthentimservice/HentSelvbestemtImService.kt +++ b/selvbestemt-hent-im-service/src/main/kotlin/no/nav/helsearbeidsgiver/inntektsmelding/selvbestemthentimservice/HentSelvbestemtImService.kt @@ -85,7 +85,7 @@ class HentSelvbestemtImService( val resultJson = ResultJson( success = steg1.inntektsmelding.toJson(Inntektsmelding.serializer()), - ).toJson(ResultJson.serializer()) + ) redisStore.skrivResultat(steg0.transaksjonId, resultJson) } @@ -94,11 +94,7 @@ class HentSelvbestemtImService( melding: Map, fail: Fail, ) { - val resultJson = - ResultJson( - failure = fail.feilmelding.toJson(), - ).toJson(ResultJson.serializer()) - + val resultJson = ResultJson(failure = fail.feilmelding.toJson()) redisStore.skrivResultat(fail.transaksjonId, resultJson) } diff --git a/selvbestemt-hent-im-service/src/test/kotlin/no/nav/helsearbeidsgiver/inntektsmelding/selvbestemthentimservice/HentSelvbestemtImServiceTest.kt b/selvbestemt-hent-im-service/src/test/kotlin/no/nav/helsearbeidsgiver/inntektsmelding/selvbestemthentimservice/HentSelvbestemtImServiceTest.kt index 7700662d0..bccca1803 100644 --- a/selvbestemt-hent-im-service/src/test/kotlin/no/nav/helsearbeidsgiver/inntektsmelding/selvbestemthentimservice/HentSelvbestemtImServiceTest.kt +++ b/selvbestemt-hent-im-service/src/test/kotlin/no/nav/helsearbeidsgiver/inntektsmelding/selvbestemthentimservice/HentSelvbestemtImServiceTest.kt @@ -61,7 +61,7 @@ class HentSelvbestemtImServiceTest : transaksjonId, ResultJson( success = Mock.inntektsmelding.toJson(Inntektsmelding.serializer()), - ).toJson(ResultJson.serializer()), + ), ) } } @@ -97,7 +97,7 @@ class HentSelvbestemtImServiceTest : transaksjonId, ResultJson( failure = feilmelding.toJson(), - ).toJson(ResultJson.serializer()), + ), ) } } diff --git a/selvbestemt-lagre-im-service/src/main/kotlin/no/nav/helsearbeidsgiver/inntektsmelding/selvbestemtlagreimservice/LagreSelvbestemtImService.kt b/selvbestemt-lagre-im-service/src/main/kotlin/no/nav/helsearbeidsgiver/inntektsmelding/selvbestemtlagreimservice/LagreSelvbestemtImService.kt index d1bcc089b..80ec24fa7 100644 --- a/selvbestemt-lagre-im-service/src/main/kotlin/no/nav/helsearbeidsgiver/inntektsmelding/selvbestemtlagreimservice/LagreSelvbestemtImService.kt +++ b/selvbestemt-lagre-im-service/src/main/kotlin/no/nav/helsearbeidsgiver/inntektsmelding/selvbestemtlagreimservice/LagreSelvbestemtImService.kt @@ -213,7 +213,7 @@ class LagreSelvbestemtImService( "Mangler arbeidsforhold i perioden".also { feilmelding -> logger.warn(feilmelding) sikkerLogger.warn(feilmelding) - val resultJson = ResultJson(failure = feilmelding.toJson()).toJson(ResultJson.serializer()) + val resultJson = ResultJson(failure = feilmelding.toJson()) redisStore.skrivResultat(steg0.transaksjonId, resultJson) } } @@ -264,7 +264,7 @@ class LagreSelvbestemtImService( success = steg2.inntektsmelding.type.id .toJson(), - ).toJson(ResultJson.serializer()) + ) redisStore.skrivResultat(steg0.transaksjonId, resultJson) if (!steg2.erDuplikat) { @@ -315,7 +315,7 @@ class LagreSelvbestemtImService( onData(meldingMedDefault) } else { - val resultJson = ResultJson(failure = fail.feilmelding.toJson()).toJson(ResultJson.serializer()) + val resultJson = ResultJson(failure = fail.feilmelding.toJson()) redisStore.skrivResultat(fail.transaksjonId, resultJson) } } diff --git a/selvbestemt-lagre-im-service/src/test/kotlin/no/nav/helsearbeidsgiver/inntektsmelding/selvbestemtlagreimservice/LagreSelvbestemtImServiceTest.kt b/selvbestemt-lagre-im-service/src/test/kotlin/no/nav/helsearbeidsgiver/inntektsmelding/selvbestemtlagreimservice/LagreSelvbestemtImServiceTest.kt index f50610b4e..6ee04db9f 100644 --- a/selvbestemt-lagre-im-service/src/test/kotlin/no/nav/helsearbeidsgiver/inntektsmelding/selvbestemtlagreimservice/LagreSelvbestemtImServiceTest.kt +++ b/selvbestemt-lagre-im-service/src/test/kotlin/no/nav/helsearbeidsgiver/inntektsmelding/selvbestemtlagreimservice/LagreSelvbestemtImServiceTest.kt @@ -137,7 +137,7 @@ class LagreSelvbestemtImServiceTest : transaksjonId, ResultJson( success = nyInntektsmelding.type.id.toJson(), - ).toJson(ResultJson.serializer()), + ), ) } } @@ -186,7 +186,7 @@ class LagreSelvbestemtImServiceTest : transaksjonId, ResultJson( success = endretInntektsmelding.type.id.toJson(), - ).toJson(ResultJson.serializer()), + ), ) } } @@ -230,7 +230,7 @@ class LagreSelvbestemtImServiceTest : transaksjonId, ResultJson( success = duplikatInntektsmelding.type.id.toJson(), - ).toJson(ResultJson.serializer()), + ), ) } } @@ -330,7 +330,7 @@ class LagreSelvbestemtImServiceTest : transaksjonId, ResultJson( success = inntektsmeldingMedDefaults.type.id.toJson(), - ).toJson(ResultJson.serializer()), + ), ) } } @@ -379,7 +379,7 @@ class LagreSelvbestemtImServiceTest : transaksjonId, ResultJson( failure = feilmelding.toJson(), - ).toJson(ResultJson.serializer()), + ), ) } } @@ -409,7 +409,7 @@ class LagreSelvbestemtImServiceTest : transaksjonId, ResultJson( failure = "Mangler arbeidsforhold i perioden".toJson(), - ).toJson(ResultJson.serializer()), + ), ) } } diff --git a/tilgangservice/src/main/kotlin/no/nav/helsearbeidsgiver/inntektsmelding/tilgangservice/TilgangForespoerselService.kt b/tilgangservice/src/main/kotlin/no/nav/helsearbeidsgiver/inntektsmelding/tilgangservice/TilgangForespoerselService.kt index 0f2ef82dd..2a4f82a5b 100644 --- a/tilgangservice/src/main/kotlin/no/nav/helsearbeidsgiver/inntektsmelding/tilgangservice/TilgangForespoerselService.kt +++ b/tilgangservice/src/main/kotlin/no/nav/helsearbeidsgiver/inntektsmelding/tilgangservice/TilgangForespoerselService.kt @@ -7,8 +7,8 @@ import no.nav.helsearbeidsgiver.felles.EventName import no.nav.helsearbeidsgiver.felles.Key import no.nav.helsearbeidsgiver.felles.Tekst import no.nav.helsearbeidsgiver.felles.domene.Forespoersel +import no.nav.helsearbeidsgiver.felles.domene.ResultJson import no.nav.helsearbeidsgiver.felles.domene.Tilgang -import no.nav.helsearbeidsgiver.felles.domene.TilgangResultat import no.nav.helsearbeidsgiver.felles.json.les import no.nav.helsearbeidsgiver.felles.json.toJson import no.nav.helsearbeidsgiver.felles.rapidsrivers.model.Fail @@ -125,12 +125,12 @@ class TilgangForespoerselService( steg1: Steg1, steg2: Steg2, ) { - val tilgangJson = - TilgangResultat( - tilgang = steg2.tilgang, - ).toJson(TilgangResultat.serializer()) + val tilgang = + ResultJson( + success = steg2.tilgang.toJson(Tilgang.serializer()), + ) - redisStore.skrivResultat(steg0.transaksjonId, tilgangJson) + redisStore.skrivResultat(steg0.transaksjonId, tilgang) sikkerLogger.info("$eventName fullført.") } @@ -145,13 +145,12 @@ class TilgangForespoerselService( Log.transaksjonId(fail.transaksjonId), ) { val tilgangResultat = - TilgangResultat( - feilmelding = Tekst.TEKNISK_FEIL_FORBIGAAENDE, + ResultJson( + failure = Tekst.TEKNISK_FEIL_FORBIGAAENDE.toJson(), ) - sikkerLogger.error("Returnerer feilmelding: '${tilgangResultat.feilmelding}'") + redisStore.skrivResultat(fail.transaksjonId, tilgangResultat) - redisStore.skrivResultat(fail.transaksjonId, tilgangResultat.toJson(TilgangResultat.serializer())) sikkerLogger.error("$eventName terminert.") } } diff --git a/tilgangservice/src/main/kotlin/no/nav/helsearbeidsgiver/inntektsmelding/tilgangservice/TilgangOrgService.kt b/tilgangservice/src/main/kotlin/no/nav/helsearbeidsgiver/inntektsmelding/tilgangservice/TilgangOrgService.kt index ac1b1bb39..857f1e1de 100644 --- a/tilgangservice/src/main/kotlin/no/nav/helsearbeidsgiver/inntektsmelding/tilgangservice/TilgangOrgService.kt +++ b/tilgangservice/src/main/kotlin/no/nav/helsearbeidsgiver/inntektsmelding/tilgangservice/TilgangOrgService.kt @@ -6,8 +6,8 @@ import no.nav.helsearbeidsgiver.felles.BehovType import no.nav.helsearbeidsgiver.felles.EventName import no.nav.helsearbeidsgiver.felles.Key import no.nav.helsearbeidsgiver.felles.Tekst +import no.nav.helsearbeidsgiver.felles.domene.ResultJson import no.nav.helsearbeidsgiver.felles.domene.Tilgang -import no.nav.helsearbeidsgiver.felles.domene.TilgangResultat import no.nav.helsearbeidsgiver.felles.json.les import no.nav.helsearbeidsgiver.felles.json.toJson import no.nav.helsearbeidsgiver.felles.rapidsrivers.model.Fail @@ -87,12 +87,12 @@ class TilgangOrgService( steg0: Steg0, steg1: Steg1, ) { - val tilgangJson = - TilgangResultat( - tilgang = steg1.tilgang, - ).toJson(TilgangResultat.serializer()) + val resultat = + ResultJson( + success = steg1.tilgang.toJson(Tilgang.serializer()), + ) - redisStore.skrivResultat(steg0.transaksjonId, tilgangJson) + redisStore.skrivResultat(steg0.transaksjonId, resultat) sikkerLogger.info("$eventName fullført.") } @@ -106,14 +106,12 @@ class TilgangOrgService( Log.event(eventName), Log.transaksjonId(fail.transaksjonId), ) { - val tilgangResultat = - TilgangResultat( - feilmelding = Tekst.TEKNISK_FEIL_FORBIGAAENDE, + val resultat = + ResultJson( + failure = Tekst.TEKNISK_FEIL_FORBIGAAENDE.toJson(), ) - sikkerLogger.error("Returnerer feilmelding: '${tilgangResultat.feilmelding}'") - - redisStore.skrivResultat(fail.transaksjonId, tilgangResultat.toJson(TilgangResultat.serializer())) + redisStore.skrivResultat(fail.transaksjonId, resultat) sikkerLogger.error("$eventName terminert.") } diff --git a/tilgangservice/src/test/kotlin/no/nav/helsearbeidsgiver/inntektsmelding/inntektservice/TilgangForespoerselServiceTest.kt b/tilgangservice/src/test/kotlin/no/nav/helsearbeidsgiver/inntektsmelding/inntektservice/TilgangForespoerselServiceTest.kt index 3332fbe5b..d4b8c54a6 100644 --- a/tilgangservice/src/test/kotlin/no/nav/helsearbeidsgiver/inntektsmelding/inntektservice/TilgangForespoerselServiceTest.kt +++ b/tilgangservice/src/test/kotlin/no/nav/helsearbeidsgiver/inntektsmelding/inntektservice/TilgangForespoerselServiceTest.kt @@ -9,7 +9,7 @@ import no.nav.helsearbeidsgiver.felles.BehovType import no.nav.helsearbeidsgiver.felles.EventName import no.nav.helsearbeidsgiver.felles.Key import no.nav.helsearbeidsgiver.felles.Tekst -import no.nav.helsearbeidsgiver.felles.domene.TilgangResultat +import no.nav.helsearbeidsgiver.felles.domene.ResultJson import no.nav.helsearbeidsgiver.felles.json.toJson import no.nav.helsearbeidsgiver.felles.rapidsrivers.model.Fail import no.nav.helsearbeidsgiver.felles.rapidsrivers.redis.RedisPrefix @@ -61,13 +61,13 @@ class TilgangForespoerselServiceTest { service.onError(emptyMap(), fail) } - val expectedResultJson = - TilgangResultat( - feilmelding = Tekst.TEKNISK_FEIL_FORBIGAAENDE, - ).toJson(TilgangResultat.serializer()) + val expectedResult = + ResultJson( + failure = Tekst.TEKNISK_FEIL_FORBIGAAENDE.toJson(), + ) verify { - mockRedis.store.skrivResultat(transaksjonId, expectedResultJson) + mockRedis.store.skrivResultat(transaksjonId, expectedResult) } } } diff --git a/tilgangservice/src/test/kotlin/no/nav/helsearbeidsgiver/inntektsmelding/inntektservice/TilgangOrgServiceTest.kt b/tilgangservice/src/test/kotlin/no/nav/helsearbeidsgiver/inntektsmelding/inntektservice/TilgangOrgServiceTest.kt index 52a6932bb..32807f942 100644 --- a/tilgangservice/src/test/kotlin/no/nav/helsearbeidsgiver/inntektsmelding/inntektservice/TilgangOrgServiceTest.kt +++ b/tilgangservice/src/test/kotlin/no/nav/helsearbeidsgiver/inntektsmelding/inntektservice/TilgangOrgServiceTest.kt @@ -10,7 +10,7 @@ import no.nav.helsearbeidsgiver.felles.BehovType import no.nav.helsearbeidsgiver.felles.EventName import no.nav.helsearbeidsgiver.felles.Key import no.nav.helsearbeidsgiver.felles.Tekst -import no.nav.helsearbeidsgiver.felles.domene.TilgangResultat +import no.nav.helsearbeidsgiver.felles.domene.ResultJson import no.nav.helsearbeidsgiver.felles.json.toJson import no.nav.helsearbeidsgiver.felles.rapidsrivers.model.Fail import no.nav.helsearbeidsgiver.felles.rapidsrivers.redis.RedisStore @@ -60,13 +60,13 @@ class TilgangOrgServiceTest { service.onError(emptyMap(), fail) } - val expectedResultJson = - TilgangResultat( - feilmelding = Tekst.TEKNISK_FEIL_FORBIGAAENDE, - ).toJson(TilgangResultat.serializer()) + val expectedResult = + ResultJson( + failure = Tekst.TEKNISK_FEIL_FORBIGAAENDE.toJson(), + ) verify { - mockRedisStore.skrivResultat(transaksjonId, expectedResultJson) + mockRedisStore.skrivResultat(transaksjonId, expectedResult) } } } diff --git a/trengerservice/src/main/kotlin/no/nav/helsearbeidsgiver/inntektsmelding/trengerservice/HentForespoerselService.kt b/trengerservice/src/main/kotlin/no/nav/helsearbeidsgiver/inntektsmelding/trengerservice/HentForespoerselService.kt index 5ceea5490..0f6a22622 100644 --- a/trengerservice/src/main/kotlin/no/nav/helsearbeidsgiver/inntektsmelding/trengerservice/HentForespoerselService.kt +++ b/trengerservice/src/main/kotlin/no/nav/helsearbeidsgiver/inntektsmelding/trengerservice/HentForespoerselService.kt @@ -193,7 +193,7 @@ class HentForespoerselService( forespoersel = steg1.forespoersel, feil = feil, ).toJson(HentForespoerselResultat.serializer()), - ).toJson(ResultJson.serializer()) + ) redisStore.skrivResultat(steg0.transaksjonId, resultJson) } @@ -249,10 +249,7 @@ class HentForespoerselService( sikkerLogger.warn(it) } - val resultJson = - ResultJson( - failure = Tekst.TEKNISK_FEIL_FORBIGAAENDE.toJson(), - ).toJson(ResultJson.serializer()) + val resultJson = ResultJson(failure = Tekst.TEKNISK_FEIL_FORBIGAAENDE.toJson()) redisStore.skrivResultat(fail.transaksjonId, resultJson) } diff --git a/trengerservice/src/main/kotlin/no/nav/helsearbeidsgiver/inntektsmelding/trengerservice/HentForespoerslerForVedtaksperiodeIdListeService.kt b/trengerservice/src/main/kotlin/no/nav/helsearbeidsgiver/inntektsmelding/trengerservice/HentForespoerslerForVedtaksperiodeIdListeService.kt index 8ae776726..6a7a184b7 100644 --- a/trengerservice/src/main/kotlin/no/nav/helsearbeidsgiver/inntektsmelding/trengerservice/HentForespoerslerForVedtaksperiodeIdListeService.kt +++ b/trengerservice/src/main/kotlin/no/nav/helsearbeidsgiver/inntektsmelding/trengerservice/HentForespoerslerForVedtaksperiodeIdListeService.kt @@ -78,7 +78,7 @@ class HentForespoerslerForVedtaksperiodeIdListeService( val resultJson = ResultJson( success = steg1.forespoersler.toJson(MapSerializer(UuidSerializer, Forespoersel.serializer())), - ).toJson(ResultJson.serializer()) + ) redisStore.skrivResultat(steg0.transaksjonId, resultJson) } @@ -92,10 +92,7 @@ class HentForespoerslerForVedtaksperiodeIdListeService( sikkerLogger.warn(it) } - val resultJson = - ResultJson( - failure = Tekst.TEKNISK_FEIL_FORBIGAAENDE.toJson(), - ).toJson(ResultJson.serializer()) + val resultJson = ResultJson(failure = Tekst.TEKNISK_FEIL_FORBIGAAENDE.toJson()) redisStore.skrivResultat(fail.transaksjonId, resultJson) } diff --git a/trengerservice/src/test/kotlin/no/nav/helsearbeidsgiver/inntektsmelding/trengerservice/HentForespoerslerForVedtaksperiodeIdListeServiceTest.kt b/trengerservice/src/test/kotlin/no/nav/helsearbeidsgiver/inntektsmelding/trengerservice/HentForespoerslerForVedtaksperiodeIdListeServiceTest.kt index 7a2ff556d..a50cb19c8 100644 --- a/trengerservice/src/test/kotlin/no/nav/helsearbeidsgiver/inntektsmelding/trengerservice/HentForespoerslerForVedtaksperiodeIdListeServiceTest.kt +++ b/trengerservice/src/test/kotlin/no/nav/helsearbeidsgiver/inntektsmelding/trengerservice/HentForespoerslerForVedtaksperiodeIdListeServiceTest.kt @@ -61,7 +61,7 @@ class HentForespoerslerForVedtaksperiodeIdListeServiceTest : transaksjonId, ResultJson( success = forespoersler.toJson(MapSerializer(UuidSerializer, Forespoersel.serializer())), - ).toJson(ResultJson.serializer()), + ), ) } } @@ -93,9 +93,7 @@ class HentForespoerslerForVedtaksperiodeIdListeServiceTest : verify { mockRedis.store.skrivResultat( transaksjonId, - ResultJson( - failure = feilmelding.toJson(), - ).toJson(ResultJson.serializer()), + ResultJson(failure = feilmelding.toJson()), ) } }