Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

ktlint 1.3.0 #276

Merged
merged 1 commit into from
Jun 11, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
16 changes: 9 additions & 7 deletions apps/etterlatte-notifikasjoner/src/main/kotlin/Application.kt
Original file line number Diff line number Diff line change
Expand Up @@ -2,13 +2,15 @@ package no.nav.etterlatte

import no.nav.helse.rapids_rivers.RapidApplication


fun main() {
val env = System.getenv().toMutableMap().apply {
put("KAFKA_CONSUMER_GROUP_ID", get("NAIS_APP_NAME")!!.replace("-", ""))
}
val env =
System.getenv().toMutableMap().apply {
put("KAFKA_CONSUMER_GROUP_ID", get("NAIS_APP_NAME")!!.replace("-", ""))
}
val sendNotifikasjonApp = SendNotifikasjon(env)
RapidApplication.create(env).also {
Notifikasjon(sendNotifikasjonApp,it)
}.start()
RapidApplication
.create(env)
.also {
Notifikasjon(sendNotifikasjonApp, it)
}.start()
}
11 changes: 6 additions & 5 deletions apps/etterlatte-notifikasjoner/src/main/kotlin/JsonUtils.kt
Original file line number Diff line number Diff line change
Expand Up @@ -6,8 +6,9 @@ import com.fasterxml.jackson.databind.SerializationFeature
import com.fasterxml.jackson.datatype.jsr310.JavaTimeModule
import com.fasterxml.jackson.module.kotlin.jacksonObjectMapper

val mapper: ObjectMapper = jacksonObjectMapper()
.enable(DeserializationFeature.READ_UNKNOWN_ENUM_VALUES_AS_NULL)
.disable(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES)
.disable(SerializationFeature.WRITE_DATES_AS_TIMESTAMPS)
.registerModule(JavaTimeModule())
val mapper: ObjectMapper =
jacksonObjectMapper()
.enable(DeserializationFeature.READ_UNKNOWN_ENUM_VALUES_AS_NULL)
.disable(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES)
.disable(SerializationFeature.WRITE_DATES_AS_TIMESTAMPS)
.registerModule(JavaTimeModule())
59 changes: 31 additions & 28 deletions apps/etterlatte-notifikasjoner/src/main/kotlin/Notifikasjon.kt
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
package no.nav.etterlatte

import com.fasterxml.jackson.databind.JsonNode
import com.fasterxml.jackson.module.kotlin.readValue
import kotlinx.coroutines.runBlocking
import no.nav.helse.rapids_rivers.JsonMessage
Expand All @@ -10,47 +9,51 @@ import no.nav.helse.rapids_rivers.River
import org.slf4j.Logger
import org.slf4j.LoggerFactory


