Skip to content

Commit

Permalink
Ettersom vi har startet å fatte vedtak utenfor Arena og Lel-løsningen…
Browse files Browse the repository at this point in the history
… vil det komme vedtak hvor Lel-løsningen ikke er involvert. Laget en fiks der dp-regel-api skipper Id er som ikke er Ulid
  • Loading branch information
geiralund committed Oct 18, 2024
1 parent 0bf318f commit 956a091
Show file tree
Hide file tree
Showing 2 changed files with 45 additions and 0 deletions.
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
package no.nav.dagpenger.regel.api.streams

import de.huxhorn.sulky.ulid.ULID
import mu.KotlinLogging
import no.nav.dagpenger.regel.api.Configuration
import no.nav.dagpenger.regel.api.db.EksternSubsumsjonBrukt
Expand Down Expand Up @@ -82,6 +83,13 @@ internal class KafkaSubsumsjonBruktConsumer(
.filterNot { _, bruktSubsumsjon ->
"AVSLU" == bruktSubsumsjon.vedtakStatus && "AVBRUTT" == bruktSubsumsjon.utfall
}
.filter { _, bruktSubsumsjon ->
kotlin.runCatching { ULID.parseULID(bruktSubsumsjon.id) }.isSuccess.also {
if (!it) {
LOGGER.warn { "Kunne ikke lese $bruktSubsumsjon -> ID er ikke ULID og ikke laget av dp-regel" }
}
}
}
.mapValues { _, bruktSubsumsjon -> bruktSubsumsjonStrategy.handle(bruktSubsumsjon) }
.filterNot { _, value -> value == null }
.mapValues { _, faktum ->
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,7 @@ import org.junit.jupiter.api.Test
import java.time.LocalDate
import java.time.ZonedDateTime
import java.util.Properties
import java.util.UUID

class KafkaSubsumsjonBruktConsumerTest {
val streamsConfig =
Expand Down Expand Up @@ -342,6 +343,42 @@ class KafkaSubsumsjonBruktConsumerTest {
}
}

@Test
fun `skal filtrere ut der Id ikke er laget av dp-regel-api (der Id er noe annet enn ULID)`() {
val config = Configuration
val storeMock =
mockk<BruktSubsumsjonStore>(relaxed = true)
val subsumsjonBruktConsumer =
KafkaSubsumsjonBruktConsumer(config, BruktSubsumsjonStrategy(mockk(relaxed = true), storeMock))

val bruktSubsumsjon =
EksternSubsumsjonBrukt(
id = UUID.randomUUID().toString(),
eksternId = 1234678L,
arenaTs = now,
ts = now.toInstant().toEpochMilli(),
)

TopologyTestDriver(subsumsjonBruktConsumer.buildTopology(), streamsConfig).use {
val topic =
it.createInputTopic(
subsumsjonBruktConsumer.subsumsjonBruktTopic.name,
subsumsjonBruktConsumer.subsumsjonBruktTopic.keySerde.serializer(),
subsumsjonBruktConsumer.subsumsjonBruktTopic.valueSerde.serializer(),
)
topic.pipeInput(bruktSubsumsjon.toJson())

val outTopic =
it.createOutputTopic(
"teamdagpenger.inntektbrukt.v1",
Serdes.StringSerde().deserializer(),
Serdes.StringSerde().deserializer(),
)

outTopic.isEmpty shouldBe true
}
}

@Test
fun `Should be able to convert scientific notation back to long`() {
val science = "1.2345678E7"
Expand Down

0 comments on commit 956a091

Please sign in to comment.