diff --git a/src/main/kotlin/no/nav/familie/oppdrag/iverksetting/OppdragMottaker.kt b/src/main/kotlin/no/nav/familie/oppdrag/iverksetting/OppdragMottaker.kt index a8539f06..4699edfe 100644 --- a/src/main/kotlin/no/nav/familie/oppdrag/iverksetting/OppdragMottaker.kt +++ b/src/main/kotlin/no/nav/familie/oppdrag/iverksetting/OppdragMottaker.kt @@ -28,9 +28,9 @@ class OppdragMottaker( fun mottaKvitteringFraOppdrag(melding: TextMessage) { try { behandleMelding(melding) + secureLogger.info(melding.text) } catch (e: Exception) { secureLogger.warn("Feilet lesing av melding=${melding.jmsMessageID} meldingInnhold=${melding}", e) - secureLogger.info(melding.text) throw e } } @@ -42,6 +42,8 @@ class OppdragMottaker( svarFraOppdrag = svarFraOppdrag.replace("oppdrag xmlns", "ns2:oppdrag xmlns:ns2") } else if (svarFraOppdrag.contains("ns6:oppdrag")) { svarFraOppdrag = svarFraOppdrag.replace("oppdrag xmlns", "ns6:oppdrag xmlns:ns6") + } else if(svarFraOppdrag.contains("")) { + svarFraOppdrag = svarFraOppdrag.replace("", "") } } diff --git a/src/test/kotlin/no/nav/familie/oppdrag/iverksetting/OppdragMQMottakTest.kt b/src/test/kotlin/no/nav/familie/oppdrag/iverksetting/OppdragMQMottakTest.kt index e4b111bd..f5f09d97 100644 --- a/src/test/kotlin/no/nav/familie/oppdrag/iverksetting/OppdragMQMottakTest.kt +++ b/src/test/kotlin/no/nav/familie/oppdrag/iverksetting/OppdragMQMottakTest.kt @@ -43,6 +43,13 @@ class OppdragMQMottakTest { assertEquals(Status.OK, statusFraKvittering) } + @Test + fun kvittering_feiler_i_preprod() { + val kvittering: String = lesKvittering("kvittering-krasjer.xml") + val statusFraKvittering = oppdragMottaker.lesKvittering(kvittering).status + assertEquals(Status.OK, statusFraKvittering) + } + @Test fun skal_tolke_kvittering_riktig_ved_feil() { val kvittering: String = lesKvittering("kvittering-avvist.xml") @@ -91,6 +98,27 @@ class OppdragMQMottakTest { verify(exactly = 1) { oppdragLagerRepository.oppdaterKvitteringsmelding(any(), any(), any(), 1) } } + @Test + fun skal_lagre_kvittering_på_versjon_som_feiler_i_preprod_pga_xmlns() { + val oppdragLager = utbetalingsoppdragMedTilfeldigAktoer().somKvitteringsinformasjon.copy(status = OppdragStatus.KVITTERT_OK) + val oppdragLagerV1 = utbetalingsoppdragMedTilfeldigAktoer().somKvitteringsinformasjon.copy(versjon = 1) + + val oppdragLagerRepository = mockk() + + every { oppdragLagerRepository.hentKvitteringsinformasjon(any()) } returns + listOf(oppdragLager, oppdragLagerV1) + + every { oppdragLagerRepository.oppdaterStatus(any(), any(), any()) } just Runs + every { oppdragLagerRepository.oppdaterKvitteringsmelding(any(), any(), any(), any()) } just Runs + + val oppdragMottaker = OppdragMottaker(oppdragLagerRepository, devEnv) + + oppdragMottaker.mottaKvitteringFraOppdrag("kvittering-krasjer.xml".fraRessursSomTextMessage) + + verify(exactly = 0) { oppdragLagerRepository.oppdaterKvitteringsmelding(any(), any(), any(), 0) } + verify(exactly = 1) { oppdragLagerRepository.oppdaterKvitteringsmelding(any(), any(), any(), 1) } + } + @Test fun skal_logge_error_hvis_det_finnes_to_identiske_oppdrag_i_databasen() { val oppdragLagerRepository = mockk() diff --git a/src/test/resources/kvittering-akseptert.xml b/src/test/resources/kvittering-akseptert.xml index 25e6d4d6..452c7817 100644 --- a/src/test/resources/kvittering-akseptert.xml +++ b/src/test/resources/kvittering-akseptert.xml @@ -1,5 +1,5 @@ - + 231-OPPD 00 diff --git a/src/test/resources/kvittering-krasjer.xml b/src/test/resources/kvittering-krasjer.xml new file mode 100644 index 00000000..2096faca --- /dev/null +++ b/src/test/resources/kvittering-krasjer.xml @@ -0,0 +1,47 @@ + + + + 231-OPPD + 00 + + + 1 + ENDR + EFSP + 200054148 + MND + 08909298858 + 2000-01-01+01:00 + Z994119 + + EF + 2024-02-29-09.30.44.136442 + 2024-02-29-09.30.44.136442 + + + BOS + 8020 + 1900-01-01+01:00 + + + NY + 2024-02-29 + 2000541481 + EFSP + 2024-02-01+01:00 + 2024-02-29+01:00 + 13579 + T + ENG + N + Z994119 + 08909298858 + 18172 + 200054148 + 2000541480 + + Z994119 + + + + \ No newline at end of file