class Notifikasjon(private val sendNotifikasjon: SendNotifikasjon, rapidsConnection: RapidsConnection) :
River.PacketListener {

class Notifikasjon(
private val sendNotifikasjon: SendNotifikasjon,
rapidsConnection: RapidsConnection
) : River.PacketListener {
private val logger: Logger = LoggerFactory.getLogger(Notifikasjon::class.java)

private val rapid = rapidsConnection

init {
River(rapidsConnection).apply {
validate { it.demandValue("@event_name", "soeknad_innsendt") }
validate { it.requireKey("@dokarkivRetur") }
validate { it.requireKey("@fnr_soeker") }
validate { it.requireKey("@skjema_info") }
validate { it.requireKey("@lagret_soeknad_id") }
}.register(this)
River(rapidsConnection)
.apply {
validate { it.demandValue("@event_name", "soeknad_innsendt") }
validate { it.requireKey("@dokarkivRetur") }
validate { it.requireKey("@fnr_soeker") }
validate { it.requireKey("@skjema_info") }
validate { it.requireKey("@lagret_soeknad_id") }
}.register(this)
}

override fun onPacket(packet: JsonMessage, context: MessageContext) {
override fun onPacket(
packet: JsonMessage,
context: MessageContext
) {
runBlocking {
val soeknad = mapper.readValue<Soeknad>(packet["@skjema_info"].toString())

sendNotifikasjon.sendMessage(soeknad)

val journalpostId = packet["@dokarkivRetur"]["journalpostId"]
JsonMessage.newMessage(
mapOf(
"@event_name" to "notifikasjon_sendt",
"@lagret_soeknad_id" to packet["@lagret_soeknad_id"],
"@journalpostId" to journalpostId,
"@notifikasjon" to "Notifikasjon sendt",
)
).apply {
try {
rapid.publish("SendNotifikasjon " + journalpostId.textValue(), toJson())
} catch (err: Exception) {
logger.error("Uhaandtert feilsituasjon. Ingen notifikasjon opprettet: ", err)
JsonMessage
.newMessage(
mapOf(
"@event_name" to "notifikasjon_sendt",
"@lagret_soeknad_id" to packet["@lagret_soeknad_id"],
"@journalpostId" to journalpostId,
"@notifikasjon" to "Notifikasjon sendt"
)
).apply {
try {
rapid.publish("SendNotifikasjon " + journalpostId.textValue(), toJson())
} catch (err: Exception) {
logger.error("Uhaandtert feilsituasjon. Ingen notifikasjon opprettet: ", err)
}
}

}
logger.info("Notifikasjon til bruker opprettet")
}
}
}
}
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
package no.nav.etterlatte

import com.fasterxml.jackson.databind.JsonNode
import no.nav.brukernotifikasjon.schemas.builders.BeskjedInputBuilder
import no.nav.brukernotifikasjon.schemas.builders.NokkelInputBuilder
import no.nav.brukernotifikasjon.schemas.input.BeskjedInput
Expand Down Expand Up @@ -37,11 +36,12 @@ class SendNotifikasjon(
internal fun opprettBeskjed(type: Soeknad.Type): BeskjedInput {
val now = LocalDateTime.now(ZoneOffset.UTC)
val weekFromNow = now.plusDays(7)
val tekst = when (type) {
Soeknad.Type.GJENLEVENDEPENSJON -> "Vi har mottatt søknaden din om gjenlevendepensjon"
Soeknad.Type.BARNEPENSJON -> "Vi har mottatt søknaden din om barnepensjon"
Soeknad.Type.OMSTILLINGSSTOENAD -> "Vi har mottatt søknaden din om omstillingsstønad"
}
val tekst =
when (type) {
Soeknad.Type.GJENLEVENDEPENSJON -> "Vi har mottatt søknaden din om gjenlevendepensjon"
Soeknad.Type.BARNEPENSJON -> "Vi har mottatt søknaden din om barnepensjon"
Soeknad.Type.OMSTILLINGSSTOENAD -> "Vi har mottatt søknaden din om omstillingsstønad"
}

return BeskjedInputBuilder()
.withTidspunkt(LocalDateTime.now(ZoneOffset.UTC))
Expand All @@ -52,20 +52,24 @@ class SendNotifikasjon(
.build()
}

private fun opprettNokkel(ident: String) = NokkelInputBuilder()
.withEventId(UUID.randomUUID().toString())
.withGrupperingsId(grupperingsId)
.withNamespace(namespace)
.withAppnavn(appname)
.withFodselsnummer(ident)
.build()
private fun opprettNokkel(ident: String) =
NokkelInputBuilder()
.withEventId(UUID.randomUUID().toString())
.withGrupperingsId(grupperingsId)
.withNamespace(namespace)
.withAppnavn(appname)
.withFodselsnummer(ident)
.build()

private fun send(nokkel: NokkelInput, beskjed: BeskjedInput) = try {
private fun send(
nokkel: NokkelInput,
beskjed: BeskjedInput
) = try {
producer.send(ProducerRecord(brukernotifikasjontopic, nokkel, beskjed)).get(10, TimeUnit.SECONDS)
} catch (e: Exception) {
logger.error(
"Beskjed til $brukernotifikasjontopic (Ditt NAV) for søknad med id ${nokkel.grupperingsId} feilet.",
e
)
}
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -22,4 +22,4 @@ data class Innsender(
data class Foedselsnummer(
@JsonProperty("svar")
val value: String
)
)
147 changes: 74 additions & 73 deletions apps/etterlatte-notifikasjoner/src/test/kotlin/NotifikasjonTest.kt
Original file line number Diff line number Diff line change
@@ -1,4 +1,3 @@
import com.fasterxml.jackson.databind.JsonNode
import com.fasterxml.jackson.module.kotlin.readValue
import io.mockk.mockk
import no.nav.brukernotifikasjon.schemas.input.BeskjedInput
Expand All @@ -20,14 +19,16 @@ internal class NotifikasjonTest {
private val mockKafkaProducer =
MockProducer<NokkelInput, BeskjedInput>(true, mockk(relaxed = true), mockk(relaxed = true))

private val sendMelding = SendNotifikasjon(
mapOf(
"BRUKERNOTIFIKASJON_BESKJED_TOPIC" to "test_topic",
"BRUKERNOTIFIKASJON_KAFKA_GROUP_ID" to "bah",
"NAIS_NAMESPACE" to "etterlatte",
"NAIS_NAME" to "etterlatte-notifikasjoner"
), mockKafkaProducer
)
private val sendMelding =
SendNotifikasjon(
mapOf(
"BRUKERNOTIFIKASJON_BESKJED_TOPIC" to "test_topic",
"BRUKERNOTIFIKASJON_KAFKA_GROUP_ID" to "bah",
"NAIS_NAMESPACE" to "etterlatte",
"NAIS_NAME" to "etterlatte-notifikasjoner"
),
mockKafkaProducer
)

@BeforeEach
fun before() {
Expand All @@ -39,28 +40,28 @@ internal class NotifikasjonTest {
val json = this::class.java.getResource("gjenlevendepensjon.json")!!.readText()
val soeknad: Soeknad = mapper.readValue(json)

val inspector = TestRapid()
.apply {
Notifikasjon(
sendMelding,
this
)
}
.apply {
sendTestMessage(
JsonMessage.newMessage(
mapOf(
"@event_name" to "soeknad_innsendt",
"@dokarkivRetur" to "123456",
"@fnr_soeker" to "07106123912",
"@skjema_info" to mapper.readTree(json),
"@lagret_soeknad_id" to "4",
"@dokarkivRetur" to (mapOf("journalpostId" to "3"))
)
val inspector =
TestRapid()
.apply {
Notifikasjon(
sendMelding,
this
)
}.apply {
sendTestMessage(
JsonMessage
.newMessage(
mapOf(
"@event_name" to "soeknad_innsendt",
"@dokarkivRetur" to "123456",
"@fnr_soeker" to "07106123912",
"@skjema_info" to mapper.readTree(json),
"@lagret_soeknad_id" to "4",
"@dokarkivRetur" to (mapOf("journalpostId" to "3"))
)
).toJson()
)
.toJson()
)
}.inspektør
}.inspektør

assertEquals("notifikasjon_sendt", inspector.message(0).get("@event_name").asText())
assertEquals("Notifikasjon sendt", inspector.message(0).get("@notifikasjon").asText())
Expand All @@ -83,28 +84,28 @@ internal class NotifikasjonTest {
val json = this::class.java.getResource("barnepensjon.json")!!.readText()
val soeknad: Soeknad = mapper.readValue(json)

val inspector = TestRapid()
.apply {
Notifikasjon(
sendMelding,
this
)
}
.apply {
sendTestMessage(
JsonMessage.newMessage(
mapOf(
"@event_name" to "soeknad_innsendt",
"@dokarkivRetur" to "123456",
"@fnr_soeker" to "07106123912",
"@skjema_info" to mapper.readTree(json),
"@lagret_soeknad_id" to "4",
"@dokarkivRetur" to (mapOf("journalpostId" to "5"))
)
val inspector =
TestRapid()
.apply {
Notifikasjon(
sendMelding,
this
)
.toJson()
)
}.inspektør
}.apply {
sendTestMessage(
JsonMessage
.newMessage(
mapOf(
"@event_name" to "soeknad_innsendt",
"@dokarkivRetur" to "123456",
"@fnr_soeker" to "07106123912",
"@skjema_info" to mapper.readTree(json),
"@lagret_soeknad_id" to "4",
"@dokarkivRetur" to (mapOf("journalpostId" to "5"))
)
).toJson()
)
}.inspektør

assertEquals("notifikasjon_sendt", inspector.message(0).get("@event_name").asText())
assertEquals("Notifikasjon sendt", inspector.message(0).get("@notifikasjon").asText())
Expand All @@ -124,28 +125,28 @@ internal class NotifikasjonTest {
val json = this::class.java.getResource("omstillingsstoenad.json")!!.readText()
val soeknad: Soeknad = mapper.readValue(json)

val inspector = TestRapid()
.apply {
Notifikasjon(
sendMelding,
this
)
}
.apply {
sendTestMessage(
JsonMessage.newMessage(
mapOf(
"@event_name" to "soeknad_innsendt",
"@dokarkivRetur" to "123456",
"@fnr_soeker" to "07106123912",
"@skjema_info" to mapper.readTree(json),
"@lagret_soeknad_id" to "4",
"@dokarkivRetur" to (mapOf("journalpostId" to "5"))
)
val inspector =
TestRapid()
.apply {
Notifikasjon(
sendMelding,
this
)
}.apply {
sendTestMessage(
JsonMessage
.newMessage(
mapOf(
"@event_name" to "soeknad_innsendt",
"@dokarkivRetur" to "123456",
"@fnr_soeker" to "07106123912",
"@skjema_info" to mapper.readTree(json),
"@lagret_soeknad_id" to "4",
"@dokarkivRetur" to (mapOf("journalpostId" to "5"))
)
).toJson()
)
.toJson()
)
}.inspektør
}.inspektør

assertEquals("notifikasjon_sendt", inspector.message(0).get("@event_name").asText())
assertEquals("Notifikasjon sendt", inspector.message(0).get("@notifikasjon").asText())
Expand All @@ -162,4 +163,4 @@ internal class NotifikasjonTest {
mockKafkaProducer.history()[0].key().fodselsnummer
)
}
}
}
Loading