From c94fb88c7ce9fca58f21645880a26992b8893ded Mon Sep 17 00:00:00 2001 From: Mikael Bjerga <6940327+bjerga@users.noreply.github.com> Date: Mon, 20 Nov 2023 14:39:42 +0100 Subject: [PATCH] =?UTF-8?q?Fjern=20un=C3=B8dvendig=20abstraksjon=20(#345)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Fjern unødvendig abstraksjon * Fiks mergefeil --- .../inntekt/ArbeidsforholdLoeserTest.kt | 40 ++++----- .../EksternInntektsmeldingLoeserTest.kt | 21 ++--- .../brreg/VirksomhetLoeserTest.kt | 7 +- .../LagreEksternInntektsmeldingLoeser.kt | 2 +- .../db/river/HentPersistertLoeserTest.kt | 4 +- .../db/river/LagreJournalpostIdLoeserTest.kt | 5 +- .../db/river/NotifikasjonHentIdLoeserTest.kt | 8 +- .../felles/test/json/DomeneUtils.kt | 38 -------- .../felles/test/json/ReadFail.kt | 22 +++++ .../felles/test/json/DomeneUtilsTest.kt | 87 ------------------- .../felles/test/json/ReadFailKtTest.kt | 39 +++++++++ .../felles/rapidsrivers/EventListener.kt | 7 +- .../felles/rapidsrivers/Loeser.kt | 8 +- .../felles/rapidsrivers/model/Behov.kt | 16 +--- .../felles/rapidsrivers/model/Data.kt | 16 +--- .../felles/rapidsrivers/model/Event.kt | 42 ++------- .../felles/rapidsrivers/model/Fail.kt | 17 +--- .../felles/rapidsrivers/model/Message.kt | 13 --- .../felles/rapidsrivers/model/BehovTest.kt | 2 +- .../KvitteringServiceTest.kt | 2 +- .../inntektsmelding/inntekt/InntektLoeser.kt | 2 +- .../inntekt/InntektLoeserTest.kt | 31 +++---- .../JournalfoerInntektsmeldingLoeserTest.kt | 7 +- .../notifikasjon/OpprettOppgaveServiceTest.kt | 6 +- 24 files changed, 142 insertions(+), 300 deletions(-) delete mode 100644 felles-test/src/main/kotlin/no/nav/helsearbeidsgiver/felles/test/json/DomeneUtils.kt create mode 100644 felles-test/src/main/kotlin/no/nav/helsearbeidsgiver/felles/test/json/ReadFail.kt delete mode 100644 felles-test/src/test/kotlin/no/nav/helsearbeidsgiver/felles/test/json/DomeneUtilsTest.kt create mode 100644 felles-test/src/test/kotlin/no/nav/helsearbeidsgiver/felles/test/json/ReadFailKtTest.kt delete mode 100644 felles/src/main/kotlin/no/nav/helsearbeidsgiver/felles/rapidsrivers/model/Message.kt diff --git a/aareg/src/test/kotlin/no/nav/helsearbeidsgiver/inntektsmelding/inntekt/ArbeidsforholdLoeserTest.kt b/aareg/src/test/kotlin/no/nav/helsearbeidsgiver/inntektsmelding/inntekt/ArbeidsforholdLoeserTest.kt index 8eebcb1d0..13e18e698 100644 --- a/aareg/src/test/kotlin/no/nav/helsearbeidsgiver/inntektsmelding/inntekt/ArbeidsforholdLoeserTest.kt +++ b/aareg/src/test/kotlin/no/nav/helsearbeidsgiver/inntektsmelding/inntekt/ArbeidsforholdLoeserTest.kt @@ -17,13 +17,16 @@ import no.nav.helsearbeidsgiver.felles.DataFelt import no.nav.helsearbeidsgiver.felles.EventName import no.nav.helsearbeidsgiver.felles.Key import no.nav.helsearbeidsgiver.felles.json.toJson +import no.nav.helsearbeidsgiver.felles.json.toMap import no.nav.helsearbeidsgiver.felles.rapidsrivers.model.Data import no.nav.helsearbeidsgiver.felles.rapidsrivers.model.Fail -import no.nav.helsearbeidsgiver.felles.test.json.toDomeneMessage +import no.nav.helsearbeidsgiver.felles.rapidsrivers.toJsonMap +import no.nav.helsearbeidsgiver.felles.test.json.readFail import no.nav.helsearbeidsgiver.felles.test.rapidsrivers.firstMessage import no.nav.helsearbeidsgiver.felles.test.rapidsrivers.sendJson import no.nav.helsearbeidsgiver.inntektsmelding.aareg.ArbeidsforholdLoeser import no.nav.helsearbeidsgiver.inntektsmelding.aareg.tilArbeidsforhold +import no.nav.helsearbeidsgiver.utils.json.fromJson import no.nav.helsearbeidsgiver.utils.json.serializer.UuidSerializer import no.nav.helsearbeidsgiver.utils.json.toJson import java.util.UUID @@ -41,39 +44,36 @@ class ArbeidsforholdLoeserTest : FunSpec({ } test("ved innkommende behov så hentes og publiseres arbeidsforhold fra aareg") { + val expectedUuid = UUID.randomUUID() + val expected = Data.create( - EventName.INSENDING_STARTED, - UUID.randomUUID(), - mapOf( + event = EventName.INSENDING_STARTED, + uuid = expectedUuid, + map = mapOf( DataFelt.ARBEIDSFORHOLD to no.nav.helsearbeidsgiver.felles.Data( mockKlientArbeidsforhold().tilArbeidsforhold().let(::listOf) ) ) - ).toJsonMessage() - .also { - Data.packetValidator.validate(it) - it.interestedIn(DataFelt.ARBEIDSFORHOLD.str) - }.let { - Data.create(it) - } + ) + .jsonMessage + .toJsonMap() coEvery { mockAaregClient.hentArbeidsforhold(any(), any()) } returns mockKlientArbeidsforhold().let(::listOf) testRapid.sendJson( - Key.EVENT_NAME to expected.event.toJson(), + Key.EVENT_NAME to EventName.INSENDING_STARTED.toJson(), Key.BEHOV to BehovType.ARBEIDSFORHOLD.toJson(), Key.IDENTITETSNUMMER to Mock.FNR.toJson(), - Key.UUID to expected.uuid().toJson() + Key.UUID to expectedUuid.toJson() ) - val actual = testRapid.firstMessage().toDomeneMessage() { - it.interestedIn(DataFelt.ARBEIDSFORHOLD.str) - } + val actual = testRapid.firstMessage().toMap() - coVerifySequence { mockAaregClient.hentArbeidsforhold(Mock.FNR, expected.uuid()) } + coVerifySequence { mockAaregClient.hentArbeidsforhold(Mock.FNR, expectedUuid.toString()) } testRapid.inspektør.size shouldBeExactly 1 - actual.uuid() shouldBe expected.uuid() - actual.event shouldBe expected.event + + actual[Key.UUID]?.fromJson(UuidSerializer) shouldBe expectedUuid + actual[Key.EVENT_NAME]?.fromJson(EventName.serializer()) shouldBe EventName.INSENDING_STARTED actual[DataFelt.ARBEIDSFORHOLD] shouldBe expected[DataFelt.ARBEIDSFORHOLD] } @@ -95,7 +95,7 @@ class ArbeidsforholdLoeserTest : FunSpec({ Key.UUID to expected.uuid!!.toJson() ) - val actual = testRapid.firstMessage().toDomeneMessage() + val actual = testRapid.firstMessage().readFail() coVerifySequence { mockAaregClient.hentArbeidsforhold(Mock.FNR, expected.uuid.toString()) } testRapid.inspektør.size shouldBeExactly 1 diff --git a/bro-spinn/src/test/kotlin/no/nav/helsearbeidsgiver/inntektsmelding/brospinn/EksternInntektsmeldingLoeserTest.kt b/bro-spinn/src/test/kotlin/no/nav/helsearbeidsgiver/inntektsmelding/brospinn/EksternInntektsmeldingLoeserTest.kt index 82c2fc09b..387340b2e 100644 --- a/bro-spinn/src/test/kotlin/no/nav/helsearbeidsgiver/inntektsmelding/brospinn/EksternInntektsmeldingLoeserTest.kt +++ b/bro-spinn/src/test/kotlin/no/nav/helsearbeidsgiver/inntektsmelding/brospinn/EksternInntektsmeldingLoeserTest.kt @@ -13,14 +13,13 @@ import no.nav.helsearbeidsgiver.felles.DataFelt import no.nav.helsearbeidsgiver.felles.EksternInntektsmelding import no.nav.helsearbeidsgiver.felles.EventName import no.nav.helsearbeidsgiver.felles.Key +import no.nav.helsearbeidsgiver.felles.json.lesOrNull import no.nav.helsearbeidsgiver.felles.json.toJson -import no.nav.helsearbeidsgiver.felles.rapidsrivers.model.Data -import no.nav.helsearbeidsgiver.felles.rapidsrivers.model.Fail -import no.nav.helsearbeidsgiver.felles.test.json.toDomeneMessage +import no.nav.helsearbeidsgiver.felles.json.toMap +import no.nav.helsearbeidsgiver.felles.test.json.readFail import no.nav.helsearbeidsgiver.felles.test.rapidsrivers.firstMessage import no.nav.helsearbeidsgiver.felles.test.rapidsrivers.sendJson import no.nav.helsearbeidsgiver.felles.utils.randomUuid -import no.nav.helsearbeidsgiver.utils.json.fromJson import no.nav.helsearbeidsgiver.utils.json.toJson import no.nav.helsearbeidsgiver.utils.test.date.januar import no.nav.helsearbeidsgiver.utils.test.mock.mockStatic @@ -58,7 +57,7 @@ class EksternInntektsmeldingLoeserTest : FunSpec({ ) } - val actual = testRapid.firstMessage().toDomeneMessage() + val actual = testRapid.firstMessage().readFail() testRapid.inspektør.size shouldBeExactly 1 actual.behov shouldBe BehovType.HENT_EKSTERN_INNTEKTSMELDING @@ -79,7 +78,7 @@ class EksternInntektsmeldingLoeserTest : FunSpec({ ) } - val actual = testRapid.firstMessage().toDomeneMessage() + val actual = testRapid.firstMessage().readFail() testRapid.inspektør.size shouldBeExactly 1 actual.behov shouldBe BehovType.HENT_EKSTERN_INNTEKTSMELDING @@ -99,14 +98,12 @@ class EksternInntektsmeldingLoeserTest : FunSpec({ ) } - val actual = testRapid.firstMessage().toDomeneMessage() { - it.interestedIn(DataFelt.EKSTERN_INNTEKTSMELDING.str) - } + val actual = testRapid.firstMessage().toMap() testRapid.inspektør.size shouldBeExactly 1 - actual.event shouldBe EventName.FORESPOERSEL_BESVART - actual[DataFelt.EKSTERN_INNTEKTSMELDING].toString().fromJson(EksternInntektsmelding.serializer()) shouldBe eksternInntektsmelding + Key.EVENT_NAME.lesOrNull(EventName.serializer(), actual) shouldBe EventName.FORESPOERSEL_BESVART + DataFelt.EKSTERN_INNTEKTSMELDING.lesOrNull(EksternInntektsmelding.serializer(), actual) shouldBe eksternInntektsmelding } test("Hvis request timer ut blir feil publisert") { @@ -122,7 +119,7 @@ class EksternInntektsmeldingLoeserTest : FunSpec({ ) } - val actual = testRapid.firstMessage().toDomeneMessage() + val actual = testRapid.firstMessage().readFail() testRapid.inspektør.size shouldBeExactly 1 actual.behov shouldBe BehovType.HENT_EKSTERN_INNTEKTSMELDING diff --git a/brreg/src/test/kotlin/no/nav/helsearbeidsgiver/inntektsmelding/brreg/VirksomhetLoeserTest.kt b/brreg/src/test/kotlin/no/nav/helsearbeidsgiver/inntektsmelding/brreg/VirksomhetLoeserTest.kt index c3450c7e4..22f58959c 100644 --- a/brreg/src/test/kotlin/no/nav/helsearbeidsgiver/inntektsmelding/brreg/VirksomhetLoeserTest.kt +++ b/brreg/src/test/kotlin/no/nav/helsearbeidsgiver/inntektsmelding/brreg/VirksomhetLoeserTest.kt @@ -16,8 +16,7 @@ import no.nav.helsearbeidsgiver.felles.EventName import no.nav.helsearbeidsgiver.felles.Key import no.nav.helsearbeidsgiver.felles.json.toJson import no.nav.helsearbeidsgiver.felles.json.toMap -import no.nav.helsearbeidsgiver.felles.rapidsrivers.model.Fail -import no.nav.helsearbeidsgiver.felles.test.json.toDomeneMessage +import no.nav.helsearbeidsgiver.felles.test.json.readFail import no.nav.helsearbeidsgiver.felles.test.rapidsrivers.firstMessage import no.nav.helsearbeidsgiver.felles.test.rapidsrivers.sendJson import no.nav.helsearbeidsgiver.utils.json.fromJson @@ -57,7 +56,7 @@ class VirksomhetLoeserTest { val publisert = testRapid.firstMessage() - publisert.toDomeneMessage().feilmelding.shouldBe("Fant ikke virksomhet") + publisert.readFail().feilmelding.shouldBe("Fant ikke virksomhet") } @Test @@ -90,6 +89,6 @@ class VirksomhetLoeserTest { val publisert = testRapid.firstMessage() - publisert.toDomeneMessage().feilmelding.shouldBe("Klarte ikke hente virksomhet") + publisert.readFail().feilmelding.shouldBe("Klarte ikke hente virksomhet") } } diff --git a/db/src/main/kotlin/no/nav/helsearbeidsgiver/inntektsmelding/db/river/LagreEksternInntektsmeldingLoeser.kt b/db/src/main/kotlin/no/nav/helsearbeidsgiver/inntektsmelding/db/river/LagreEksternInntektsmeldingLoeser.kt index d9d18e83f..4c0072a30 100644 --- a/db/src/main/kotlin/no/nav/helsearbeidsgiver/inntektsmelding/db/river/LagreEksternInntektsmeldingLoeser.kt +++ b/db/src/main/kotlin/no/nav/helsearbeidsgiver/inntektsmelding/db/river/LagreEksternInntektsmeldingLoeser.kt @@ -45,7 +45,7 @@ class LagreEksternInntektsmeldingLoeser( Log.behov(behov.behov) ) { logger.info("Mottok behov ${BehovType.LAGRE_EKSTERN_INNTEKTSMELDING.name}") - sikkerLogger.info("Mottok behov:\n${behov.toJsonMessage().toPretty()}") + sikkerLogger.info("Mottok behov:\n${behov.jsonMessage.toPretty()}") val eksternInntektsmelding = behov[DataFelt.EKSTERN_INNTEKTSMELDING].toString().fromJson(EksternInntektsmelding.serializer()) if (eksternInntektsmelding == null) { logger.error("Fant ingen EksternInntektsmelding") diff --git a/db/src/test/kotlin/no/nav/helsearbeidsgiver/inntektsmelding/db/river/HentPersistertLoeserTest.kt b/db/src/test/kotlin/no/nav/helsearbeidsgiver/inntektsmelding/db/river/HentPersistertLoeserTest.kt index c17d8e80a..11f1386fa 100644 --- a/db/src/test/kotlin/no/nav/helsearbeidsgiver/inntektsmelding/db/river/HentPersistertLoeserTest.kt +++ b/db/src/test/kotlin/no/nav/helsearbeidsgiver/inntektsmelding/db/river/HentPersistertLoeserTest.kt @@ -13,7 +13,7 @@ import no.nav.helsearbeidsgiver.felles.EksternInntektsmelding import no.nav.helsearbeidsgiver.felles.EventName import no.nav.helsearbeidsgiver.felles.Key import no.nav.helsearbeidsgiver.felles.json.toJson -import no.nav.helsearbeidsgiver.felles.test.json.toDomeneMessage +import no.nav.helsearbeidsgiver.felles.test.json.readFail import no.nav.helsearbeidsgiver.felles.test.rapidsrivers.firstMessage import no.nav.helsearbeidsgiver.felles.test.rapidsrivers.sendJson import no.nav.helsearbeidsgiver.inntektsmelding.db.EKSTERN_INNTEKTSMELDING_DOKUMENT @@ -120,7 +120,7 @@ class HentPersistertLoeserTest { private fun sendMeldingMedFeil(vararg melding: Pair): no.nav.helsearbeidsgiver.felles.rapidsrivers.model.Fail { rapid.reset() rapid.sendJson(*melding.toList().toTypedArray()) - return rapid.firstMessage().toDomeneMessage() + return rapid.firstMessage().readFail() // TODO - serialisering med Feilmelding.serializer() funker ikke: // .toJsonElement() // .fromJson(Feilmelding.serializer()) diff --git a/db/src/test/kotlin/no/nav/helsearbeidsgiver/inntektsmelding/db/river/LagreJournalpostIdLoeserTest.kt b/db/src/test/kotlin/no/nav/helsearbeidsgiver/inntektsmelding/db/river/LagreJournalpostIdLoeserTest.kt index 28117f191..2bf514992 100644 --- a/db/src/test/kotlin/no/nav/helsearbeidsgiver/inntektsmelding/db/river/LagreJournalpostIdLoeserTest.kt +++ b/db/src/test/kotlin/no/nav/helsearbeidsgiver/inntektsmelding/db/river/LagreJournalpostIdLoeserTest.kt @@ -11,8 +11,7 @@ import no.nav.helsearbeidsgiver.felles.BehovType import no.nav.helsearbeidsgiver.felles.EventName import no.nav.helsearbeidsgiver.felles.Key import no.nav.helsearbeidsgiver.felles.json.toJsonElement -import no.nav.helsearbeidsgiver.felles.rapidsrivers.model.Fail -import no.nav.helsearbeidsgiver.felles.test.json.toDomeneMessage +import no.nav.helsearbeidsgiver.felles.test.json.readFail import no.nav.helsearbeidsgiver.felles.test.rapidsrivers.sendJson import no.nav.helsearbeidsgiver.inntektsmelding.db.INNTEKTSMELDING_DOKUMENT import no.nav.helsearbeidsgiver.inntektsmelding.db.InntektsmeldingRepository @@ -84,7 +83,7 @@ class LagreJournalpostIdLoeserTest { assertNotNull(feilmelding) } - private fun getFeil(index: Int) = testRapid.inspektør.message(index).toJsonElement().toDomeneMessage().feilmelding + private fun getFeil(index: Int) = testRapid.inspektør.message(index).toJsonElement().readFail().feilmelding private fun journalpostLagretFraRapid(index: Int): JsonNode { val message = testRapid.inspektør.message(index) diff --git a/db/src/test/kotlin/no/nav/helsearbeidsgiver/inntektsmelding/db/river/NotifikasjonHentIdLoeserTest.kt b/db/src/test/kotlin/no/nav/helsearbeidsgiver/inntektsmelding/db/river/NotifikasjonHentIdLoeserTest.kt index 69e981083..a49fccdce 100644 --- a/db/src/test/kotlin/no/nav/helsearbeidsgiver/inntektsmelding/db/river/NotifikasjonHentIdLoeserTest.kt +++ b/db/src/test/kotlin/no/nav/helsearbeidsgiver/inntektsmelding/db/river/NotifikasjonHentIdLoeserTest.kt @@ -15,11 +15,11 @@ import no.nav.helsearbeidsgiver.felles.BehovType import no.nav.helsearbeidsgiver.felles.DataFelt import no.nav.helsearbeidsgiver.felles.EventName import no.nav.helsearbeidsgiver.felles.Key +import no.nav.helsearbeidsgiver.felles.json.lesOrNull import no.nav.helsearbeidsgiver.felles.json.toJson +import no.nav.helsearbeidsgiver.felles.json.toMap import no.nav.helsearbeidsgiver.felles.rapidsrivers.interestedIn import no.nav.helsearbeidsgiver.felles.rapidsrivers.model.Behov -import no.nav.helsearbeidsgiver.felles.rapidsrivers.model.Event -import no.nav.helsearbeidsgiver.felles.test.json.toDomeneMessage import no.nav.helsearbeidsgiver.felles.test.rapidsrivers.firstMessage import no.nav.helsearbeidsgiver.felles.test.rapidsrivers.sendJson import no.nav.helsearbeidsgiver.inntektsmelding.db.ForespoerselRepository @@ -64,9 +64,9 @@ class NotifikasjonHentIdLoeserTest : FunSpec({ testRapid.inspektør.size shouldBeExactly 1 - val actual = testRapid.firstMessage().toDomeneMessage() + val actual = testRapid.firstMessage().toMap() - actual.forespoerselId shouldBe expected.forespoerselId + Key.FORESPOERSEL_ID.lesOrNull(UuidSerializer, actual)?.toString() shouldBe expected.forespoerselId verifySequence { mockForespoerselRepo.hentSakId(any()) diff --git a/felles-test/src/main/kotlin/no/nav/helsearbeidsgiver/felles/test/json/DomeneUtils.kt b/felles-test/src/main/kotlin/no/nav/helsearbeidsgiver/felles/test/json/DomeneUtils.kt deleted file mode 100644 index 5bf13ecc3..000000000 --- a/felles-test/src/main/kotlin/no/nav/helsearbeidsgiver/felles/test/json/DomeneUtils.kt +++ /dev/null @@ -1,38 +0,0 @@ -package no.nav.helsearbeidsgiver.felles.test.json - -import kotlinx.serialization.json.JsonElement -import no.nav.helse.rapids_rivers.JsonMessage -import no.nav.helse.rapids_rivers.MessageProblems -import no.nav.helse.rapids_rivers.River -import no.nav.helse.rapids_rivers.isMissingOrNull -import no.nav.helsearbeidsgiver.felles.Key -import no.nav.helsearbeidsgiver.felles.rapidsrivers.interestedIn -import no.nav.helsearbeidsgiver.felles.rapidsrivers.model.Behov -import no.nav.helsearbeidsgiver.felles.rapidsrivers.model.Data -import no.nav.helsearbeidsgiver.felles.rapidsrivers.model.Event -import no.nav.helsearbeidsgiver.felles.rapidsrivers.model.Fail -import no.nav.helsearbeidsgiver.felles.rapidsrivers.model.Message -import java.lang.RuntimeException - -fun JsonElement.toDomeneMessage(validation: River.PacketValidation = River.PacketValidation { }): T { - val json = toString() - val jsonMessage = JsonMessage(json, MessageProblems(json)).also { - it.interestedIn(Key.EVENT_NAME, Key.BEHOV, Key.DATA, Key.FAIL) - } - validation.validate(jsonMessage) - return if (!jsonMessage[Key.FAIL.str].isMissingOrNull()) { - Fail.packetValidator.validate(jsonMessage) - Fail.create(jsonMessage) as T - } else if (!jsonMessage[Key.DATA.str].isMissingOrNull()) { - Data.packetValidator.validate(jsonMessage) - Data.create(jsonMessage) as T - } else if (!jsonMessage[Key.BEHOV.str].isMissingOrNull()) { - Behov.packetValidator.validate(jsonMessage) - Behov.create(jsonMessage) as T - } else if (!jsonMessage[Key.EVENT_NAME.str].isMissingOrNull()) { - Event.packetValidator.validate(jsonMessage) - Event.create(jsonMessage) as T - } else { - throw RuntimeException("Message må være EVENT, DATA, BEHOV eller FAIL ${jsonMessage.toJson()}") - } -} diff --git a/felles-test/src/main/kotlin/no/nav/helsearbeidsgiver/felles/test/json/ReadFail.kt b/felles-test/src/main/kotlin/no/nav/helsearbeidsgiver/felles/test/json/ReadFail.kt new file mode 100644 index 000000000..9085682cd --- /dev/null +++ b/felles-test/src/main/kotlin/no/nav/helsearbeidsgiver/felles/test/json/ReadFail.kt @@ -0,0 +1,22 @@ +package no.nav.helsearbeidsgiver.felles.test.json + +import kotlinx.serialization.json.JsonElement +import no.nav.helse.rapids_rivers.JsonMessage +import no.nav.helse.rapids_rivers.MessageProblems +import no.nav.helse.rapids_rivers.isMissingOrNull +import no.nav.helsearbeidsgiver.felles.Key +import no.nav.helsearbeidsgiver.felles.rapidsrivers.interestedIn +import no.nav.helsearbeidsgiver.felles.rapidsrivers.model.Fail + +fun JsonElement.readFail(): Fail { + val json = toString() + val jsonMessage = JsonMessage(json, MessageProblems(json)).also { + it.interestedIn(Key.EVENT_NAME, Key.BEHOV, Key.DATA, Key.FAIL) + } + return if (!jsonMessage[Key.FAIL.str].isMissingOrNull()) { + Fail.packetValidator.validate(jsonMessage) + Fail.create(jsonMessage) + } else { + throw RuntimeException("Message må være EVENT, DATA, BEHOV eller FAIL ${jsonMessage.toJson()}") + } +} diff --git a/felles-test/src/test/kotlin/no/nav/helsearbeidsgiver/felles/test/json/DomeneUtilsTest.kt b/felles-test/src/test/kotlin/no/nav/helsearbeidsgiver/felles/test/json/DomeneUtilsTest.kt deleted file mode 100644 index fe4e2d808..000000000 --- a/felles-test/src/test/kotlin/no/nav/helsearbeidsgiver/felles/test/json/DomeneUtilsTest.kt +++ /dev/null @@ -1,87 +0,0 @@ -package no.nav.helsearbeidsgiver.felles.test.json - -import io.kotest.assertions.throwables.shouldThrow -import no.nav.helse.rapids_rivers.JsonMessage -import no.nav.helse.rapids_rivers.MessageProblems -import no.nav.helsearbeidsgiver.felles.BehovType -import no.nav.helsearbeidsgiver.felles.DataFelt -import no.nav.helsearbeidsgiver.felles.EventName -import no.nav.helsearbeidsgiver.felles.Key -import no.nav.helsearbeidsgiver.felles.rapidsrivers.interestedIn -import no.nav.helsearbeidsgiver.felles.rapidsrivers.model.Behov -import no.nav.helsearbeidsgiver.felles.rapidsrivers.model.Data -import no.nav.helsearbeidsgiver.felles.rapidsrivers.model.Event -import no.nav.helsearbeidsgiver.felles.rapidsrivers.model.Fail -import no.nav.helsearbeidsgiver.felles.rapidsrivers.model.Message -import no.nav.helsearbeidsgiver.utils.json.parseJson -import org.junit.jupiter.api.Test -import java.lang.RuntimeException -import java.util.UUID - -class DomeneUtilsTest { - - @Test - fun `Test JsonNode is Event`() { - val event = Event.create(EventName.TRENGER_REQUESTED, "123", mapOf(DataFelt.VIRKSOMHET to "My virksomhet")) - val message = event.toJsonMessage() - .toJson() - .parseJson() - .toDomeneMessage { - it.interestedIn(DataFelt.VIRKSOMHET) - } - assert(message is Event) - } - - @Test - fun `Test JsonNode is Behov`() { - val event = Behov.create(EventName.TRENGER_REQUESTED, BehovType.FULLT_NAVN, "123", mapOf(DataFelt.VIRKSOMHET to "My virksomhet")) - val message = event.toJsonMessage() - .toJson() - .parseJson() - .toDomeneMessage { - it.interestedIn(DataFelt.VIRKSOMHET) - } - assert(message is Behov) - } - - @Test - fun `Test JsonNode is Data`() { - val event = Data.create(EventName.TRENGER_REQUESTED, UUID.randomUUID(), mapOf(DataFelt.VIRKSOMHET to "My virksomhet")) - val message = event.toJsonMessage() - .toJson() - .parseJson() - .toDomeneMessage { - it.interestedIn(DataFelt.VIRKSOMHET) - } - assert(message is Data) - } - - @Test - fun `Test JsonNode is Fail`() { - val event = Fail.create(EventName.TRENGER_REQUESTED, feilmelding = "Feilmelding", data = mapOf(DataFelt.VIRKSOMHET to "My virksomhet")) - val message = event.toJsonMessage() - .toJson() - .parseJson() - .toDomeneMessage { - it.interestedIn(DataFelt.VIRKSOMHET) - } - assert(message is Fail) - } - - @Test - fun `Test JsonNode is something else`() { - val illegalMessage = JsonMessage.newMessage(mapOf(Key.BEHOV.str to BehovType.FULLT_NAVN.name, Key.FAIL.str to "some fail")) - val json = illegalMessage.toJson().parseJson() - - shouldThrow { - json.toDomeneMessage { - it.interestedIn(DataFelt.VIRKSOMHET) - } - } - shouldThrow { - json.toDomeneMessage { - it.interestedIn(DataFelt.VIRKSOMHET) - } - } - } -} diff --git a/felles-test/src/test/kotlin/no/nav/helsearbeidsgiver/felles/test/json/ReadFailKtTest.kt b/felles-test/src/test/kotlin/no/nav/helsearbeidsgiver/felles/test/json/ReadFailKtTest.kt new file mode 100644 index 000000000..a4299a917 --- /dev/null +++ b/felles-test/src/test/kotlin/no/nav/helsearbeidsgiver/felles/test/json/ReadFailKtTest.kt @@ -0,0 +1,39 @@ +package no.nav.helsearbeidsgiver.felles.test.json + +import io.kotest.assertions.throwables.shouldNotThrowAny +import io.kotest.assertions.throwables.shouldThrow +import no.nav.helse.rapids_rivers.JsonMessage +import no.nav.helse.rapids_rivers.MessageProblems +import no.nav.helsearbeidsgiver.felles.BehovType +import no.nav.helsearbeidsgiver.felles.DataFelt +import no.nav.helsearbeidsgiver.felles.EventName +import no.nav.helsearbeidsgiver.felles.Key +import no.nav.helsearbeidsgiver.felles.rapidsrivers.model.Fail +import no.nav.helsearbeidsgiver.utils.json.parseJson +import org.junit.jupiter.api.Test + +class ReadFailKtTest { + @Test + fun `Test JsonNode is Fail`() { + val event = Fail.create(EventName.TRENGER_REQUESTED, feilmelding = "Feilmelding", data = mapOf(DataFelt.VIRKSOMHET to "My virksomhet")) + shouldNotThrowAny { + event.jsonMessage + .toJson() + .parseJson() + .readFail() + } + } + + @Test + fun `Test JsonNode is something else`() { + val illegalMessage = JsonMessage.newMessage(mapOf(Key.BEHOV.str to BehovType.FULLT_NAVN.name, Key.FAIL.str to "some fail")) + val json = illegalMessage.toJson().parseJson() + + shouldThrow { + json.readFail() + } + shouldThrow { + json.readFail() + } + } +} diff --git a/felles/src/main/kotlin/no/nav/helsearbeidsgiver/felles/rapidsrivers/EventListener.kt b/felles/src/main/kotlin/no/nav/helsearbeidsgiver/felles/rapidsrivers/EventListener.kt index 51aa2ceb0..3c729aff2 100644 --- a/felles/src/main/kotlin/no/nav/helsearbeidsgiver/felles/rapidsrivers/EventListener.kt +++ b/felles/src/main/kotlin/no/nav/helsearbeidsgiver/felles/rapidsrivers/EventListener.kt @@ -7,7 +7,6 @@ import no.nav.helse.rapids_rivers.River import no.nav.helsearbeidsgiver.felles.EventName import no.nav.helsearbeidsgiver.felles.Fail import no.nav.helsearbeidsgiver.felles.Key -import no.nav.helsearbeidsgiver.felles.rapidsrivers.model.Behov import no.nav.helsearbeidsgiver.felles.rapidsrivers.model.Event abstract class EventListener(val rapidsConnection: RapidsConnection) : River.PacketListener { @@ -47,10 +46,6 @@ abstract class EventListener(val rapidsConnection: RapidsConnection) : River.Pac rapidsConnection.publish(message.toJson()) } - fun publishBehov(behov: Behov) { - rapidsConnection.publish(behov.toJsonMessage().toJson()) - } - override fun onPacket(packet: JsonMessage, context: MessageContext) { forespørselId = packet[Key.FORESPOERSEL_ID.str].asText() val event = Event.create(packet) @@ -67,6 +62,6 @@ abstract class EventListener(val rapidsConnection: RapidsConnection) : River.Pac rapidsConnection.publish(fail.toJsonMessage().toJson()) } fun publishFail(fail: no.nav.helsearbeidsgiver.felles.rapidsrivers.model.Fail) { - rapidsConnection.publish(fail.toJsonMessage().toJson()) + rapidsConnection.publish(fail.jsonMessage.toJson()) } } diff --git a/felles/src/main/kotlin/no/nav/helsearbeidsgiver/felles/rapidsrivers/Loeser.kt b/felles/src/main/kotlin/no/nav/helsearbeidsgiver/felles/rapidsrivers/Loeser.kt index c7410d622..ddec992b1 100644 --- a/felles/src/main/kotlin/no/nav/helsearbeidsgiver/felles/rapidsrivers/Loeser.kt +++ b/felles/src/main/kotlin/no/nav/helsearbeidsgiver/felles/rapidsrivers/Loeser.kt @@ -37,7 +37,7 @@ abstract class Loeser(val rapidsConnection: RapidsConnection) : River.PacketList // Alle løser som publiserer Behov vil få kunskap om nedstrøms løserne. // i tilleg gjenbruktbarhet av løseren vil vare betydelig redusert fun publishBehov(behov: Behov) { - behov.toJsonMessage() + behov.jsonMessage .also { rapidsConnection.publish(it.toJson()) }.also { @@ -47,7 +47,7 @@ abstract class Loeser(val rapidsConnection: RapidsConnection) : River.PacketList } fun publishEvent(event: Event) { - event.toJsonMessage() + event.jsonMessage .also { rapidsConnection.publish(it.toJson()) } .also { logger.info("Publiserte event for eventname ${event.event} and uuid ${event.uuid()}'.") @@ -56,7 +56,7 @@ abstract class Loeser(val rapidsConnection: RapidsConnection) : River.PacketList } fun publishData(data: Data) { - data.toJsonMessage() + data.jsonMessage .also { rapidsConnection.publish(it.toJson()) } .also { logger.info("Publiserte data for eventname ${data.event.name} and uuid ${data.uuid()}'.") @@ -65,7 +65,7 @@ abstract class Loeser(val rapidsConnection: RapidsConnection) : River.PacketList } fun publishFail(fail: Fail) { - fail.toJsonMessage() + fail.jsonMessage .also { rapidsConnection.publish(it.toJson()) } .also { logger.info("Publiserte feil for eventname ${fail.event.name} and '${fail.behov?.name}'.") diff --git a/felles/src/main/kotlin/no/nav/helsearbeidsgiver/felles/rapidsrivers/model/Behov.kt b/felles/src/main/kotlin/no/nav/helsearbeidsgiver/felles/rapidsrivers/model/Behov.kt index 412715019..cd67b24ff 100644 --- a/felles/src/main/kotlin/no/nav/helsearbeidsgiver/felles/rapidsrivers/model/Behov.kt +++ b/felles/src/main/kotlin/no/nav/helsearbeidsgiver/felles/rapidsrivers/model/Behov.kt @@ -11,14 +11,13 @@ import no.nav.helsearbeidsgiver.felles.IKey import no.nav.helsearbeidsgiver.felles.Key import no.nav.helsearbeidsgiver.felles.rapidsrivers.composite.TxMessage import no.nav.helsearbeidsgiver.felles.utils.mapOfNotNull -import java.lang.IllegalArgumentException class Behov( val event: EventName, val behov: BehovType, val forespoerselId: String?, - private val jsonMessage: JsonMessage -) : Message, TxMessage { + val jsonMessage: JsonMessage +) : TxMessage { init { packetValidator.validate(jsonMessage) @@ -69,12 +68,7 @@ class Behov( } } - override operator fun get(key: IKey): JsonNode = jsonMessage[key.str] - - override operator fun set(key: IKey, value: Any) { - if (key == Key.EVENT_NAME || key == Key.BEHOV || key == Key.CLIENT_ID) throw IllegalArgumentException("Set ${key.str} er ikke tillat. ") - jsonMessage[key.str] = value - } + operator fun get(key: IKey): JsonNode = jsonMessage[key.str] fun createData(map: Map): Data { val forespoerselID = this[Key.FORESPOERSEL_ID] @@ -127,8 +121,4 @@ class Behov( } override fun uuid() = jsonMessage[Key.UUID.str].takeUnless { it.isMissingOrNull() }?.asText().orEmpty() - - override fun toJsonMessage(): JsonMessage { - return this.jsonMessage - } } diff --git a/felles/src/main/kotlin/no/nav/helsearbeidsgiver/felles/rapidsrivers/model/Data.kt b/felles/src/main/kotlin/no/nav/helsearbeidsgiver/felles/rapidsrivers/model/Data.kt index 8afea458a..8886bba36 100644 --- a/felles/src/main/kotlin/no/nav/helsearbeidsgiver/felles/rapidsrivers/model/Data.kt +++ b/felles/src/main/kotlin/no/nav/helsearbeidsgiver/felles/rapidsrivers/model/Data.kt @@ -1,18 +1,15 @@ package no.nav.helsearbeidsgiver.felles.rapidsrivers.model -import com.fasterxml.jackson.databind.JsonNode import no.nav.helse.rapids_rivers.JsonMessage import no.nav.helse.rapids_rivers.River import no.nav.helse.rapids_rivers.isMissingOrNull import no.nav.helsearbeidsgiver.felles.DataFelt import no.nav.helsearbeidsgiver.felles.EventName -import no.nav.helsearbeidsgiver.felles.IKey import no.nav.helsearbeidsgiver.felles.Key import no.nav.helsearbeidsgiver.felles.rapidsrivers.composite.TxMessage -import java.lang.IllegalArgumentException import java.util.UUID -class Data(val event: EventName, private val jsonMessage: JsonMessage) : Message, TxMessage { +class Data(val event: EventName, val jsonMessage: JsonMessage) : TxMessage { init { packetValidator.validate(jsonMessage) @@ -36,16 +33,5 @@ class Data(val event: EventName, private val jsonMessage: JsonMessage) : Message } } - override operator fun get(key: IKey): JsonNode = jsonMessage[key.str] - - override operator fun set(key: IKey, value: Any) { - if (key == Key.EVENT_NAME || key == Key.BEHOV || key == Key.CLIENT_ID) throw IllegalArgumentException("Set ${key.str} er ikke tillat. ") - jsonMessage[key.str] = value - } - override fun uuid(): String = jsonMessage[Key.UUID.str].takeUnless { it.isMissingOrNull() }?.asText().orEmpty() - - override fun toJsonMessage(): JsonMessage { - return this.jsonMessage - } } diff --git a/felles/src/main/kotlin/no/nav/helsearbeidsgiver/felles/rapidsrivers/model/Event.kt b/felles/src/main/kotlin/no/nav/helsearbeidsgiver/felles/rapidsrivers/model/Event.kt index 1228e676f..f6a247e87 100644 --- a/felles/src/main/kotlin/no/nav/helsearbeidsgiver/felles/rapidsrivers/model/Event.kt +++ b/felles/src/main/kotlin/no/nav/helsearbeidsgiver/felles/rapidsrivers/model/Event.kt @@ -1,20 +1,21 @@ package no.nav.helsearbeidsgiver.felles.rapidsrivers.model -import com.fasterxml.jackson.databind.JsonNode import no.nav.helse.rapids_rivers.JsonMessage import no.nav.helse.rapids_rivers.River import no.nav.helse.rapids_rivers.isMissingOrNull -import no.nav.helsearbeidsgiver.felles.BehovType -import no.nav.helsearbeidsgiver.felles.DataFelt import no.nav.helsearbeidsgiver.felles.EventName import no.nav.helsearbeidsgiver.felles.IKey import no.nav.helsearbeidsgiver.felles.Key import no.nav.helsearbeidsgiver.felles.rapidsrivers.composite.TxMessage import no.nav.helsearbeidsgiver.felles.utils.mapOfNotNull -import java.lang.IllegalArgumentException import java.util.UUID -class Event(val event: EventName, val forespoerselId: String? = null, private val jsonMessage: JsonMessage, val clientId: String? = null) : Message, TxMessage { +class Event( + val event: EventName, + val forespoerselId: String? = null, + val jsonMessage: JsonMessage, + val clientId: String? = null +) : TxMessage { @Transient var uuid: String? = null @@ -50,33 +51,8 @@ class Event(val event: EventName, val forespoerselId: String? = null, private va } } - override operator fun get(key: IKey): JsonNode = jsonMessage[key.str] - - override operator fun set(key: IKey, value: Any) { - if (key == Key.EVENT_NAME || key == Key.BEHOV || key == Key.CLIENT_ID) throw IllegalArgumentException("Set ${key.str} er ikke tillat. ") - jsonMessage[key.str] = value - } - - fun createBehov(behov: BehovType, map: Map): Behov { - val forespoerselID = jsonMessage[Key.FORESPOERSEL_ID.str].takeUnless { it.isMissingOrNull() } - uuid = uuid ?: UUID.randomUUID().toString() - return Behov( - event, - behov, - this.forespoerselId, - JsonMessage.newMessage( - event.name, - mapOfNotNull( - Key.BEHOV.str to behov.name, - Key.UUID.str to this.uuid, - Key.FORESPOERSEL_ID.str to forespoerselID - ) + map.mapKeys { it.key.str } - ) - ) - } - fun createFail(feilmelding: String, data: Map = emptyMap()): Fail { - val forespoerselID = this[Key.FORESPOERSEL_ID] + val forespoerselID = jsonMessage[Key.FORESPOERSEL_ID.str] return Fail.create( event, null, @@ -89,8 +65,4 @@ class Event(val event: EventName, val forespoerselId: String? = null, private va } override fun uuid() = this.uuid.orEmpty() - - override fun toJsonMessage(): JsonMessage { - return this.jsonMessage - } } diff --git a/felles/src/main/kotlin/no/nav/helsearbeidsgiver/felles/rapidsrivers/model/Fail.kt b/felles/src/main/kotlin/no/nav/helsearbeidsgiver/felles/rapidsrivers/model/Fail.kt index 2eae0dd16..ca7d89877 100644 --- a/felles/src/main/kotlin/no/nav/helsearbeidsgiver/felles/rapidsrivers/model/Fail.kt +++ b/felles/src/main/kotlin/no/nav/helsearbeidsgiver/felles/rapidsrivers/model/Fail.kt @@ -1,6 +1,5 @@ package no.nav.helsearbeidsgiver.felles.rapidsrivers.model -import com.fasterxml.jackson.databind.JsonNode import no.nav.helse.rapids_rivers.JsonMessage import no.nav.helse.rapids_rivers.River import no.nav.helse.rapids_rivers.isMissingOrNull @@ -9,15 +8,14 @@ import no.nav.helsearbeidsgiver.felles.EventName import no.nav.helsearbeidsgiver.felles.IKey import no.nav.helsearbeidsgiver.felles.Key import no.nav.helsearbeidsgiver.felles.rapidsrivers.composite.TxMessage -import java.lang.IllegalArgumentException class Fail( val event: EventName, val behov: BehovType? = null, val feilmelding: String, val uuid: String? = null, - private val jsonMessage: JsonMessage -) : Message, TxMessage { + val jsonMessage: JsonMessage +) : TxMessage { init { packetValidator.validate(jsonMessage) @@ -67,18 +65,7 @@ class Fail( } } - override operator fun get(key: IKey): JsonNode = jsonMessage[key.str] - - override operator fun set(key: IKey, value: Any) { - if (key == Key.EVENT_NAME || key == Key.BEHOV || key == Key.CLIENT_ID) throw IllegalArgumentException("Set ${key.str} er ikke tillat. ") - jsonMessage[key.str] = value - } - override fun uuid(): String { return uuid.orEmpty() } - - override fun toJsonMessage(): JsonMessage { - return this.jsonMessage - } } diff --git a/felles/src/main/kotlin/no/nav/helsearbeidsgiver/felles/rapidsrivers/model/Message.kt b/felles/src/main/kotlin/no/nav/helsearbeidsgiver/felles/rapidsrivers/model/Message.kt deleted file mode 100644 index 12f7254c5..000000000 --- a/felles/src/main/kotlin/no/nav/helsearbeidsgiver/felles/rapidsrivers/model/Message.kt +++ /dev/null @@ -1,13 +0,0 @@ -package no.nav.helsearbeidsgiver.felles.rapidsrivers.model - -import com.fasterxml.jackson.databind.JsonNode -import no.nav.helse.rapids_rivers.JsonMessage -import no.nav.helsearbeidsgiver.felles.IKey - -interface Message { - - operator fun get(key: IKey): JsonNode - - operator fun set(key: IKey, value: Any) - fun toJsonMessage(): JsonMessage -} diff --git a/felles/src/test/kotlin/no/nav/helsearbeidsgiver/felles/rapidsrivers/model/BehovTest.kt b/felles/src/test/kotlin/no/nav/helsearbeidsgiver/felles/rapidsrivers/model/BehovTest.kt index 20cdc07de..2c44e1eef 100644 --- a/felles/src/test/kotlin/no/nav/helsearbeidsgiver/felles/rapidsrivers/model/BehovTest.kt +++ b/felles/src/test/kotlin/no/nav/helsearbeidsgiver/felles/rapidsrivers/model/BehovTest.kt @@ -30,7 +30,7 @@ class BehovTest { ) val feilmelding = "feilmelding" val fail = behov.createFail(feilmelding) - val message = fail.toJsonMessage() + val message = fail.jsonMessage println(message.toJson()) assertFalse(message[Key.FAIL.str].isNull) assertEquals(feilmelding, message[Key.FAIL.str].asText()) 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 fc7b91a3e..9d4ba290e 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 @@ -53,7 +53,7 @@ class KvitteringServiceTest { ) ) testRapid.reset() - testRapid.sendTestMessage(behov.createData(mapOf(DataFelt.INNTEKTSMELDING_DOKUMENT to im)).toJsonMessage().toJson()) + testRapid.sendTestMessage(behov.createData(mapOf(DataFelt.INNTEKTSMELDING_DOKUMENT to im)).jsonMessage.toJson()) assertEquals(im, redisStore.get(uuid + DataFelt.INNTEKTSMELDING_DOKUMENT)) } } diff --git a/inntekt/src/main/kotlin/no/nav/helsearbeidsgiver/inntektsmelding/inntekt/InntektLoeser.kt b/inntekt/src/main/kotlin/no/nav/helsearbeidsgiver/inntektsmelding/inntekt/InntektLoeser.kt index 629e705dd..d5e0d2100 100644 --- a/inntekt/src/main/kotlin/no/nav/helsearbeidsgiver/inntektsmelding/inntekt/InntektLoeser.kt +++ b/inntekt/src/main/kotlin/no/nav/helsearbeidsgiver/inntektsmelding/inntekt/InntektLoeser.kt @@ -55,7 +55,7 @@ class InntektLoeser( override fun onBehov(behov: Behov) { logger.info("Mottok melding med behov '${BehovType.INNTEKT}'.") - sikkerLogger.info("Mottok melding:\n${behov.toJsonMessage().toPretty()}") + sikkerLogger.info("Mottok melding:\n${behov.jsonMessage.toPretty()}") MdcUtils.withLogFields( Log.klasse(this), diff --git a/inntekt/src/test/kotlin/no/nav/helsearbeidsgiver/inntektsmelding/inntekt/InntektLoeserTest.kt b/inntekt/src/test/kotlin/no/nav/helsearbeidsgiver/inntektsmelding/inntekt/InntektLoeserTest.kt index 7b48725be..1e8f3c5b1 100644 --- a/inntekt/src/test/kotlin/no/nav/helsearbeidsgiver/inntektsmelding/inntekt/InntektLoeserTest.kt +++ b/inntekt/src/test/kotlin/no/nav/helsearbeidsgiver/inntektsmelding/inntekt/InntektLoeserTest.kt @@ -23,9 +23,7 @@ import no.nav.helsearbeidsgiver.felles.Key import no.nav.helsearbeidsgiver.felles.Orgnr import no.nav.helsearbeidsgiver.felles.json.toJson import no.nav.helsearbeidsgiver.felles.json.toMap -import no.nav.helsearbeidsgiver.felles.rapidsrivers.interestedIn -import no.nav.helsearbeidsgiver.felles.rapidsrivers.model.Data -import no.nav.helsearbeidsgiver.felles.test.json.toDomeneMessage +import no.nav.helsearbeidsgiver.felles.test.json.readFail import no.nav.helsearbeidsgiver.felles.test.rapidsrivers.firstMessage import no.nav.helsearbeidsgiver.felles.test.rapidsrivers.sendJson import no.nav.helsearbeidsgiver.felles.utils.toYearMonth @@ -69,11 +67,10 @@ class InntektLoeserTest : FunSpec({ testRapid.sendJson(*mockInnkommendeMelding()) - val publisert = testRapid.firstMessage().toDomeneMessage() { - it.interestedIn(DataFelt.INNTEKT) - } + val publisert = testRapid.firstMessage().toMap() - publisert[DataFelt.INNTEKT].toString().fromJson(Inntekt.serializer()) shouldBe Inntekt( + publisert shouldContainKey Key.DATA + publisert[DataFelt.INNTEKT]?.fromJson(Inntekt.serializer()) shouldBe Inntekt( maanedOversikt = listOf( InntektPerMaaned( maaned = januar(2018), @@ -104,11 +101,10 @@ class InntektLoeserTest : FunSpec({ testRapid.sendJson(*mockInnkommendeMelding()) - val publisert = testRapid.firstMessage().toDomeneMessage() { - it.interestedIn(DataFelt.INNTEKT) - } + val publisert = testRapid.firstMessage().toMap() - publisert[DataFelt.INNTEKT].toString().fromJson(Inntekt.serializer()) shouldBe Inntekt( + publisert shouldContainKey Key.DATA + publisert[DataFelt.INNTEKT]?.fromJson(Inntekt.serializer()) shouldBe Inntekt( maanedOversikt = listOf( InntektPerMaaned( maaned = januar(2018), @@ -143,11 +139,10 @@ class InntektLoeserTest : FunSpec({ testRapid.sendJson(*mockInnkommendeMelding()) - val publisert = testRapid.firstMessage().toDomeneMessage() { - it.interestedIn(DataFelt.INNTEKT) - } + val publisert = testRapid.firstMessage().toMap() - publisert[DataFelt.INNTEKT].toString().fromJson(Inntekt.serializer()) shouldBe Inntekt( + publisert shouldContainKey Key.DATA + publisert[DataFelt.INNTEKT]?.fromJson(Inntekt.serializer()) shouldBe Inntekt( maanedOversikt = listOf( InntektPerMaaned( maaned = januar(2018), @@ -213,7 +208,7 @@ class InntektLoeserTest : FunSpec({ inntektKlient.hentInntektPerOrgnrOgMaaned(any(), any(), any(), any(), any()) } - val publisert = testRapid.firstMessage().toDomeneMessage() + val publisert = testRapid.firstMessage().readFail() publisert.feilmelding shouldBe "Klarte ikke hente inntekt." } @@ -227,7 +222,7 @@ class InntektLoeserTest : FunSpec({ inntektKlient.hentInntektPerOrgnrOgMaaned(any(), any(), any(), any(), any()) } - val publisert = testRapid.firstMessage().toDomeneMessage() + val publisert = testRapid.firstMessage().readFail() publisert.feilmelding shouldBe "Klarte ikke lese påkrevde felt fra innkommende melding." } @@ -247,7 +242,7 @@ class InntektLoeserTest : FunSpec({ inntektKlient.hentInntektPerOrgnrOgMaaned(any(), any(), any(), any(), any()) } - val publisert = testRapid.firstMessage().toDomeneMessage() + val publisert = testRapid.firstMessage().readFail() publisert.feilmelding shouldBe "Ukjent feil." } diff --git a/joark/src/test/kotlin/no/nav/helsearbeidsgiver/inntektsmelding/joark/JournalfoerInntektsmeldingLoeserTest.kt b/joark/src/test/kotlin/no/nav/helsearbeidsgiver/inntektsmelding/joark/JournalfoerInntektsmeldingLoeserTest.kt index d04a7ba85..3bedb83e4 100644 --- a/joark/src/test/kotlin/no/nav/helsearbeidsgiver/inntektsmelding/joark/JournalfoerInntektsmeldingLoeserTest.kt +++ b/joark/src/test/kotlin/no/nav/helsearbeidsgiver/inntektsmelding/joark/JournalfoerInntektsmeldingLoeserTest.kt @@ -13,9 +13,8 @@ import no.nav.helsearbeidsgiver.felles.DataFelt import no.nav.helsearbeidsgiver.felles.EventName import no.nav.helsearbeidsgiver.felles.Key import no.nav.helsearbeidsgiver.felles.json.toJson -import no.nav.helsearbeidsgiver.felles.rapidsrivers.model.Fail import no.nav.helsearbeidsgiver.felles.test.json.fromJsonMapOnlyKeys -import no.nav.helsearbeidsgiver.felles.test.json.toDomeneMessage +import no.nav.helsearbeidsgiver.felles.test.json.readFail import no.nav.helsearbeidsgiver.felles.test.mock.mockInntektsmelding import no.nav.helsearbeidsgiver.felles.test.rapidsrivers.firstMessage import no.nav.helsearbeidsgiver.felles.test.rapidsrivers.sendJson @@ -56,7 +55,7 @@ class JournalfoerInntektsmeldingLoeserTest { Key.UUID to "uuid-557".toJson() ) - val fail = testRapid.firstMessage().toDomeneMessage() + val fail = testRapid.firstMessage().readFail() assertEquals(forventetFeilmelding, fail.feilmelding) } @@ -96,7 +95,7 @@ class JournalfoerInntektsmeldingLoeserTest { DataFelt.INNTEKTSMELDING_DOKUMENT to "xyz".toJson(), Key.UUID to "uuid-549".toJson() ) - val fail = testRapid.firstMessage().toDomeneMessage() + val fail = testRapid.firstMessage().readFail() assertTrue(fail.feilmelding.isNotEmpty()) } } diff --git a/notifikasjon/src/test/kotlin/no/nav/helsearbeidsgiver/inntektsmelding/notifikasjon/OpprettOppgaveServiceTest.kt b/notifikasjon/src/test/kotlin/no/nav/helsearbeidsgiver/inntektsmelding/notifikasjon/OpprettOppgaveServiceTest.kt index af424789e..0e5e55950 100644 --- a/notifikasjon/src/test/kotlin/no/nav/helsearbeidsgiver/inntektsmelding/notifikasjon/OpprettOppgaveServiceTest.kt +++ b/notifikasjon/src/test/kotlin/no/nav/helsearbeidsgiver/inntektsmelding/notifikasjon/OpprettOppgaveServiceTest.kt @@ -51,7 +51,7 @@ class OpprettOppgaveServiceTest { behov = BehovType.OPPRETT_OPPGAVE, forespoerselId = "987654321" ).createFail("Uff") - assertTrue(service.isFailMelding(failFraBehov.toJsonMessage())) + assertTrue(service.isFailMelding(failFraBehov.jsonMessage)) } @Disabled("Enable om vi begynner å bruke ny Fail-objekt sammen med CompositeEventListener") @@ -63,8 +63,8 @@ class OpprettOppgaveServiceTest { feilmelding = "OpprettOppgave feilet", uuid = UUID.randomUUID().toString() ) - assertEquals(Transaction.TERMINATE, service.determineTransactionState(rapidAndRiverFail.toJsonMessage())) - assertTrue(service.isFailMelding(rapidAndRiverFail.toJsonMessage())) + assertEquals(Transaction.TERMINATE, service.determineTransactionState(rapidAndRiverFail.jsonMessage)) + assertTrue(service.isFailMelding(rapidAndRiverFail.jsonMessage)) } @Test