Skip to content

Commit

Permalink
La til enkel logging av api-oppslag response
Browse files Browse the repository at this point in the history
  • Loading branch information
nilsmsa committed Jul 5, 2024
1 parent 69d44a6 commit be215cf
Show file tree
Hide file tree
Showing 2 changed files with 78 additions and 1 deletion.
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,7 @@ class BrukerstoetteService(
private val hendelseDeserializer: HendelseDeserializer
) {
private val errorLogger = LoggerFactory.getLogger("error_logger")
private val apiOppslagLogger = LoggerFactory.getLogger("api_oppslag_logger")
suspend fun hentDetaljer(identitetsnummer: String): DetaljerResponse? {
val (id, _) = kafkaKeysClient.getIdAndKey(identitetsnummer)
val hendelser = transaction {
Expand Down Expand Up @@ -80,6 +81,12 @@ class BrukerstoetteService(
.filterNot { periode -> opplysninger.any { periode.periodeId == it.periodeId } }
.plus(opplysninger.filterNot { opplysning -> profilernger.any { profilering -> profilering.periodeId == opplysning.periodeId } })
.right()
.onRight { result ->
apiOppslagLogger.info("Hentet data fra oppslagsapi, perioder: {}, opplysninger: {}, profileringer: {}",
result.distinctBy { it.periodeId }.size,
result.distinctBy { it.opplysningsId }.size,
result.distinctBy { it.profileringsId }.size
}
}
}
}
Expand All @@ -91,7 +98,7 @@ fun enrich(tilstand: Tilstand, apiData: List<ApiData>): Tilstand {
periodeData.any { it.opplysningsId == opplysningId }
} ?: false
val harProfilering = tilstand.gjeldeneOpplysningsId?.let { opplysningId ->
periodeData.any { it.opplysningsId == opplysningId }
periodeData.any { it.opplysningsId == opplysningId && it.profileringsId != null }
} ?: false
return tilstand.copy(
apiKall = TilstandApiKall(
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,70 @@
package no.nav.paw.arbeidssoekerregisteret.backup.brukerstoette

import io.kotest.core.spec.style.FreeSpec
import io.kotest.matchers.shouldBe
import no.nav.paw.arbeidssoekerregisteret.backup.api.brukerstoette.models.Tilstand
import no.nav.paw.arbeidssoekerregisteret.backup.api.brukerstoette.models.TilstandApiKall
import java.time.Instant
import java.util.*

class BrukerstoetteServiceKtTest : FreeSpec({
"BrukerstoetteService" - {
"enrich" - {
val tilstand1 = Tilstand(
harAktivePeriode = true,
periodeId = UUID.randomUUID(),
startet = Instant.now(),
harOpplysningerMottattHendelse = true,
avsluttet = null,
gjeldeneOpplysningsId = UUID.randomUUID(),
apiKall = null
)
"Når vi ikke har noe fra APIet settes alle til false" {
enrich(tilstand1, emptyList()) shouldBe tilstand1.copy(apiKall = TilstandApiKall(
harPeriode = false,
harOpplysning = false,
harProfilering = false
))
}
"Dersom Api har perioden settes denne til true" {
enrich(tilstand1, listOf(ApiData(tilstand1.periodeId, null, null))) shouldBe
tilstand1.copy(
apiKall = TilstandApiKall(
harPeriode = true,
harOpplysning = false,
harProfilering = false
)
)
}
"Dersom Api har perioden og oplysningene settes disse til true" {
enrich(tilstand1, listOf(ApiData(tilstand1.periodeId, tilstand1.gjeldeneOpplysningsId, null))) shouldBe
tilstand1.copy(
apiKall = TilstandApiKall(
harPeriode = true,
harOpplysning = true,
harProfilering = false
)
)
}
"Dersom Api har perioden og profilering settes disse til true" {
enrich(
tilstand1,
listOf(
ApiData(
tilstand1.periodeId,
tilstand1.gjeldeneOpplysningsId,
tilstand1.gjeldeneOpplysningsId
)
)
) shouldBe
tilstand1.copy(
apiKall = TilstandApiKall(
harPeriode = true,
harOpplysning = true,
harProfilering = true
)
)
}
}
}
})

0 comments on commit be215cf

Please sign in to comment.