From 56ffcb731caa061d2ed28a1dfff3066253368054 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 20 Oct 2023 11:03:07 +0200 Subject: [PATCH] Bump felles.version og ktlint (#958) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Stig Helge Strøm Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- .editorconfig | 2 + pom.xml | 8 +- .../baks/mottak/config/ApplicationConfig.kt | 12 +- .../familie/baks/mottak/config/CacheConfig.kt | 45 +- .../baks/mottak/config/KafkaAivenConfig.kt | 77 +-- .../config/KafkaRestartingErrorHandler.kt | 18 +- .../baks/mottak/config/RestTemplateConfig.kt | 1 - .../baks/mottak/config/StsRestClientConfig.kt | 1 - .../baks/mottak/domene/Hendelseslogg.kt | 6 - .../mottak/domene/HendelsesloggRepository.kt | 6 +- .../mottak/domene/hendelser/PdlHendelse.kt | 2 +- .../domene/personopplysning/Personinfo.kt | 41 +- .../baks/mottak/e2e/DatabaseCleanupService.kt | 18 +- .../familie/baks/mottak/e2e/E2EController.kt | 101 +-- .../EnsligFors\303\270rgerHendelseService.kt" | 12 +- ...s\303\270rgerInfotrygdHendelseConsumer.kt" | 7 +- ...Fors\303\270rgerVedtakHendelseConsumer.kt" | 7 +- .../hendelser/IdenthendelseV2Consumer.kt | 14 +- ...rnalf\303\270ringHendelseAivenConsumer.kt" | 6 +- .../hendelser/JournalhendelseService.kt | 11 +- .../baks/mottak/hendelser/LeesahConsumer.kt | 38 +- .../baks/mottak/hendelser/LeesahService.kt | 87 +-- .../integrasjoner/AbstractOppgaveMapper.kt | 56 +- .../integrasjoner/BarnetrygdOppgaveMapper.kt | 1 - .../mottak/integrasjoner/DokarkivClient.kt | 26 +- .../integrasjoner/FamilieDokumentClient.kt | 1 - .../mottak/integrasjoner/HentEnhetClient.kt | 2 - .../InfotrygdBarnetrygdClient.kt | 11 +- .../InfotrygdKontantst\303\270tteClient.kt" | 15 +- .../integrasjoner/IntegrasjonException.kt | 6 +- .../mottak/integrasjoner/JournalpostClient.kt | 48 +- .../Kontantst\303\270tteOppgaveMapper.kt" | 1 - .../mottak/integrasjoner/OppgaveClient.kt | 351 +++++----- .../baks/mottak/integrasjoner/PdfClient.kt | 5 +- .../baks/mottak/integrasjoner/PdlClient.kt | 71 +- .../baks/mottak/integrasjoner/SakClient.kt | 244 +++---- .../ArkiverDokumentRequestMapper.kt" | 103 +-- .../mottak/s\303\270knad/Feltformaterer.kt" | 6 +- .../Journalf\303\270ringService.kt" | 37 +- .../baks/mottak/s\303\270knad/PdfService.kt" | 71 +- ...S\303\270knadSpr\303\245kvelgerService.kt" | 39 +- .../barnetrygd/BarnetrygdSerializers.kt" | 13 +- .../BarnetrygdS\303\270knadController.kt" | 9 +- .../BarnetrygdS\303\270knadMetrikkService.kt" | 48 +- .../BarnetrygdS\303\270knadService.kt" | 21 +- .../BarnetrygdS\303\270knaddokumentasjon.kt" | 14 +- .../barnetrygd/domene/DBS\303\270knad.kt" | 6 +- .../domene/S\303\270knadRepository.kt" | 1 - .../domene/VersjonertS\303\270knad.kt" | 1 + .../Kontantst\303\270tteSerializers.kt" | 1 - ...ntst\303\270tteS\303\270knadController.kt" | 8 +- ...\303\270tteS\303\270knadMetrikkService.kt" | 19 +- ...ntantst\303\270tteS\303\270knadService.kt" | 32 +- .../DBKontantst\303\270tteS\303\270knad.kt" | 6 +- ...ntst\303\270tteS\303\270knadRepository.kt" | 1 - ...t\303\270tteS\303\270knaddokumentasjon.kt" | 13 +- .../task/FjernGamleFeiledeTasksIPreprod.kt | 2 - .../task/FjernGamleHendelseLoggInnslag.kt | 8 +- ...rKontantst\303\270tteS\303\270knadTask.kt" | 38 +- .../Journalf\303\270rS\303\270knadTask.kt" | 33 +- ...hendelseKontantst\303\270tteRutingTask.kt" | 36 +- .../mottak/task/JournalhendelseRutingTask.kt | 105 +-- .../task/MottaAnnullerF\303\270dselTask.kt" | 2 - .../task/MottaF\303\270dselshendelseTask.kt" | 21 +- .../OppdaterOgFerdigstillJournalpostTask.kt | 36 +- .../task/OpprettBehandleSakOppgaveTask.kt | 2 - ...OpprettJournalf\303\270ringOppgaveTask.kt" | 18 +- .../baks/mottak/task/SendTilSakTask.kt | 1 - .../mottak/task/VurderLivshendelseTask.kt | 124 ++-- .../nav/familie/baks/mottak/util/DateUtils.kt | 5 +- .../util/PropertiesToStringConverter.kt | 1 - .../no/nav/familie/baks/mottak/DevLauncher.kt | 5 +- .../baks/mottak/DevLauncherPostgres.kt | 5 +- .../familie/baks/mottak/config/ClientMocks.kt | 85 +-- .../config/KafkaRestartingErrorHandlerTest.kt | 1 - .../config/OAuth2AccessTokenTestConfig.kt | 1 - .../baks/mottak/config/RestTemplateConfig.kt | 1 - ...ligFors\303\270rgerHendelseServiceTest.kt" | 1 - ...3\270rgerInfotrygdHendelseConsumerTest.kt" | 8 +- ...\303\270rgerVedtakHendelseConsumerTest.kt" | 8 +- ...ournalf\303\270ringHendelseServiceTest.kt" | 213 +++--- .../mottak/hendelser/LeesahServiceTest.kt | 125 ++-- .../integrasjoner/DokarkivClientTest.kt | 14 +- .../integrasjoner/HentEnhetClientTest.kt | 1 - .../InfotrygdBarnetrygdClientTest.kt | 1 - .../integrasjoner/JournalpostClientTest.kt | 1 - .../mottak/integrasjoner/OppgaveClientTest.kt | 39 +- .../mottak/integrasjoner/OppgaveMapperTest.kt | 609 ++++++++++-------- .../mottak/integrasjoner/PdlClientTest.kt | 12 +- .../mottak/integrasjoner/SakClientTest.kt | 1 - .../ArkiverDokumentRequestMapperTest.kt" | 110 ++-- .../s\303\270knad/EksternReferanseIdTest.kt" | 1 - .../Journalf\303\270ringTest.kt" | 31 +- .../mottak/s\303\270knad/PdfServiceTest.kt" | 6 +- ...3\270knadSpr\303\245kvelgerServiceTest.kt" | 47 +- .../s\303\270knad/S\303\270knadTest.kt" | 25 +- .../s\303\270knad/S\303\270knadTestData.kt" | 74 ++- .../S\303\270knadsfeltSpr\303\245kTest.kt" | 138 ++-- ...tantst\303\270tteS\303\270knadTestData.kt" | 97 +-- ...elseKontantst\303\270tteRutingTaskTest.kt" | 125 ++-- .../MottaAnnullerF\303\270dselTaskTest.kt" | 56 +- .../MottaF\303\270dselshendelseTaskTest.kt" | 176 ++--- .../NavnoHendelseTaskL\303\270ypeTest.kt" | 78 +-- .../task/OpprettBehandleSakOppgaveTaskTest.kt | 41 +- .../task/SkanHendelseTaskL\303\270ypeTest.kt" | 60 +- .../mottak/task/VurderLivshendelseTaskTest.kt | 400 ++++++------ .../familie/baks/mottak/util/DateUtilsTest.kt | 50 +- .../mottak/util/DbContainerInitializer.kt | 1 - 108 files changed, 2657 insertions(+), 2229 deletions(-) create mode 100644 .editorconfig diff --git a/.editorconfig b/.editorconfig new file mode 100644 index 000000000..07f3ee0a0 --- /dev/null +++ b/.editorconfig @@ -0,0 +1,2 @@ +[*.{kt,kts}] +max_line_length = off diff --git a/pom.xml b/pom.xml index 1dc96339e..17064d024 100644 --- a/pom.xml +++ b/pom.xml @@ -24,7 +24,7 @@ 1.13.8 7.5.1 2.20231006130620_9b45ded - 2.20230905101454_06fa3d7 + 2.20231019114030_ef92457 3.0_20230921075936_3adfc44 no.nav.familie.baks.mottak.LauncherKt 4.0.4 @@ -419,9 +419,9 @@ - com.pinterest - ktlint - 0.50.0 + com.pinterest.ktlint + ktlint-cli + 1.0.1 diff --git a/src/main/kotlin/no/nav/familie/baks/mottak/config/ApplicationConfig.kt b/src/main/kotlin/no/nav/familie/baks/mottak/config/ApplicationConfig.kt index 686c13a1f..6c86d3899 100644 --- a/src/main/kotlin/no/nav/familie/baks/mottak/config/ApplicationConfig.kt +++ b/src/main/kotlin/no/nav/familie/baks/mottak/config/ApplicationConfig.kt @@ -40,7 +40,6 @@ import java.time.temporal.ChronoUnit @EnableOAuth2Client(cacheEnabled = true) @EnableRetry class ApplicationConfig { - @Bean fun servletWebServerFactory(): ServletWebServerFactory { return JettyServletWebServerFactory() @@ -86,11 +85,12 @@ class ApplicationConfig { fun prosesseringInfoProvider( @Value("\${prosessering.rolle}") prosesseringRolle: String, ) = object : ProsesseringInfoProvider { - override fun hentBrukernavn(): String = try { - SpringTokenValidationContextHolder().tokenValidationContext.getClaims("azuread").getStringClaim("preferred_username") - } catch (e: Exception) { - "VL" - } + override fun hentBrukernavn(): String = + try { + SpringTokenValidationContextHolder().tokenValidationContext.getClaims("azuread").getStringClaim("preferred_username") + } catch (e: Exception) { + "VL" + } override fun harTilgang(): Boolean = grupper().contains(prosesseringRolle) diff --git a/src/main/kotlin/no/nav/familie/baks/mottak/config/CacheConfig.kt b/src/main/kotlin/no/nav/familie/baks/mottak/config/CacheConfig.kt index 4d72f6506..2ea767f66 100644 --- a/src/main/kotlin/no/nav/familie/baks/mottak/config/CacheConfig.kt +++ b/src/main/kotlin/no/nav/familie/baks/mottak/config/CacheConfig.kt @@ -14,31 +14,34 @@ import java.util.concurrent.TimeUnit @Configuration @EnableCaching class CacheConfig { - @Bean - fun dailyCacheManager(): CacheManager = object : ConcurrentMapCacheManager() { - override fun createConcurrentMapCache(name: String): Cache { - val concurrentMap = Caffeine - .newBuilder() - .initialCapacity(100) - .maximumSize(1000) - .expireAfterWrite(24, TimeUnit.HOURS) - .recordStats().build().asMap() - return ConcurrentMapCache(name, concurrentMap, true) + fun dailyCacheManager(): CacheManager = + object : ConcurrentMapCacheManager() { + override fun createConcurrentMapCache(name: String): Cache { + val concurrentMap = + Caffeine + .newBuilder() + .initialCapacity(100) + .maximumSize(1000) + .expireAfterWrite(24, TimeUnit.HOURS) + .recordStats().build().asMap() + return ConcurrentMapCache(name, concurrentMap, true) + } } - } @Bean @Primary - fun hourlyCacheManager(): CacheManager = object : ConcurrentMapCacheManager() { - override fun createConcurrentMapCache(name: String): Cache { - val concurrentMap = Caffeine - .newBuilder() - .initialCapacity(100) - .maximumSize(1000) - .expireAfterWrite(1, TimeUnit.HOURS) - .recordStats().build().asMap() - return ConcurrentMapCache(name, concurrentMap, true) + fun hourlyCacheManager(): CacheManager = + object : ConcurrentMapCacheManager() { + override fun createConcurrentMapCache(name: String): Cache { + val concurrentMap = + Caffeine + .newBuilder() + .initialCapacity(100) + .maximumSize(1000) + .expireAfterWrite(1, TimeUnit.HOURS) + .recordStats().build().asMap() + return ConcurrentMapCache(name, concurrentMap, true) + } } - } } diff --git a/src/main/kotlin/no/nav/familie/baks/mottak/config/KafkaAivenConfig.kt b/src/main/kotlin/no/nav/familie/baks/mottak/config/KafkaAivenConfig.kt index 662d0461d..7586acf61 100644 --- a/src/main/kotlin/no/nav/familie/baks/mottak/config/KafkaAivenConfig.kt +++ b/src/main/kotlin/no/nav/familie/baks/mottak/config/KafkaAivenConfig.kt @@ -23,7 +23,6 @@ import java.time.Duration matchIfMissing = true, ) class KafkaAivenConfig(val environment: Environment) { - @Bean fun kafkaAivenHendelseListenerContainerFactory(kafkaRestartingErrorHandler: KafkaRestartingErrorHandler): ConcurrentKafkaListenerContainerFactory { val factory = ConcurrentKafkaListenerContainerFactory() @@ -61,15 +60,16 @@ class KafkaAivenConfig(val environment: Environment) { private fun consumerConfigs(): Map { val kafkaBrokers = System.getenv("KAFKA_BROKERS") ?: "http://localhost:9092" - val consumerConfigs = mutableMapOf( - ConsumerConfig.BOOTSTRAP_SERVERS_CONFIG to kafkaBrokers, - ConsumerConfig.KEY_DESERIALIZER_CLASS_CONFIG to StringDeserializer::class.java, - ConsumerConfig.VALUE_DESERIALIZER_CLASS_CONFIG to StringDeserializer::class.java, - ConsumerConfig.CLIENT_ID_CONFIG to "consumer-familie-baks-mottak-1", - ConsumerConfig.MAX_POLL_RECORDS_CONFIG to "50", - ConsumerConfig.AUTO_OFFSET_RESET_CONFIG to "latest", - ConsumerConfig.ENABLE_AUTO_COMMIT_CONFIG to false, - ) + val consumerConfigs = + mutableMapOf( + ConsumerConfig.BOOTSTRAP_SERVERS_CONFIG to kafkaBrokers, + ConsumerConfig.KEY_DESERIALIZER_CLASS_CONFIG to StringDeserializer::class.java, + ConsumerConfig.VALUE_DESERIALIZER_CLASS_CONFIG to StringDeserializer::class.java, + ConsumerConfig.CLIENT_ID_CONFIG to "consumer-familie-baks-mottak-1", + ConsumerConfig.MAX_POLL_RECORDS_CONFIG to "50", + ConsumerConfig.AUTO_OFFSET_RESET_CONFIG to "latest", + ConsumerConfig.ENABLE_AUTO_COMMIT_CONFIG to false, + ) if (environment.activeProfiles.none { it.contains("dev") || it.contains("postgres") }) { return consumerConfigs + securityConfig() } @@ -81,19 +81,20 @@ class KafkaAivenConfig(val environment: Environment) { val schemaRegisty = System.getenv("KAFKA_SCHEMA_REGISTRY") ?: "http://localhost:9093" val schemaRegistryUser = System.getenv("KAFKA_SCHEMA_REGISTRY_USER") ?: "mangler i pod" val schemaRegistryPassword = System.getenv("KAFKA_SCHEMA_REGISTRY_PASSWORD") ?: "mangler i pod" - val consumerConfigs = mutableMapOf( - ConsumerConfig.BOOTSTRAP_SERVERS_CONFIG to kafkaBrokers, - "schema.registry.url" to schemaRegisty, - "basic.auth.credentials.source" to "USER_INFO", - "basic.auth.user.info" to "$schemaRegistryUser:$schemaRegistryPassword", - "specific.avro.reader" to true, - ConsumerConfig.KEY_DESERIALIZER_CLASS_CONFIG to StringDeserializer::class.java, - ConsumerConfig.VALUE_DESERIALIZER_CLASS_CONFIG to KafkaAvroDeserializer::class.java, - ConsumerConfig.CLIENT_ID_CONFIG to "consumer-familie-baks-mottak-2", - ConsumerConfig.MAX_POLL_RECORDS_CONFIG to "1", - ConsumerConfig.AUTO_OFFSET_RESET_CONFIG to "latest", - ConsumerConfig.ENABLE_AUTO_COMMIT_CONFIG to "false", - ) + val consumerConfigs = + mutableMapOf( + ConsumerConfig.BOOTSTRAP_SERVERS_CONFIG to kafkaBrokers, + "schema.registry.url" to schemaRegisty, + "basic.auth.credentials.source" to "USER_INFO", + "basic.auth.user.info" to "$schemaRegistryUser:$schemaRegistryPassword", + "specific.avro.reader" to true, + ConsumerConfig.KEY_DESERIALIZER_CLASS_CONFIG to StringDeserializer::class.java, + ConsumerConfig.VALUE_DESERIALIZER_CLASS_CONFIG to KafkaAvroDeserializer::class.java, + ConsumerConfig.CLIENT_ID_CONFIG to "consumer-familie-baks-mottak-2", + ConsumerConfig.MAX_POLL_RECORDS_CONFIG to "1", + ConsumerConfig.AUTO_OFFSET_RESET_CONFIG to "latest", + ConsumerConfig.ENABLE_AUTO_COMMIT_CONFIG to "false", + ) if (environment.activeProfiles.none { it.contains("dev") || it.contains("postgres") }) { return consumerConfigs + securityConfig() } @@ -105,19 +106,20 @@ class KafkaAivenConfig(val environment: Environment) { val schemaRegisty = System.getenv("KAFKA_SCHEMA_REGISTRY") ?: "http://localhost:9093" val schemaRegistryUser = System.getenv("KAFKA_SCHEMA_REGISTRY_USER") ?: "mangler i pod" val schemaRegistryPassword = System.getenv("KAFKA_SCHEMA_REGISTRY_PASSWORD") ?: "mangler i pod" - val consumerConfigs = mutableMapOf( - ConsumerConfig.BOOTSTRAP_SERVERS_CONFIG to kafkaBrokers, - "schema.registry.url" to schemaRegisty, - "basic.auth.credentials.source" to "USER_INFO", - "basic.auth.user.info" to "$schemaRegistryUser:$schemaRegistryPassword", - "specific.avro.reader" to true, - ConsumerConfig.KEY_DESERIALIZER_CLASS_CONFIG to StringDeserializer::class.java, - ConsumerConfig.VALUE_DESERIALIZER_CLASS_CONFIG to KafkaAvroDeserializer::class.java, - ConsumerConfig.CLIENT_ID_CONFIG to "consumer-familie-baks-mottak-2", - ConsumerConfig.MAX_POLL_RECORDS_CONFIG to "50", - ConsumerConfig.AUTO_OFFSET_RESET_CONFIG to "earliest", - ConsumerConfig.ENABLE_AUTO_COMMIT_CONFIG to false, - ) + val consumerConfigs = + mutableMapOf( + ConsumerConfig.BOOTSTRAP_SERVERS_CONFIG to kafkaBrokers, + "schema.registry.url" to schemaRegisty, + "basic.auth.credentials.source" to "USER_INFO", + "basic.auth.user.info" to "$schemaRegistryUser:$schemaRegistryPassword", + "specific.avro.reader" to true, + ConsumerConfig.KEY_DESERIALIZER_CLASS_CONFIG to StringDeserializer::class.java, + ConsumerConfig.VALUE_DESERIALIZER_CLASS_CONFIG to KafkaAvroDeserializer::class.java, + ConsumerConfig.CLIENT_ID_CONFIG to "consumer-familie-baks-mottak-2", + ConsumerConfig.MAX_POLL_RECORDS_CONFIG to "50", + ConsumerConfig.AUTO_OFFSET_RESET_CONFIG to "earliest", + ConsumerConfig.ENABLE_AUTO_COMMIT_CONFIG to false, + ) if (environment.activeProfiles.none { it.contains("dev") || it.contains("postgres") }) { return consumerConfigs + securityConfig() } @@ -130,7 +132,8 @@ class KafkaAivenConfig(val environment: Environment) { val kafkaKeystorePath = System.getenv("KAFKA_KEYSTORE_PATH") return mapOf( CommonClientConfigs.SECURITY_PROTOCOL_CONFIG to "SSL", - SslConfigs.SSL_ENDPOINT_IDENTIFICATION_ALGORITHM_CONFIG to "", // Disable server host name verification + // Disable server host name verification + SslConfigs.SSL_ENDPOINT_IDENTIFICATION_ALGORITHM_CONFIG to "", SslConfigs.SSL_TRUSTSTORE_TYPE_CONFIG to "JKS", SslConfigs.SSL_KEYSTORE_TYPE_CONFIG to "PKCS12", SslConfigs.SSL_TRUSTSTORE_LOCATION_CONFIG to kafkaTruststorePath, diff --git a/src/main/kotlin/no/nav/familie/baks/mottak/config/KafkaRestartingErrorHandler.kt b/src/main/kotlin/no/nav/familie/baks/mottak/config/KafkaRestartingErrorHandler.kt index 2a6ba8492..5f31db07b 100644 --- a/src/main/kotlin/no/nav/familie/baks/mottak/config/KafkaRestartingErrorHandler.kt +++ b/src/main/kotlin/no/nav/familie/baks/mottak/config/KafkaRestartingErrorHandler.kt @@ -20,13 +20,13 @@ import java.util.concurrent.atomic.AtomicLong */ @Component class KafkaRestartingErrorHandler : CommonContainerStoppingErrorHandler() { - - val LOGGER: Logger = LoggerFactory.getLogger(KafkaRestartingErrorHandler::class.java) - val SECURE_LOGGER: Logger = LoggerFactory.getLogger("secureLogger") + val logger: Logger = LoggerFactory.getLogger(KafkaRestartingErrorHandler::class.java) + val secureLogger: Logger = LoggerFactory.getLogger("secureLogger") private val executor: Executor private val counter = AtomicInteger(0) private val lastError = AtomicLong(0) + override fun handleRemaining( e: Exception, records: List>?, @@ -36,7 +36,7 @@ class KafkaRestartingErrorHandler : CommonContainerStoppingErrorHandler() { Thread.sleep(1000) if (records.isNullOrEmpty()) { - LOGGER.warn("Feil ved konsumering av melding. Ingen records. ${consumer.subscription()}", e) + logger.warn("Feil ved konsumering av melding. Ingen records. ${consumer.subscription()}", e) scheduleRestart( e, container, @@ -44,11 +44,11 @@ class KafkaRestartingErrorHandler : CommonContainerStoppingErrorHandler() { ) } else { records.first().run { - LOGGER.warn( + logger.warn( "Feil ved konsumering av melding fra ${this.topic()}. id ${this.key()}, " + "offset: ${this.offset()}, partition: ${this.partition()}", ) - SECURE_LOGGER.warn("${this.topic()} - Problemer med prosessering av $records", e) + secureLogger.warn("${this.topic()} - Problemer med prosessering av $records", e) scheduleRestart( e, container, @@ -66,7 +66,7 @@ class KafkaRestartingErrorHandler : CommonContainerStoppingErrorHandler() { val now = System.currentTimeMillis() if (now - lastError.getAndSet(now) > COUNTER_RESET_TIME) { // Sjekker om perioden som det ventes er større enn counter_reset_time if (counter.get() > 0) { - LOGGER.error( + logger.error( "Feil ved prosessering av kafkamelding for $topic. Container har restartet ${counter.get()} ganger og " + "man må se på hvorfor record ikke kan leses. " + "Hvis denne meldingen gjentar seg hver ${Duration.ofMillis(LONG_SLEEP)} så klarer ikke tjenesten å hente seg inn", @@ -80,10 +80,10 @@ class KafkaRestartingErrorHandler : CommonContainerStoppingErrorHandler() { executor.execute { try { Thread.sleep(stopTime) - LOGGER.info("Starter kafka container for $topic") + logger.info("Starter kafka container for $topic") container.start() } catch (exception: Exception) { - LOGGER.error("Feil oppstod ved venting og oppstart av kafka container", exception) + logger.error("Feil oppstod ved venting og oppstart av kafka container", exception) } } stopContainer(container) // i stedet for stopContainer i handleRemaining i parent som kaster error diff --git a/src/main/kotlin/no/nav/familie/baks/mottak/config/RestTemplateConfig.kt b/src/main/kotlin/no/nav/familie/baks/mottak/config/RestTemplateConfig.kt index a80ad5233..5e96bf305 100644 --- a/src/main/kotlin/no/nav/familie/baks/mottak/config/RestTemplateConfig.kt +++ b/src/main/kotlin/no/nav/familie/baks/mottak/config/RestTemplateConfig.kt @@ -20,7 +20,6 @@ import org.springframework.web.client.RestOperations RestTemplateSts::class, ) class RestTemplateConfig { - @Profile("!dev || !e2e || !postgres") @Bean("clientCredentials") fun restTemplateClientCredentials( diff --git a/src/main/kotlin/no/nav/familie/baks/mottak/config/StsRestClientConfig.kt b/src/main/kotlin/no/nav/familie/baks/mottak/config/StsRestClientConfig.kt index 5d1260951..5da210530 100644 --- a/src/main/kotlin/no/nav/familie/baks/mottak/config/StsRestClientConfig.kt +++ b/src/main/kotlin/no/nav/familie/baks/mottak/config/StsRestClientConfig.kt @@ -11,7 +11,6 @@ import java.net.URI @Configuration class StsRestClientConfig { - @Bean @Autowired @Profile("!mock-sts") diff --git a/src/main/kotlin/no/nav/familie/baks/mottak/domene/Hendelseslogg.kt b/src/main/kotlin/no/nav/familie/baks/mottak/domene/Hendelseslogg.kt index 77a8ecd1c..a7bac855a 100644 --- a/src/main/kotlin/no/nav/familie/baks/mottak/domene/Hendelseslogg.kt +++ b/src/main/kotlin/no/nav/familie/baks/mottak/domene/Hendelseslogg.kt @@ -19,26 +19,20 @@ import java.util.Properties data class Hendelseslogg( @Column(name = "kafka_offset") val offset: Long, - @Column(name = "hendelse_id") val hendelseId: String, - @Enumerated(EnumType.STRING) @Column(name = "consumer") val consumer: HendelseConsumer, - @Convert(converter = PropertiesToStringConverter::class) @Column(name = "metadata") val metadata: Properties = Properties(), - @Id @GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "hendelseslogg_seq") @SequenceGenerator(name = "hendelseslogg_seq") val id: Long? = null, - @Column(name = "opprettet_tid", nullable = false, updatable = false) val opprettetTidspunkt: LocalDateTime = LocalDateTime.now(), - @Column(name = "ident", nullable = true) val ident: String? = null, ) diff --git a/src/main/kotlin/no/nav/familie/baks/mottak/domene/HendelsesloggRepository.kt b/src/main/kotlin/no/nav/familie/baks/mottak/domene/HendelsesloggRepository.kt index 0a5fa3c79..f8acdfb7f 100644 --- a/src/main/kotlin/no/nav/familie/baks/mottak/domene/HendelsesloggRepository.kt +++ b/src/main/kotlin/no/nav/familie/baks/mottak/domene/HendelsesloggRepository.kt @@ -7,9 +7,11 @@ import org.springframework.stereotype.Repository @Repository interface HendelsesloggRepository : JpaRepository { - @Lock(LockModeType.PESSIMISTIC_FORCE_INCREMENT) fun save(hendelseslogg: Hendelseslogg): Hendelseslogg - fun existsByHendelseIdAndConsumer(hendelseId: String, consumer: HendelseConsumer): Boolean + fun existsByHendelseIdAndConsumer( + hendelseId: String, + consumer: HendelseConsumer, + ): Boolean } diff --git a/src/main/kotlin/no/nav/familie/baks/mottak/domene/hendelser/PdlHendelse.kt b/src/main/kotlin/no/nav/familie/baks/mottak/domene/hendelser/PdlHendelse.kt index 9c21e8333..1032c662a 100644 --- a/src/main/kotlin/no/nav/familie/baks/mottak/domene/hendelser/PdlHendelse.kt +++ b/src/main/kotlin/no/nav/familie/baks/mottak/domene/hendelser/PdlHendelse.kt @@ -17,8 +17,8 @@ data class PdlHendelse( val sivilstand: String? = null, val sivilstandDato: LocalDate? = null, ) { - // TODO: Skal gjøres tydeligere og mer robust. fun hentPersonident() = personIdenter.first { it.length == 11 } + fun hentPersonidenter() = personIdenter.filter { it.length == 11 } } diff --git a/src/main/kotlin/no/nav/familie/baks/mottak/domene/personopplysning/Personinfo.kt b/src/main/kotlin/no/nav/familie/baks/mottak/domene/personopplysning/Personinfo.kt index b01cffc17..3c9117c8d 100644 --- a/src/main/kotlin/no/nav/familie/baks/mottak/domene/personopplysning/Personinfo.kt +++ b/src/main/kotlin/no/nav/familie/baks/mottak/domene/personopplysning/Personinfo.kt @@ -35,19 +35,52 @@ data class Adresseinfo( ) enum class PersonstatusType { - ABNR, ADNR, BOSA, DØD, DØDD, FOSV, FØDR, UFUL, UREG, UTAN, UTPE, UTVA + ABNR, + ADNR, + BOSA, + DØD, + DØDD, + FOSV, + FØDR, + UFUL, + UREG, + UTAN, + UTPE, + UTVA, } enum class SivilstandType { - GIFT, UGIF, ENKE, SKIL, SKPA, SAMB, GJPA, GLAD, NULL, REPA, SEPA, SEPR + GIFT, + UGIF, + ENKE, + SKIL, + SKPA, + SAMB, + GJPA, + GLAD, + NULL, + REPA, + SEPA, + SEPR, } enum class AdresseType { - BOSTEDSADRESSE, POSTADRESSE, POSTADRESSE_UTLAND, MIDLERTIDIG_POSTADRESSE_NORGE, MIDLERTIDIG_POSTADRESSE_UTLAND, UKJENT_ADRESSE + BOSTEDSADRESSE, + POSTADRESSE, + POSTADRESSE_UTLAND, + MIDLERTIDIG_POSTADRESSE_NORGE, + MIDLERTIDIG_POSTADRESSE_UTLAND, + UKJENT_ADRESSE, } enum class RelasjonsRolleType { - EKTE, BARN, FARA, MORA, REPA, SAMB, MMOR + EKTE, + BARN, + FARA, + MORA, + REPA, + SAMB, + MMOR, } data class Landkode(var kode: String?) { diff --git a/src/main/kotlin/no/nav/familie/baks/mottak/e2e/DatabaseCleanupService.kt b/src/main/kotlin/no/nav/familie/baks/mottak/e2e/DatabaseCleanupService.kt index 7f4cb641f..432dbf0b5 100644 --- a/src/main/kotlin/no/nav/familie/baks/mottak/e2e/DatabaseCleanupService.kt +++ b/src/main/kotlin/no/nav/familie/baks/mottak/e2e/DatabaseCleanupService.kt @@ -22,7 +22,6 @@ class DatabaseCleanupService( private val entityManager: EntityManager, private val environment: Environment, ) : InitializingBean { - private val logger = LoggerFactory.getLogger(this::class.java) private lateinit var tableNames: List @@ -32,14 +31,15 @@ class DatabaseCleanupService( */ override fun afterPropertiesSet() { val metaModel: Metamodel = entityManager.metamodel - tableNames = metaModel.managedTypes - .filter { - it.javaType.kotlin.findAnnotation() != null - } - .map { - val tableAnnotation: Table? = it.javaType.kotlin.findAnnotation() - tableAnnotation?.name ?: throw IllegalStateException("should never get here") - } + tableNames = + metaModel.managedTypes + .filter { + it.javaType.kotlin.findAnnotation
() != null + } + .map { + val tableAnnotation: Table? = it.javaType.kotlin.findAnnotation() + tableAnnotation?.name ?: throw IllegalStateException("should never get here") + } } /** diff --git a/src/main/kotlin/no/nav/familie/baks/mottak/e2e/E2EController.kt b/src/main/kotlin/no/nav/familie/baks/mottak/e2e/E2EController.kt index b6c30458b..52fc5e1a5 100644 --- a/src/main/kotlin/no/nav/familie/baks/mottak/e2e/E2EController.kt +++ b/src/main/kotlin/no/nav/familie/baks/mottak/e2e/E2EController.kt @@ -37,79 +37,92 @@ class E2EController( private val taskService: TaskService, private val databaseCleanupService: DatabaseCleanupService, ) { - val logger: Logger = LoggerFactory.getLogger(E2EController::class.java) @PostMapping(path = ["/pdl/foedsel"], consumes = [MediaType.APPLICATION_JSON_VALUE]) - fun pdlHendelseFødsel(@RequestBody personIdenter: List): String { + fun pdlHendelseFødsel( + @RequestBody personIdenter: List, + ): String { logger.info("Oppretter fødselshendelse e2e") val hendelseId = UUID.randomUUID().toString() - val pdlHendelse = PdlHendelse( - offset = Random.nextUInt().toLong(), - gjeldendeAktørId = personIdenter.first { it.length == 13 }, - hendelseId = hendelseId, - personIdenter = personIdenter, - endringstype = LeesahService.OPPRETTET, - opplysningstype = LeesahService.OPPLYSNINGSTYPE_FØDSEL, - fødselsdato = LocalDate.now(), - ) + val pdlHendelse = + PdlHendelse( + offset = Random.nextUInt().toLong(), + gjeldendeAktørId = personIdenter.first { it.length == 13 }, + hendelseId = hendelseId, + personIdenter = personIdenter, + endringstype = LeesahService.OPPRETTET, + opplysningstype = LeesahService.OPPLYSNINGSTYPE_FØDSEL, + fødselsdato = LocalDate.now(), + ) leesahService.prosesserNyHendelse(pdlHendelse) return hendelseId } @PostMapping(path = ["/pdl/doedsfall"], consumes = [MediaType.APPLICATION_JSON_VALUE]) - fun pdlHendelseDødsfall(@RequestBody personIdenter: List): String { + fun pdlHendelseDødsfall( + @RequestBody personIdenter: List, + ): String { logger.info("Oppretter dødshendelse e2e") val hendelseId = UUID.randomUUID().toString() - val pdlHendelse = PdlHendelse( - offset = Random.nextUInt().toLong(), - gjeldendeAktørId = personIdenter.first { it.length == 13 }, - hendelseId = hendelseId, - personIdenter = personIdenter, - endringstype = LeesahService.OPPRETTET, - opplysningstype = LeesahService.OPPLYSNINGSTYPE_DØDSFALL, - dødsdato = LocalDate.now(), - ) + val pdlHendelse = + PdlHendelse( + offset = Random.nextUInt().toLong(), + gjeldendeAktørId = personIdenter.first { it.length == 13 }, + hendelseId = hendelseId, + personIdenter = personIdenter, + endringstype = LeesahService.OPPRETTET, + opplysningstype = LeesahService.OPPLYSNINGSTYPE_DØDSFALL, + dødsdato = LocalDate.now(), + ) leesahService.prosesserNyHendelse(pdlHendelse) return hendelseId } @PostMapping(path = ["/pdl/utflytting"], consumes = [MediaType.APPLICATION_JSON_VALUE]) - fun pdlHendelseUtflytting(@RequestBody personIdenter: List): String { + fun pdlHendelseUtflytting( + @RequestBody personIdenter: List, + ): String { logger.info("Oppretter utflyttingshendlse e2e") val hendelseId = UUID.randomUUID().toString() - val pdlHendelse = PdlHendelse( - offset = Random.nextUInt().toLong(), - gjeldendeAktørId = personIdenter.first { it.length == 13 }, - hendelseId = hendelseId, - personIdenter = personIdenter, - endringstype = LeesahService.OPPRETTET, - opplysningstype = LeesahService.OPPLYSNINGSTYPE_UTFLYTTING, - utflyttingsdato = LocalDate.now(), - ) + val pdlHendelse = + PdlHendelse( + offset = Random.nextUInt().toLong(), + gjeldendeAktørId = personIdenter.first { it.length == 13 }, + hendelseId = hendelseId, + personIdenter = personIdenter, + endringstype = LeesahService.OPPRETTET, + opplysningstype = LeesahService.OPPLYSNINGSTYPE_UTFLYTTING, + utflyttingsdato = LocalDate.now(), + ) leesahService.prosesserNyHendelse(pdlHendelse) return hendelseId } @PostMapping(path = ["/journal"]) - fun opprettJournalHendelse(@RequestBody journalpost: Journalpost): String { + fun opprettJournalHendelse( + @RequestBody journalpost: Journalpost, + ): String { logger.info("Oppretter journalhendelse e2e") val hendelseid = UUID.randomUUID().toString() - var journalHendelse = JournalfoeringHendelseRecord( - hendelseid, - 1, - "MidlertidigJournalført", - journalpost.journalpostId, - null, // Må settes på selve journalposten - "BAR", - "BAR", - null, // Må settes på selve journalposten - "e2e-$hendelseid", - null, - ) // Kan settes på selve journalposten + var journalHendelse = + JournalfoeringHendelseRecord( + hendelseid, + 1, + "MidlertidigJournalført", + journalpost.journalpostId, + // Må settes på selve journalposten + null, + "BAR", + "BAR", + // Må settes på selve journalposten + null, + "e2e-$hendelseid", + null, + ) val cr = ConsumerRecord("topic", 1, 1, 1L, journalHendelse) val acknowledgment = E2EAcknowledgment() diff --git "a/src/main/kotlin/no/nav/familie/baks/mottak/hendelser/EnsligFors\303\270rgerHendelseService.kt" "b/src/main/kotlin/no/nav/familie/baks/mottak/hendelser/EnsligFors\303\270rgerHendelseService.kt" index 158fded03..e113cb9c3 100644 --- "a/src/main/kotlin/no/nav/familie/baks/mottak/hendelser/EnsligFors\303\270rgerHendelseService.kt" +++ "b/src/main/kotlin/no/nav/familie/baks/mottak/hendelser/EnsligFors\303\270rgerHendelseService.kt" @@ -20,14 +20,16 @@ class EnsligForsørgerHendelseService( val pdlClient: PdlClient, val hendelsesloggRepository: HendelsesloggRepository, ) { - val ensligForsørgerVedtakhendelseOvergangstønadCounter: Counter = Metrics.counter("ef.hendelse.vedtak", "type", "overgangstønad") val ensligForsørgerVedtakhendelseAnnetCounter: Counter = Metrics.counter("ef.hendelse.vedtak", "type", "annet") val ensligForsørgerInfotrygdVedtakhendelseOvergangstønadCounter: Counter = Metrics.counter("ef.hendelse.infotrygd.vedtak", "type", "overgangstønad") - fun prosesserEfVedtakHendelse(offset: Long, ensligForsørgerVedtakhendelse: EnsligForsørgerVedtakhendelse) { + fun prosesserEfVedtakHendelse( + offset: Long, + ensligForsørgerVedtakhendelse: EnsligForsørgerVedtakhendelse, + ) { when (ensligForsørgerVedtakhendelse.stønadType) { StønadType.OVERGANGSSTØNAD -> { if (!hendelsesloggRepository.existsByHendelseIdAndConsumer( @@ -61,7 +63,10 @@ class EnsligForsørgerHendelseService( } } - fun prosesserEfInfotrygdHendelse(offset: Long, hendelse: InfotrygdHendelse) { + fun prosesserEfInfotrygdHendelse( + offset: Long, + hendelse: InfotrygdHendelse, + ) { if (hendelse.typeYtelse.trim() != "EF") { logger.info("Ignorerer infotrygdhendelse for hendelseId=${hendelse.hendelseId} fordi ytelsen ikke er EF") return @@ -96,7 +101,6 @@ class EnsligForsørgerHendelseService( } companion object { - private val logger: Logger = LoggerFactory.getLogger(EnsligForsørgerHendelseService::class.java) private val secureLogger: Logger = LoggerFactory.getLogger("secureLogger") } diff --git "a/src/main/kotlin/no/nav/familie/baks/mottak/hendelser/EnsligFors\303\270rgerInfotrygdHendelseConsumer.kt" "b/src/main/kotlin/no/nav/familie/baks/mottak/hendelser/EnsligFors\303\270rgerInfotrygdHendelseConsumer.kt" index 38fe14296..c6fcac27e 100644 --- "a/src/main/kotlin/no/nav/familie/baks/mottak/hendelser/EnsligFors\303\270rgerInfotrygdHendelseConsumer.kt" +++ "b/src/main/kotlin/no/nav/familie/baks/mottak/hendelser/EnsligFors\303\270rgerInfotrygdHendelseConsumer.kt" @@ -57,7 +57,6 @@ class EnsligForsørgerInfotrygdHendelseConsumer( val vedtakOmOvergangsstønadService: EnsligForsørgerHendelseService, val environment: Environment, ) { - val ensligForsørgerInfotrygdHendelseConsumerFeilCounter: Counter = Metrics.counter("ef.hendelse.infotrygdvedtak.feil") @KafkaListener( @@ -68,7 +67,10 @@ class EnsligForsørgerInfotrygdHendelseConsumer( idIsGroup = false, ) @Transactional - fun listen(consumerRecord: ConsumerRecord, ack: Acknowledgment) { + fun listen( + consumerRecord: ConsumerRecord, + ack: Acknowledgment, + ) { try { logger.info("$TOPIC_INFOTRYGD_VEDTAK melding mottatt. Offset: ${consumerRecord.offset()}") secureLogger.info("$TOPIC_INFOTRYGD_VEDTAK melding mottatt. Offset: ${consumerRecord.offset()} Key: ${consumerRecord.key()} Value: ${consumerRecord.value()}") @@ -93,7 +95,6 @@ class EnsligForsørgerInfotrygdHendelseConsumer( } companion object { - private const val TOPIC_INFOTRYGD_VEDTAK = "aapen-ef-overgangstonad-v1" private val logger: Logger = LoggerFactory.getLogger(EnsligForsørgerInfotrygdHendelseConsumer::class.java) diff --git "a/src/main/kotlin/no/nav/familie/baks/mottak/hendelser/EnsligFors\303\270rgerVedtakHendelseConsumer.kt" "b/src/main/kotlin/no/nav/familie/baks/mottak/hendelser/EnsligFors\303\270rgerVedtakHendelseConsumer.kt" index 683ea6454..11745b2d0 100644 --- "a/src/main/kotlin/no/nav/familie/baks/mottak/hendelser/EnsligFors\303\270rgerVedtakHendelseConsumer.kt" +++ "b/src/main/kotlin/no/nav/familie/baks/mottak/hendelser/EnsligFors\303\270rgerVedtakHendelseConsumer.kt" @@ -29,7 +29,6 @@ import java.util.UUID matchIfMissing = true, ) class EnsligForsørgerVedtakHendelseConsumer(val vedtakOmOvergangsstønadService: EnsligForsørgerHendelseService) { - val ensligForsørgerVedtakhendelseFeilCounter: Counter = Metrics.counter("ef.hendelse.vedtak.feil") @KafkaListener( @@ -40,7 +39,10 @@ class EnsligForsørgerVedtakHendelseConsumer(val vedtakOmOvergangsstønadService idIsGroup = false, ) @Transactional - fun listen(consumerRecord: ConsumerRecord, ack: Acknowledgment) { + fun listen( + consumerRecord: ConsumerRecord, + ack: Acknowledgment, + ) { try { MDC.put(MDCConstants.MDC_CALL_ID, UUID.randomUUID().toString()) logger.info("$TOPIC_EF_VEDTAK melding mottatt. Offset: ${consumerRecord.offset()}") @@ -60,7 +62,6 @@ class EnsligForsørgerVedtakHendelseConsumer(val vedtakOmOvergangsstønadService } companion object { - private const val TOPIC_EF_VEDTAK = "aapen-ensligforsorger-iverksatt-vedtak" private val logger: Logger = LoggerFactory.getLogger(EnsligForsørgerVedtakHendelseConsumer::class.java) diff --git a/src/main/kotlin/no/nav/familie/baks/mottak/hendelser/IdenthendelseV2Consumer.kt b/src/main/kotlin/no/nav/familie/baks/mottak/hendelser/IdenthendelseV2Consumer.kt index f8b302ea7..cb1f82040 100644 --- a/src/main/kotlin/no/nav/familie/baks/mottak/hendelser/IdenthendelseV2Consumer.kt +++ b/src/main/kotlin/no/nav/familie/baks/mottak/hendelser/IdenthendelseV2Consumer.kt @@ -27,7 +27,6 @@ import java.util.UUID class IdenthendelseV2Consumer( private val sakClient: SakClient, ) { - val identhendelseFeiletCounter: Counter = Metrics.counter("barnetrygd.hendelse.ident.feilet") @KafkaListener( @@ -38,7 +37,10 @@ class IdenthendelseV2Consumer( containerFactory = "kafkaAivenHendelseListenerAvroLatestContainerFactory", ) @Transactional - fun listen(consumerRecord: ConsumerRecord, ack: Acknowledgment) { + fun listen( + consumerRecord: ConsumerRecord, + ack: Acknowledgment, + ) { try { Thread.sleep(60000) // Sender man med en gang, så får man Person ikke funnet fra PDL når ba-sak gjør filtrering. Venter derfor 1 minutt MDC.put(MDCConstants.MDC_CALL_ID, UUID.randomUUID().toString()) @@ -52,9 +54,10 @@ class IdenthendelseV2Consumer( SECURE_LOGGER.warn("Tom aktør fra identhendelse med nøkkel $aktørIdPåHendelse") } - val aktivAktørid = aktør?.identifikatorer?.singleOrNull { ident -> - ident.type == Type.AKTORID && ident.gjeldende - }?.idnummer.toString() + val aktivAktørid = + aktør?.identifikatorer?.singleOrNull { ident -> + ident.type == Type.AKTORID && ident.gjeldende + }?.idnummer.toString() if (aktørIdPåHendelse.contains(aktivAktørid)) { // I tilfeller som ved merge av hendelser vil man få både identhendelse på gammel og ny aktørid, så for å unngå duplikater så sender man bare på aktiv ident aktør?.identifikatorer?.singleOrNull { ident -> @@ -80,7 +83,6 @@ class IdenthendelseV2Consumer( } companion object { - val SECURE_LOGGER: Logger = LoggerFactory.getLogger("secureLogger") val log: Logger = LoggerFactory.getLogger(IdenthendelseV2Consumer::class.java) } diff --git "a/src/main/kotlin/no/nav/familie/baks/mottak/hendelser/Journalf\303\270ringHendelseAivenConsumer.kt" "b/src/main/kotlin/no/nav/familie/baks/mottak/hendelser/Journalf\303\270ringHendelseAivenConsumer.kt" index f4a3a847a..bed5c9c9e 100644 --- "a/src/main/kotlin/no/nav/familie/baks/mottak/hendelser/Journalf\303\270ringHendelseAivenConsumer.kt" +++ "b/src/main/kotlin/no/nav/familie/baks/mottak/hendelser/Journalf\303\270ringHendelseAivenConsumer.kt" @@ -20,7 +20,6 @@ import org.springframework.transaction.annotation.Transactional matchIfMissing = true, ) class JournalføringHendelseAivenConsumer(val journalhendelseService: JournalhendelseService) { - val journalføringshendelseAivenConsumerFeilCounter: Counter = Metrics.counter("joark.hendelse.journalføring.feil") @KafkaListener( @@ -31,7 +30,10 @@ class JournalføringHendelseAivenConsumer(val journalhendelseService: Journalhen idIsGroup = false, ) @Transactional - fun listen(consumerRecord: ConsumerRecord, ack: Acknowledgment) { + fun listen( + consumerRecord: ConsumerRecord, + ack: Acknowledgment, + ) { try { journalhendelseService.prosesserNyHendelse(consumerRecord, ack) } catch (e: Exception) { diff --git a/src/main/kotlin/no/nav/familie/baks/mottak/hendelser/JournalhendelseService.kt b/src/main/kotlin/no/nav/familie/baks/mottak/hendelser/JournalhendelseService.kt index 9653e024e..5ce1f825c 100644 --- a/src/main/kotlin/no/nav/familie/baks/mottak/hendelser/JournalhendelseService.kt +++ b/src/main/kotlin/no/nav/familie/baks/mottak/hendelser/JournalhendelseService.kt @@ -32,7 +32,6 @@ class JournalhendelseService( val taskService: TaskService, val hendelsesloggRepository: HendelsesloggRepository, ) { - val barnetrygdKanalCounter = mutableMapOf() val kontantstøtteKanalCounter = mutableMapOf() val skannetOrdinærBarnetrygdSøknadCounter: Counter = @@ -181,10 +180,11 @@ class JournalhendelseService( GYLDIGE_JOURNALPOST_TEMAER.contains(journalpost.tema) && journalpost.journalposttype == Journalposttype.I private fun opprettJournalhendelseRutingTask(journalpost: Journalpost) { - val taskType = when (journalpost.tema) { - Tema.BAR.name -> JournalhendelseRutingTask.TASK_STEP_TYPE - else -> JournalhendelseKontantstøtteRutingTask.TASK_STEP_TYPE - } + val taskType = + when (journalpost.tema) { + Tema.BAR.name -> JournalhendelseRutingTask.TASK_STEP_TYPE + else -> JournalhendelseKontantstøtteRutingTask.TASK_STEP_TYPE + } Task( type = taskType, payload = journalpost.kanal!!, @@ -207,7 +207,6 @@ class JournalhendelseService( } companion object { - private val GYLDIGE_HENDELSE_TYPER = arrayOf("JournalpostMottatt", "TemaEndret") private val GYLDIGE_JOURNALPOST_TEMAER = listOf(Tema.BAR.name, Tema.KON.name) private val CONSUMER_JOURNAL = HendelseConsumer.JOURNAL_AIVEN diff --git a/src/main/kotlin/no/nav/familie/baks/mottak/hendelser/LeesahConsumer.kt b/src/main/kotlin/no/nav/familie/baks/mottak/hendelser/LeesahConsumer.kt index cbe89efa9..09913ce9c 100644 --- a/src/main/kotlin/no/nav/familie/baks/mottak/hendelser/LeesahConsumer.kt +++ b/src/main/kotlin/no/nav/familie/baks/mottak/hendelser/LeesahConsumer.kt @@ -25,7 +25,6 @@ import java.time.LocalDate matchIfMissing = true, ) class LeesahConsumer(val leesahService: LeesahService) { - val leesahFeiletCounter: Counter = Metrics.counter("barnetrygd.hendelse.leesha.feilet") @KafkaListener( @@ -37,22 +36,26 @@ class LeesahConsumer(val leesahService: LeesahService) { autoStartup = "true", ) @Transactional - fun listen(cr: ConsumerRecord, ack: Acknowledgment) { - val pdlHendelse = PdlHendelse( - cr.value().hentHendelseId(), - cr.key().substring(6), - cr.offset(), - cr.value().hentOpplysningstype(), - cr.value().hentEndringstype(), - cr.value().hentPersonidenter(), - cr.value().hentDødsdato(), - cr.value().hentFødselsdato(), - cr.value().hentFødeland(), - cr.value().hentUtflyttingsdato(), - cr.value().hentTidligereHendelseId(), - cr.value().hentSivilstandType(), - cr.value().hentSivilstandDato(), - ) + fun listen( + cr: ConsumerRecord, + ack: Acknowledgment, + ) { + val pdlHendelse = + PdlHendelse( + cr.value().hentHendelseId(), + cr.key().substring(6), + cr.offset(), + cr.value().hentOpplysningstype(), + cr.value().hentEndringstype(), + cr.value().hentPersonidenter(), + cr.value().hentDødsdato(), + cr.value().hentFødselsdato(), + cr.value().hentFødeland(), + cr.value().hentUtflyttingsdato(), + cr.value().hentTidligereHendelseId(), + cr.value().hentSivilstandType(), + cr.value().hentSivilstandDato(), + ) try { MDC.put(MDCConstants.MDC_CALL_ID, pdlHendelse.hendelseId) @@ -133,7 +136,6 @@ class LeesahConsumer(val leesahService: LeesahService) { } companion object { - val SECURE_LOGGER: Logger = LoggerFactory.getLogger("secureLogger") val log: Logger = LoggerFactory.getLogger(LeesahConsumer::class.java) } diff --git a/src/main/kotlin/no/nav/familie/baks/mottak/hendelser/LeesahService.kt b/src/main/kotlin/no/nav/familie/baks/mottak/hendelser/LeesahService.kt index de35676b9..c53a11ca7 100644 --- a/src/main/kotlin/no/nav/familie/baks/mottak/hendelser/LeesahService.kt +++ b/src/main/kotlin/no/nav/familie/baks/mottak/hendelser/LeesahService.kt @@ -34,7 +34,6 @@ class LeesahService( @Value("\${FØDSELSHENDELSE_VENT_PÅ_TPS_MINUTTER}") private val triggerTidForTps: Long, private val environment: Environment, ) { - val dødsfallCounter: Counter = Metrics.counter("barnetrygd.dodsfall") val dødsfallIgnorertCounter: Counter = Metrics.counter("barnetrygd.dodsfall.ignorert") val fødselOpprettetCounter: Counter = Metrics.counter("barnetrygd.fodsel.opprettet") @@ -111,16 +110,18 @@ class LeesahService( KORRIGERT -> fødselKorrigertCounter.increment() } - val task = Task( - type = MottaFødselshendelseTask.TASK_STEP_TYPE, - payload = pdlHendelse.hentPersonident(), - properties = Properties().apply { - this["ident"] = pdlHendelse.hentPersonident() - this["callId"] = pdlHendelse.hendelseId - }, - ).medTriggerTid( - nesteGyldigeTriggertidFødselshendelser(triggerTidForTps, environment), - ) + val task = + Task( + type = MottaFødselshendelseTask.TASK_STEP_TYPE, + payload = pdlHendelse.hentPersonident(), + properties = + Properties().apply { + this["ident"] = pdlHendelse.hentPersonident() + this["callId"] = pdlHendelse.hendelseId + }, + ).medTriggerTid( + nesteGyldigeTriggertidFødselshendelser(triggerTidForTps, environment), + ) taskService.save(task) } } else if (erUnder18år(fødselsdato)) { @@ -132,20 +133,23 @@ class LeesahService( ANNULLERT -> { fødselAnnullertCounter.increment() if (pdlHendelse.tidligereHendelseId != null) { - val task = Task( - type = MottaAnnullerFødselTask.TASK_STEP_TYPE, - payload = objectMapper.writeValueAsString( - RestAnnullerFødsel( - barnasIdenter = pdlHendelse.hentPersonidenter(), - tidligereHendelseId = pdlHendelse.tidligereHendelseId, - ), - ), - properties = Properties().apply { - this["ident"] = pdlHendelse.hentPersonident() - this["callId"] = pdlHendelse.hendelseId - this["tidligereHendelseId"] = pdlHendelse.tidligereHendelseId - }, - ) + val task = + Task( + type = MottaAnnullerFødselTask.TASK_STEP_TYPE, + payload = + objectMapper.writeValueAsString( + RestAnnullerFødsel( + barnasIdenter = pdlHendelse.hentPersonidenter(), + tidligereHendelseId = pdlHendelse.tidligereHendelseId, + ), + ), + properties = + Properties().apply { + this["ident"] = pdlHendelse.hentPersonident() + this["callId"] = pdlHendelse.hendelseId + this["tidligereHendelseId"] = pdlHendelse.tidligereHendelseId + }, + ) taskService.save(task) } else { log.warn("Mottatt annuller fødsel uten tidligereHendelseId, hendelseId ${pdlHendelse.hendelseId}") @@ -214,7 +218,10 @@ class LeesahService( } } - private fun logHendelse(pdlHendelse: PdlHendelse, ekstraInfo: String = "") { + private fun logHendelse( + pdlHendelse: PdlHendelse, + ekstraInfo: String = "", + ) { log.info( "person-pdl-leesah melding mottatt: " + "hendelseId: ${pdlHendelse.hendelseId} " + @@ -226,11 +233,12 @@ class LeesahService( } private fun oppdaterHendelseslogg(pdlHendelse: PdlHendelse) { - val metadata = mutableMapOf( - "aktørId" to pdlHendelse.gjeldendeAktørId, - "opplysningstype" to pdlHendelse.opplysningstype, - "endringstype" to pdlHendelse.endringstype, - ) + val metadata = + mutableMapOf( + "aktørId" to pdlHendelse.gjeldendeAktørId, + "opplysningstype" to pdlHendelse.opplysningstype, + "endringstype" to pdlHendelse.endringstype, + ) if (pdlHendelse.fødeland != null) { metadata["fødeland"] = pdlHendelse.fødeland @@ -247,16 +255,20 @@ class LeesahService( ) } - private fun opprettVurderLivshendelseTaskForHendelse(type: VurderLivshendelseType, pdlHendelse: PdlHendelse) { + private fun opprettVurderLivshendelseTaskForHendelse( + type: VurderLivshendelseType, + pdlHendelse: PdlHendelse, + ) { log.info("opprett VurderLivshendelseTask for pdlHendelse (id= ${pdlHendelse.hendelseId})") Task( type = VurderLivshendelseTask.TASK_STEP_TYPE, payload = objectMapper.writeValueAsString(VurderLivshendelseTaskDTO(pdlHendelse.hentPersonident(), type)), - properties = Properties().apply { - this["ident"] = pdlHendelse.hentPersonident() - this["callId"] = pdlHendelse.hendelseId - this["type"] = type.name - }, + properties = + Properties().apply { + this["ident"] = pdlHendelse.hentPersonident() + this["callId"] = pdlHendelse.hendelseId + this["type"] = type.name + }, ).medTriggerTid(LocalDateTime.now().run { if (environment.activeProfiles.contains("prod")) this.plusHours(1) else this }) .also { taskService.save(it) @@ -279,7 +291,6 @@ class LeesahService( } companion object { - private val CONSUMER_PDL = HendelseConsumer.PDL val log: Logger = LoggerFactory.getLogger(LeesahService::class.java) const val OPPRETTET = "OPPRETTET" diff --git a/src/main/kotlin/no/nav/familie/baks/mottak/integrasjoner/AbstractOppgaveMapper.kt b/src/main/kotlin/no/nav/familie/baks/mottak/integrasjoner/AbstractOppgaveMapper.kt index 1d85f2209..00e2f3952 100644 --- a/src/main/kotlin/no/nav/familie/baks/mottak/integrasjoner/AbstractOppgaveMapper.kt +++ b/src/main/kotlin/no/nav/familie/baks/mottak/integrasjoner/AbstractOppgaveMapper.kt @@ -10,7 +10,7 @@ import no.nav.familie.kontrakter.felles.oppgave.Oppgavetype import no.nav.familie.kontrakter.felles.oppgave.OpprettOppgaveRequest import org.slf4j.LoggerFactory import org.springframework.stereotype.Service -import java.util.* +import java.util.Locale abstract class AbstractOppgaveMapper( private val hentEnhetClient: HentEnhetClient, @@ -41,7 +41,10 @@ abstract class AbstractOppgaveMapper( abstract fun hentBehandlingstype(journalpost: Journalpost): String? - private fun tilOppgaveIdent(journalpost: Journalpost, oppgavetype: Oppgavetype): OppgaveIdentV2? { + private fun tilOppgaveIdent( + journalpost: Journalpost, + oppgavetype: Oppgavetype, + ): OppgaveIdentV2? { if (journalpost.bruker == null) { when (oppgavetype) { Oppgavetype.BehandleSak -> error("Journalpost ${journalpost.journalpostId} mangler bruker") @@ -59,15 +62,14 @@ abstract class AbstractOppgaveMapper( ident = it, gruppe = IdentGruppe.AKTOERID, ) + } ?: if (oppgavetype == Oppgavetype.BehandleSak) { + throw IntegrasjonException( + msg = "Fant ikke aktørId på person i PDL", + ident = journalpost.bruker.id, + ) + } else { + null } - ?: if (oppgavetype == Oppgavetype.BehandleSak) { - throw IntegrasjonException( - msg = "Fant ikke aktørId på person i PDL", - ident = journalpost.bruker.id, - ) - } else { - null - } } BrukerIdType.ORGNR -> { @@ -83,12 +85,16 @@ abstract class AbstractOppgaveMapper( } } - private fun tilBeskrivelse(journalpost: Journalpost, beskrivelse: String?): String { - val bindestrek = if (!beskrivelse.isNullOrEmpty() && !journalpost.hentHovedDokumentTittel().isNullOrEmpty()) { - "-" - } else { - "" - } + private fun tilBeskrivelse( + journalpost: Journalpost, + beskrivelse: String?, + ): String { + val bindestrek = + if (!beskrivelse.isNullOrEmpty() && !journalpost.hentHovedDokumentTittel().isNullOrEmpty()) { + "-" + } else { + "" + } return "${journalpost.hentHovedDokumentTittel().orEmpty()} $bindestrek ${beskrivelse.orEmpty()}".trim() } @@ -107,17 +113,18 @@ abstract class AbstractOppgaveMapper( } } - private fun hentAktørIdFraPdl(brukerId: String, tema: Tema): String? { + private fun hentAktørIdFraPdl( + brukerId: String, + tema: Tema, + ): String? { return try { - pdlClient.hentIdenter(brukerId, tema).filter { it.gruppe == Identgruppe.AKTORID.name && !it.historisk } - .lastOrNull()?.ident + pdlClient.hentIdenter(brukerId, tema).filter { it.gruppe == Identgruppe.AKTORID.name && !it.historisk }.lastOrNull()?.ident } catch (e: IntegrasjonException) { null } } - fun erEØS(journalpost: Journalpost) = - journalpost.bruker?.type == BrukerIdType.FNR && erDnummer(journalpost.bruker.id) + fun erEØS(journalpost: Journalpost) = journalpost.bruker?.type == BrukerIdType.FNR && erDnummer(journalpost.bruker.id) private fun validerJournalpost(journalpost: Journalpost) { if (journalpost.dokumenter.isNullOrEmpty()) error("Journalpost ${journalpost.journalpostId} mangler dokumenter") @@ -140,13 +147,10 @@ interface IOppgaveMapper { fun støtterTema(tema: Tema) = this.tema == tema } -@Service -class OppgaveMapperService(val oppgaveMappers: Collection) { +@Service class OppgaveMapperService(val oppgaveMappers: Collection) { fun tilOpprettOppgaveRequest( oppgavetype: Oppgavetype, journalpost: Journalpost, beskrivelse: String? = null, - ): OpprettOppgaveRequest = - oppgaveMappers.first { it.støtterTema(Tema.valueOf(journalpost.tema!!)) } - .tilOpprettOppgaveRequest(oppgavetype, journalpost, beskrivelse) + ): OpprettOppgaveRequest = oppgaveMappers.first { it.støtterTema(Tema.valueOf(journalpost.tema!!)) }.tilOpprettOppgaveRequest(oppgavetype, journalpost, beskrivelse) } diff --git a/src/main/kotlin/no/nav/familie/baks/mottak/integrasjoner/BarnetrygdOppgaveMapper.kt b/src/main/kotlin/no/nav/familie/baks/mottak/integrasjoner/BarnetrygdOppgaveMapper.kt index 1e711b4c2..edf2ddf74 100644 --- a/src/main/kotlin/no/nav/familie/baks/mottak/integrasjoner/BarnetrygdOppgaveMapper.kt +++ b/src/main/kotlin/no/nav/familie/baks/mottak/integrasjoner/BarnetrygdOppgaveMapper.kt @@ -8,7 +8,6 @@ import org.springframework.stereotype.Service @Service class BarnetrygdOppgaveMapper(hentEnhetClient: HentEnhetClient, pdlClient: PdlClient) : AbstractOppgaveMapper(hentEnhetClient, pdlClient) { - override val tema: Tema = Tema.BAR // Behandlingstema og behandlingstype settes basert på regelsettet som er dokumentert nederst her: https://confluence.adeo.no/display/TFA/Mottak+av+dokumenter diff --git a/src/main/kotlin/no/nav/familie/baks/mottak/integrasjoner/DokarkivClient.kt b/src/main/kotlin/no/nav/familie/baks/mottak/integrasjoner/DokarkivClient.kt index ecab95c36..5e68f21c4 100644 --- a/src/main/kotlin/no/nav/familie/baks/mottak/integrasjoner/DokarkivClient.kt +++ b/src/main/kotlin/no/nav/familie/baks/mottak/integrasjoner/DokarkivClient.kt @@ -20,15 +20,18 @@ class DokarkivClient( @Qualifier("clientCredentials") restOperations: RestOperations, ) : AbstractRestClient(restOperations, "integrasjon") { - - fun oppdaterJournalpostSak(jp: Journalpost, fagsakId: String) { + fun oppdaterJournalpostSak( + jp: Journalpost, + fagsakId: String, + ) { logger.info("Oppdaterer journalpost ${jp.journalpostId} med fagsaktilknytning $fagsakId ") val uri = URI.create("$integrasjonUri/arkiv/v2/${jp.journalpostId}") - val request = TilknyttFagsakRequest( - bruker = Bruker(idType = IdType.valueOf(jp.bruker!!.type.name), id = jp.bruker.id), - tema = "BAR", - sak = Sak(fagsakId, "BA"), - ) + val request = + TilknyttFagsakRequest( + bruker = Bruker(idType = IdType.valueOf(jp.bruker!!.type.name), id = jp.bruker.id), + tema = "BAR", + sak = Sak(fagsakId, "BA"), + ) when (val response = utførRequest(uri, request)) { is Throwable -> throw IntegrasjonException( @@ -56,7 +59,10 @@ class DokarkivClient( } } - private fun utførRequest(uri: URI, request: Any = ""): Any { + private fun utførRequest( + uri: URI, + request: Any = "", + ): Any { return Result.runCatching { putForEntity>(uri, request) }.fold( @@ -92,6 +98,8 @@ class DokarkivClient( ) enum class IdType { - FNR, ORGNR, AKTOERID + FNR, + ORGNR, + AKTOERID, } } diff --git a/src/main/kotlin/no/nav/familie/baks/mottak/integrasjoner/FamilieDokumentClient.kt b/src/main/kotlin/no/nav/familie/baks/mottak/integrasjoner/FamilieDokumentClient.kt index 82ba37633..a091b701b 100644 --- a/src/main/kotlin/no/nav/familie/baks/mottak/integrasjoner/FamilieDokumentClient.kt +++ b/src/main/kotlin/no/nav/familie/baks/mottak/integrasjoner/FamilieDokumentClient.kt @@ -18,7 +18,6 @@ class FamilieDokumentClient( @param:Value("\${FAMILIE_DOKUMENT_API_URL}") private val dokumentUri: URI, @Qualifier("clientCredentials") restOperations: RestOperations, ) : AbstractRestClient(restOperations, "integrasjon") { - @Retryable( value = [RuntimeException::class], backoff = Backoff(delayExpression = "\${retry.backoff.delay:5000}"), diff --git a/src/main/kotlin/no/nav/familie/baks/mottak/integrasjoner/HentEnhetClient.kt b/src/main/kotlin/no/nav/familie/baks/mottak/integrasjoner/HentEnhetClient.kt index 4f90330a7..d702e9270 100644 --- a/src/main/kotlin/no/nav/familie/baks/mottak/integrasjoner/HentEnhetClient.kt +++ b/src/main/kotlin/no/nav/familie/baks/mottak/integrasjoner/HentEnhetClient.kt @@ -20,9 +20,7 @@ class HentEnhetClient( @param:Value("\${NORG2_API_URL}") private val norg2Uri: URI, @Qualifier("restTemplateUnsecured") restOperations: RestOperations, ) : - AbstractRestClient(restOperations, "norg2") { - @Retryable(value = [RuntimeException::class], maxAttempts = 3, backoff = Backoff(delayExpression = "\${retry.backoff.delay:5000}")) @Cacheable("enhet", cacheManager = "dailyCacheManager") fun hentEnhet(enhetId: String): Enhet { diff --git a/src/main/kotlin/no/nav/familie/baks/mottak/integrasjoner/InfotrygdBarnetrygdClient.kt b/src/main/kotlin/no/nav/familie/baks/mottak/integrasjoner/InfotrygdBarnetrygdClient.kt index 98564ad2f..78ba56e4b 100644 --- a/src/main/kotlin/no/nav/familie/baks/mottak/integrasjoner/InfotrygdBarnetrygdClient.kt +++ b/src/main/kotlin/no/nav/familie/baks/mottak/integrasjoner/InfotrygdBarnetrygdClient.kt @@ -20,15 +20,20 @@ class InfotrygdBarnetrygdClient( private val environment: Environment, ) : AbstractRestClient(restOperations, "familie-ba-infotrygd") { - - fun hentLøpendeUtbetalinger(søkersIdenter: List, barnasIdenter: List): InfotrygdSøkResponse { + fun hentLøpendeUtbetalinger( + søkersIdenter: List, + barnasIdenter: List, + ): InfotrygdSøkResponse { return infotrygdResponseFra( request = { postForEntity(uri("stonad"), InfotrygdSøkRequest(søkersIdenter, barnasIdenter)) }, onFailure = { ex -> IntegrasjonException("Feil ved søk etter stønad i infotrygd.", ex, uri("stonad")) }, ) } - fun hentSaker(søkersIdenter: List, barnasIdenter: List): InfotrygdSøkResponse { + fun hentSaker( + søkersIdenter: List, + barnasIdenter: List, + ): InfotrygdSøkResponse { return infotrygdResponseFra( request = { postForEntity(uri("saker"), InfotrygdSøkRequest(søkersIdenter, barnasIdenter)) }, onFailure = { ex -> IntegrasjonException("Feil ved uthenting av saker fra infotrygd.", ex, uri("saker")) }, diff --git "a/src/main/kotlin/no/nav/familie/baks/mottak/integrasjoner/InfotrygdKontantst\303\270tteClient.kt" "b/src/main/kotlin/no/nav/familie/baks/mottak/integrasjoner/InfotrygdKontantst\303\270tteClient.kt" index e0f3c3ca1..c025f550c 100644 --- "a/src/main/kotlin/no/nav/familie/baks/mottak/integrasjoner/InfotrygdKontantst\303\270tteClient.kt" +++ "b/src/main/kotlin/no/nav/familie/baks/mottak/integrasjoner/InfotrygdKontantst\303\270tteClient.kt" @@ -60,11 +60,12 @@ class InfotrygdKontantstøtteClient( request: () -> T, onFailure: (Throwable) -> RuntimeException, e2eResponse: T, - ): T = if (environment.activeProfiles.contains("e2e")) { - e2eResponse - } else { - runCatching(request).getOrElse { throw onFailure(it) } - } + ): T = + if (environment.activeProfiles.contains("e2e")) { + e2eResponse + } else { + runCatching(request).getOrElse { throw onFailure(it) } + } private fun uri(endepunkt: String) = URI.create(encodePath("$clientUri/$endepunkt", "UTF-8")) } @@ -89,4 +90,6 @@ data class BarnDto( val fnr: Foedselsnummer, ) -data class Foedselsnummer(@get:JsonValue val asString: String) +data class Foedselsnummer( + @get:JsonValue val asString: String, +) diff --git a/src/main/kotlin/no/nav/familie/baks/mottak/integrasjoner/IntegrasjonException.kt b/src/main/kotlin/no/nav/familie/baks/mottak/integrasjoner/IntegrasjonException.kt index febba9f5d..cc13f03de 100644 --- a/src/main/kotlin/no/nav/familie/baks/mottak/integrasjoner/IntegrasjonException.kt +++ b/src/main/kotlin/no/nav/familie/baks/mottak/integrasjoner/IntegrasjonException.kt @@ -13,7 +13,6 @@ class IntegrasjonException( uri: URI? = null, ident: String? = null, ) : RuntimeException(responseFra(uri, throwable) ?: msg, throwable) { - init { val detaljertMelding = responseFra(uri, throwable) secureLogger.info( @@ -29,7 +28,10 @@ class IntegrasjonException( private val logger = LoggerFactory.getLogger(IntegrasjonException::class.java) private val secureLogger = LoggerFactory.getLogger("secureLogger") - fun responseFra(uri: URI?, e: Throwable?): String? { + fun responseFra( + uri: URI?, + e: Throwable?, + ): String? { return when (e) { is RestClientResponseException, -> "Error mot $uri status=${e.getRawStatusCode()} body=${e.responseBodyAsString}" else diff --git a/src/main/kotlin/no/nav/familie/baks/mottak/integrasjoner/JournalpostClient.kt b/src/main/kotlin/no/nav/familie/baks/mottak/integrasjoner/JournalpostClient.kt index 18e80be73..239fc97a0 100644 --- a/src/main/kotlin/no/nav/familie/baks/mottak/integrasjoner/JournalpostClient.kt +++ b/src/main/kotlin/no/nav/familie/baks/mottak/integrasjoner/JournalpostClient.kt @@ -19,32 +19,33 @@ private val logger = LoggerFactory.getLogger(JournalpostClient::class.java) private const val OAUTH2_CLIENT_CONFIG_KEY = "integrasjoner-clientcredentials" @Component -class JournalpostClient @Autowired constructor( - @param:Value("\${FAMILIE_INTEGRASJONER_API_URL}") - private val integrasjonerServiceUri: URI, - @Qualifier("clientCredentials") restOperations: RestOperations, -) : +class JournalpostClient + @Autowired + constructor( + @param:Value("\${FAMILIE_INTEGRASJONER_API_URL}") + private val integrasjonerServiceUri: URI, + @Qualifier("clientCredentials") restOperations: RestOperations, + ) : AbstractRestClient(restOperations, "integrasjon.saf") { - - @Retryable(value = [RuntimeException::class], maxAttempts = 3, backoff = Backoff(delayExpression = "\${retry.backoff.delay:5000}")) - fun hentJournalpost(journalpostId: String): Journalpost { - val uri = URI.create("$integrasjonerServiceUri/journalpost?journalpostId=$journalpostId") - logger.debug("henter journalpost med id {}", journalpostId) - return try { - val response = getForEntity>(uri) - response.getDataOrThrow() - } catch (e: RestClientResponseException) { - logger.warn("Henting av journalpost feilet. Responskode: {}, body: {}", e.rawStatusCode, e.responseBodyAsString) - throw IllegalStateException( - "Henting av journalpost med id $journalpostId feilet. Status: " + e.rawStatusCode + - ", body: " + e.responseBodyAsString, - e, - ) - } catch (e: RestClientException) { - throw IllegalStateException("Henting av journalpost med id $journalpostId feilet.", e) + @Retryable(value = [RuntimeException::class], maxAttempts = 3, backoff = Backoff(delayExpression = "\${retry.backoff.delay:5000}")) + fun hentJournalpost(journalpostId: String): Journalpost { + val uri = URI.create("$integrasjonerServiceUri/journalpost?journalpostId=$journalpostId") + logger.debug("henter journalpost med id {}", journalpostId) + return try { + val response = getForEntity>(uri) + response.getDataOrThrow() + } catch (e: RestClientResponseException) { + logger.warn("Henting av journalpost feilet. Responskode: {}, body: {}", e.rawStatusCode, e.responseBodyAsString) + throw IllegalStateException( + "Henting av journalpost med id $journalpostId feilet. Status: " + e.rawStatusCode + + ", body: " + e.responseBodyAsString, + e, + ) + } catch (e: RestClientException) { + throw IllegalStateException("Henting av journalpost med id $journalpostId feilet.", e) + } } } -} data class Journalpost( val journalpostId: String, @@ -58,7 +59,6 @@ data class Journalpost( val kanal: String? = null, val dokumenter: List? = null, ) { - fun hentHovedDokumentTittel(): String? { if (dokumenter.isNullOrEmpty()) error("Journalpost $journalpostId mangler dokumenter") return dokumenter.firstOrNull { it.brevkode != null }?.tittel diff --git "a/src/main/kotlin/no/nav/familie/baks/mottak/integrasjoner/Kontantst\303\270tteOppgaveMapper.kt" "b/src/main/kotlin/no/nav/familie/baks/mottak/integrasjoner/Kontantst\303\270tteOppgaveMapper.kt" index cbde255ac..a225f34ec 100644 --- "a/src/main/kotlin/no/nav/familie/baks/mottak/integrasjoner/Kontantst\303\270tteOppgaveMapper.kt" +++ "b/src/main/kotlin/no/nav/familie/baks/mottak/integrasjoner/Kontantst\303\270tteOppgaveMapper.kt" @@ -9,7 +9,6 @@ class KontantstøtteOppgaveMapper( hentEnhetClient: HentEnhetClient, pdlClient: PdlClient, ) : AbstractOppgaveMapper(hentEnhetClient, pdlClient) { - override val tema: Tema = Tema.KON override fun hentBehandlingstema(journalpost: Journalpost): String? { diff --git a/src/main/kotlin/no/nav/familie/baks/mottak/integrasjoner/OppgaveClient.kt b/src/main/kotlin/no/nav/familie/baks/mottak/integrasjoner/OppgaveClient.kt index e41537944..08ae5c124 100644 --- a/src/main/kotlin/no/nav/familie/baks/mottak/integrasjoner/OppgaveClient.kt +++ b/src/main/kotlin/no/nav/familie/baks/mottak/integrasjoner/OppgaveClient.kt @@ -27,191 +27,212 @@ import java.net.URI private val logger = LoggerFactory.getLogger(OppgaveClient::class.java) @Component -class OppgaveClient @Autowired constructor( - @param:Value("\${FAMILIE_INTEGRASJONER_API_URL}") private val integrasjonUri: URI, - @Qualifier("clientCredentials") restOperations: RestOperations, - private val oppgaveMapperService: OppgaveMapperService, -) : AbstractRestClient(restOperations, "integrasjon") { - - val secureLog: Logger = LoggerFactory.getLogger("secureLogger") - - fun opprettJournalføringsoppgave( - journalpost: Journalpost, - beskrivelse: String? = null, - ): OppgaveResponse { - logger.info("Oppretter journalføringsoppgave for ${if (journalpost.kanal == "NAV_NO") "digital søknad" else "papirsøknad"}") - val uri = URI.create("$integrasjonUri/oppgave/opprett") - val request = oppgaveMapperService.tilOpprettOppgaveRequest( - Oppgavetype.Journalføring, - journalpost, - beskrivelse, - ) - secureLog.info("Oppretter journalføringsoppgave for ${journalpost.journalpostId} ${request.beskrivelse}") +class OppgaveClient + @Autowired + constructor( + @param:Value("\${FAMILIE_INTEGRASJONER_API_URL}") private val integrasjonUri: URI, + @Qualifier("clientCredentials") restOperations: RestOperations, + private val oppgaveMapperService: OppgaveMapperService, + ) : AbstractRestClient(restOperations, "integrasjon") { + val secureLog: Logger = LoggerFactory.getLogger("secureLogger") + + fun opprettJournalføringsoppgave( + journalpost: Journalpost, + beskrivelse: String? = null, + ): OppgaveResponse { + logger.info("Oppretter journalføringsoppgave for ${if (journalpost.kanal == "NAV_NO") "digital søknad" else "papirsøknad"}") + val uri = URI.create("$integrasjonUri/oppgave/opprett") + val request = + oppgaveMapperService.tilOpprettOppgaveRequest( + Oppgavetype.Journalføring, + journalpost, + beskrivelse, + ) + secureLog.info("Oppretter journalføringsoppgave for ${journalpost.journalpostId} ${request.beskrivelse}") - return responseFraOpprettOppgave(uri, request) - } + return responseFraOpprettOppgave(uri, request) + } - fun opprettBehandleSakOppgave(journalpost: Journalpost, beskrivelse: String? = null): OppgaveResponse { - logger.info("Oppretter \"Behandle sak\"-oppgave for digital søknad") - val uri = URI.create("$integrasjonUri/oppgave/opprett") - val request = oppgaveMapperService.tilOpprettOppgaveRequest( - Oppgavetype.BehandleSak, - journalpost, - beskrivelse, - ) + fun opprettBehandleSakOppgave( + journalpost: Journalpost, + beskrivelse: String? = null, + ): OppgaveResponse { + logger.info("Oppretter \"Behandle sak\"-oppgave for digital søknad") + val uri = URI.create("$integrasjonUri/oppgave/opprett") + val request = + oppgaveMapperService.tilOpprettOppgaveRequest( + Oppgavetype.BehandleSak, + journalpost, + beskrivelse, + ) - return responseFraOpprettOppgave(uri, request) - } + return responseFraOpprettOppgave(uri, request) + } - @Retryable( - value = [RuntimeException::class], - maxAttempts = 3, - backoff = Backoff(delayExpression = "\${retry.backoff.delay:5000}"), - ) - fun opprettVurderLivshendelseOppgave(dto: OppgaveVurderLivshendelseDto): OppgaveResponse { - logger.info("Oppretter \"Vurder livshendelse\"-oppgave") - - val uri = URI.create("$integrasjonUri/oppgave/opprett") - val request = OpprettOppgaveRequest( - ident = OppgaveIdentV2(dto.aktørId, IdentGruppe.AKTOERID), - saksId = dto.saksId, - journalpostId = null, - tema = Tema.BAR, - oppgavetype = Oppgavetype.VurderLivshendelse, - fristFerdigstillelse = fristFerdigstillelse(), - beskrivelse = dto.beskrivelse, - enhetsnummer = dto.enhetsId, - behandlingstema = dto.behandlingstema, - behandlingstype = null, - behandlesAvApplikasjon = dto.behandlesAvApplikasjon, + @Retryable( + value = [RuntimeException::class], + maxAttempts = 3, + backoff = Backoff(delayExpression = "\${retry.backoff.delay:5000}"), ) + fun opprettVurderLivshendelseOppgave(dto: OppgaveVurderLivshendelseDto): OppgaveResponse { + logger.info("Oppretter \"Vurder livshendelse\"-oppgave") + + val uri = URI.create("$integrasjonUri/oppgave/opprett") + val request = + OpprettOppgaveRequest( + ident = OppgaveIdentV2(dto.aktørId, IdentGruppe.AKTOERID), + saksId = dto.saksId, + journalpostId = null, + tema = Tema.BAR, + oppgavetype = Oppgavetype.VurderLivshendelse, + fristFerdigstillelse = fristFerdigstillelse(), + beskrivelse = dto.beskrivelse, + enhetsnummer = dto.enhetsId, + behandlingstema = dto.behandlingstema, + behandlingstype = null, + behandlesAvApplikasjon = dto.behandlesAvApplikasjon, + ) - secureLog.info("Oppretter vurderLivshendlseOppgave $request") + secureLog.info("Oppretter vurderLivshendlseOppgave $request") - return responseFraOpprettOppgave(uri, request) - } + return responseFraOpprettOppgave(uri, request) + } - @Retryable( - value = [RuntimeException::class], - maxAttempts = 3, - backoff = Backoff(delayExpression = "\${retry.backoff.delay:5000}"), - ) - fun oppdaterOppgaveBeskrivelse(patchOppgave: Oppgave, beskrivelse: String): OppgaveResponse { - val uri = URI.create("$integrasjonUri/oppgave/${patchOppgave.id}/oppdater") - - return Result.runCatching { - patchForEntity>(uri, patchOppgave.copy(beskrivelse = beskrivelse)) - }.fold( - onSuccess = { response -> assertGyldig(response) }, - onFailure = { - throw IntegrasjonException( - "Patch-kall mot $uri feilet ved oppdatering av oppgave", - it, - uri, - null, - ) - }, + @Retryable( + value = [RuntimeException::class], + maxAttempts = 3, + backoff = Backoff(delayExpression = "\${retry.backoff.delay:5000}"), ) - } + fun oppdaterOppgaveBeskrivelse( + patchOppgave: Oppgave, + beskrivelse: String, + ): OppgaveResponse { + val uri = URI.create("$integrasjonUri/oppgave/${patchOppgave.id}/oppdater") + + return Result.runCatching { + patchForEntity>(uri, patchOppgave.copy(beskrivelse = beskrivelse)) + }.fold( + onSuccess = { response -> assertGyldig(response) }, + onFailure = { + throw IntegrasjonException( + "Patch-kall mot $uri feilet ved oppdatering av oppgave", + it, + uri, + null, + ) + }, + ) + } - @Retryable( - value = [RuntimeException::class], - maxAttempts = 3, - backoff = Backoff(delayExpression = "\${retry.backoff.delay:5000}"), - ) - fun finnOppgaver(journalpostId: String, oppgavetype: Oppgavetype?): List { - logger.info("Søker etter aktive oppgaver for $journalpostId") - val uri = URI.create("$integrasjonUri/oppgave/v4") - val request = FinnOppgaveRequest( - journalpostId = journalpostId, - tema = Tema.BAR, - oppgavetype = oppgavetype, + @Retryable( + value = [RuntimeException::class], + maxAttempts = 3, + backoff = Backoff(delayExpression = "\${retry.backoff.delay:5000}"), ) - - return Result.runCatching { - postForEntity>(uri, request) - }.fold( - onSuccess = { response -> assertGyldig(response).oppgaver }, - onFailure = { - secureLogger.error( - "Finn oppgaver feilet mot $uri og request: $request", - NestedExceptionUtils.getMostSpecificCause(it), - ) - throw IntegrasjonException( - "GET $uri feilet ved henting av oppgaver", - it, - uri, - null, + fun finnOppgaver( + journalpostId: String, + oppgavetype: Oppgavetype?, + ): List { + logger.info("Søker etter aktive oppgaver for $journalpostId") + val uri = URI.create("$integrasjonUri/oppgave/v4") + val request = + FinnOppgaveRequest( + journalpostId = journalpostId, + tema = Tema.BAR, + oppgavetype = oppgavetype, ) - }, - ) - } - @Retryable( - value = [RuntimeException::class], - maxAttempts = 3, - backoff = Backoff(delayExpression = "\${retry.backoff.delay:5000}"), - ) - fun finnOppgaverPåAktørId(aktørId: String, oppgavetype: Oppgavetype): List { - logger.info("Søker etter aktive oppgaver for aktørId $aktørId") - val uri = URI.create("$integrasjonUri/oppgave/v4") - val request = FinnOppgaveRequest( - aktørId = aktørId, - tema = Tema.BAR, - oppgavetype = oppgavetype, - ) + return Result.runCatching { + postForEntity>(uri, request) + }.fold( + onSuccess = { response -> assertGyldig(response).oppgaver }, + onFailure = { + secureLogger.error( + "Finn oppgaver feilet mot $uri og request: $request", + NestedExceptionUtils.getMostSpecificCause(it), + ) + throw IntegrasjonException( + "GET $uri feilet ved henting av oppgaver", + it, + uri, + null, + ) + }, + ) + } - return Result.runCatching { - postForEntity>(uri, request) - }.fold( - onSuccess = { response -> assertGyldig(response).oppgaver }, - onFailure = { - secureLogger.error( - "Finn oppgave feilet for $aktørId og $oppgavetype", - NestedExceptionUtils.getMostSpecificCause(it), - ) - throw IntegrasjonException( - "GET $uri feilet ved henting av oppgaver", - it, - uri, - null, - ) - }, + @Retryable( + value = [RuntimeException::class], + maxAttempts = 3, + backoff = Backoff(delayExpression = "\${retry.backoff.delay:5000}"), ) - } - - private fun responseFraOpprettOppgave(uri: URI, request: OpprettOppgaveRequest): OppgaveResponse { - return Result.runCatching { - secureLog.info("Sender OpprettOppgaveRequest $request") - postForEntity>(uri, request) - }.fold( - onSuccess = { response -> assertGyldig(response) }, - onFailure = { - secureLogger.error( - "Opprett oppgave feilet mot $uri og request: $request", - NestedExceptionUtils.getMostSpecificCause(it), + fun finnOppgaverPåAktørId( + aktørId: String, + oppgavetype: Oppgavetype, + ): List { + logger.info("Søker etter aktive oppgaver for aktørId $aktørId") + val uri = URI.create("$integrasjonUri/oppgave/v4") + val request = + FinnOppgaveRequest( + aktørId = aktørId, + tema = Tema.BAR, + oppgavetype = oppgavetype, ) - log.warn("Post-kall mot $uri feilet ved opprettelse av oppgave", it) - throw IntegrasjonException( - "Post-kall mot $uri feilet ved opprettelse av oppgave", - it, - uri, - null, - ) - }, - ) - } - private fun assertGyldig(ressurs: Ressurs?): T { - return when { - ressurs == null -> error("Finner ikke ressurs") - ressurs.data == null -> error("Ressurs mangler data") - ressurs.status != Ressurs.Status.SUKSESS -> error("Ressurs returnerer 2xx men har ressurs status failure") + return Result.runCatching { + postForEntity>(uri, request) + }.fold( + onSuccess = { response -> assertGyldig(response).oppgaver }, + onFailure = { + secureLogger.error( + "Finn oppgave feilet for $aktørId og $oppgavetype", + NestedExceptionUtils.getMostSpecificCause(it), + ) + throw IntegrasjonException( + "GET $uri feilet ved henting av oppgaver", + it, + uri, + null, + ) + }, + ) + } + + private fun responseFraOpprettOppgave( + uri: URI, + request: OpprettOppgaveRequest, + ): OppgaveResponse { + return Result.runCatching { + secureLog.info("Sender OpprettOppgaveRequest $request") + postForEntity>(uri, request) + }.fold( + onSuccess = { response -> assertGyldig(response) }, + onFailure = { + secureLogger.error( + "Opprett oppgave feilet mot $uri og request: $request", + NestedExceptionUtils.getMostSpecificCause(it), + ) + log.warn("Post-kall mot $uri feilet ved opprettelse av oppgave", it) + throw IntegrasjonException( + "Post-kall mot $uri feilet ved opprettelse av oppgave", + it, + uri, + null, + ) + }, + ) + } + + private fun assertGyldig(ressurs: Ressurs?): T { + return when { + ressurs == null -> error("Finner ikke ressurs") + ressurs.data == null -> error("Ressurs mangler data") + ressurs.status != Ressurs.Status.SUKSESS -> error("Ressurs returnerer 2xx men har ressurs status failure") - else -> ressurs.data!! + else -> ressurs.data!! + } } } -} data class OppgaveVurderLivshendelseDto( val aktørId: String, diff --git a/src/main/kotlin/no/nav/familie/baks/mottak/integrasjoner/PdfClient.kt b/src/main/kotlin/no/nav/familie/baks/mottak/integrasjoner/PdfClient.kt index 4e0f4f4f1..b99eaf26b 100644 --- a/src/main/kotlin/no/nav/familie/baks/mottak/integrasjoner/PdfClient.kt +++ b/src/main/kotlin/no/nav/familie/baks/mottak/integrasjoner/PdfClient.kt @@ -12,7 +12,10 @@ class PdfClient( @Qualifier("restTemplateUnsecured") operations: RestOperations, @Value("\${FAMILIE_BAKS_DOKGEN_API_URL}") private val dokgenUri: String, ) : AbstractRestClient(operations, "pdf") { - fun lagPdf(labelValueJson: Map, templateName: String): ByteArray { + fun lagPdf( + labelValueJson: Map, + templateName: String, + ): ByteArray { val sendInnUri = URI.create("$dokgenUri/template/$templateName/download-pdf") return postForEntity(sendInnUri, labelValueJson) } diff --git a/src/main/kotlin/no/nav/familie/baks/mottak/integrasjoner/PdlClient.kt b/src/main/kotlin/no/nav/familie/baks/mottak/integrasjoner/PdlClient.kt index d78dab927..dec31f908 100644 --- a/src/main/kotlin/no/nav/familie/baks/mottak/integrasjoner/PdlClient.kt +++ b/src/main/kotlin/no/nav/familie/baks/mottak/integrasjoner/PdlClient.kt @@ -28,12 +28,14 @@ class PdlClient( @Value("\${PDL_URL}") pdlBaseUrl: URI, @Qualifier("clientCredentials") val restTemplate: RestOperations, ) : AbstractRestClient(restTemplate, "pdl.personinfo") { - private val pdlUri = UriUtil.uri(pdlBaseUrl, PATH_GRAPHQL) @Retryable(value = [RuntimeException::class], maxAttempts = 3, backoff = Backoff(delayExpression = "\${retry.backoff.delay:5000}")) @Cacheable("hentIdenter", cacheManager = "hourlyCacheManager") - fun hentIdenter(personIdent: String, tema: Tema): List { + fun hentIdenter( + personIdent: String, + tema: Tema, + ): List { val pdlPersonRequest = mapTilPdlPersonRequest(personIdent, hentGraphqlQuery("hentIdenter")) val response = postForEntity(pdlUri, pdlPersonRequest, httpHeaders(tema)) @@ -50,23 +52,33 @@ class PdlClient( return response.data.pdlIdenter?.identer.orEmpty() } - fun hentPersonident(aktørId: String, tema: Tema): String { + fun hentPersonident( + aktørId: String, + tema: Tema, + ): String { return hentIdenter(aktørId, tema).filter { it.gruppe == Identgruppe.FOLKEREGISTERIDENT.name && !it.historisk }.last().ident } - fun hentAktørId(personIdent: String, tema: Tema): String { + fun hentAktørId( + personIdent: String, + tema: Tema, + ): String { return hentIdenter(personIdent, tema).filter { it.gruppe == Identgruppe.AKTORID.name && !it.historisk }.last().ident } - fun hentPersonMedRelasjoner(personIdent: String, tema: Tema): Person { + fun hentPersonMedRelasjoner( + personIdent: String, + tema: Tema, + ): Person { val pdlPersonRequest = mapTilPdlPersonRequest(personIdent, hentGraphqlQuery("hentperson-med-relasjoner")) try { - val response = postForEntity( - pdlUri, - pdlPersonRequest, - httpHeaders(tema), - ) + val response = + postForEntity( + pdlUri, + pdlPersonRequest, + httpHeaders(tema), + ) if (response.harFeil()) { throw IntegrasjonException( msg = "Feil ved oppslag på person: ${response.errorMessages()}", @@ -117,25 +129,30 @@ class PdlClient( } } - fun hentPerson(personIdent: String, graphqlfil: String, tema: Tema): PdlPersonData { + fun hentPerson( + personIdent: String, + graphqlfil: String, + tema: Tema, + ): PdlPersonData { val pdlPersonRequest = mapTilPdlPersonRequest(personIdent, hentGraphqlQuery(graphqlfil)) - val response = try { - postForEntity( - pdlUri, - pdlPersonRequest, - httpHeaders(tema), - ) - } catch (e: Exception) { - when (e) { - is IntegrasjonException -> throw e - else -> throw IntegrasjonException( - msg = "Feil ved oppslag på hentPerson mot PDL. Gav feil: ${e.message}", - uri = pdlUri, - ident = personIdent, + val response = + try { + postForEntity( + pdlUri, + pdlPersonRequest, + httpHeaders(tema), ) + } catch (e: Exception) { + when (e) { + is IntegrasjonException -> throw e + else -> throw IntegrasjonException( + msg = "Feil ved oppslag på hentPerson mot PDL. Gav feil: ${e.message}", + uri = pdlUri, + ident = personIdent, + ) + } } - } if (response.harFeil()) { throw IntegrasjonException( @@ -174,19 +191,19 @@ class PdlClient( } companion object { - private const val PATH_GRAPHQL = "graphql" private const val TEMA = "BAR" } } interface PdlBaseResponse { - val errors: List? val extensions: PdlExtensions? fun harFeil() = errors != null && errors!!.isNotEmpty() + fun harAdvarsel() = !extensions?.warnings.isNullOrEmpty() + fun errorMessages() = errors?.joinToString { it -> it.message } ?: "" } diff --git a/src/main/kotlin/no/nav/familie/baks/mottak/integrasjoner/SakClient.kt b/src/main/kotlin/no/nav/familie/baks/mottak/integrasjoner/SakClient.kt index 7dfcb9a8c..de54f93a4 100644 --- a/src/main/kotlin/no/nav/familie/baks/mottak/integrasjoner/SakClient.kt +++ b/src/main/kotlin/no/nav/familie/baks/mottak/integrasjoner/SakClient.kt @@ -20,139 +20,140 @@ import java.time.LocalDateTime private val logger = LoggerFactory.getLogger(SakClient::class.java) @Component -class SakClient @Autowired constructor( - @param:Value("\${FAMILIE_BA_SAK_API_URL}") private val sakServiceUri: String, - @Qualifier("clientCredentials") restOperations: RestOperations, -) : AbstractRestClient(restOperations, "integrasjon") { - - @Retryable( - value = [RuntimeException::class], - maxAttempts = 3, - backoff = Backoff(delayExpression = "\${retry.backoff.delay:5000}"), - ) - fun sendTilSak(nyBehandling: NyBehandling) { - val uri = URI.create("$sakServiceUri/behandlinger") - logger.info("Sender søknad til {}", uri) - try { - val response = putForEntity>(uri, nyBehandling) - logger.info("Søknad sendt til sak. Status=${response.status}") - } catch (e: RestClientResponseException) { - logger.warn("Innsending til sak feilet. Responskode: {}, body: {}", e.rawStatusCode, e.responseBodyAsString) - throw IllegalStateException( - "Innsending til sak feilet. Status: " + e.rawStatusCode + - ", body: " + e.responseBodyAsString, - e, - ) - } catch (e: RestClientException) { - throw IllegalStateException("Innsending til sak feilet.", e) +class SakClient + @Autowired + constructor( + @param:Value("\${FAMILIE_BA_SAK_API_URL}") private val sakServiceUri: String, + @Qualifier("clientCredentials") restOperations: RestOperations, + ) : AbstractRestClient(restOperations, "integrasjon") { + @Retryable( + value = [RuntimeException::class], + maxAttempts = 3, + backoff = Backoff(delayExpression = "\${retry.backoff.delay:5000}"), + ) + fun sendTilSak(nyBehandling: NyBehandling) { + val uri = URI.create("$sakServiceUri/behandlinger") + logger.info("Sender søknad til {}", uri) + try { + val response = putForEntity>(uri, nyBehandling) + logger.info("Søknad sendt til sak. Status=${response.status}") + } catch (e: RestClientResponseException) { + logger.warn("Innsending til sak feilet. Responskode: {}, body: {}", e.rawStatusCode, e.responseBodyAsString) + throw IllegalStateException( + "Innsending til sak feilet. Status: " + e.rawStatusCode + + ", body: " + e.responseBodyAsString, + e, + ) + } catch (e: RestClientException) { + throw IllegalStateException("Innsending til sak feilet.", e) + } } - } - @Retryable( - value = [RuntimeException::class], - maxAttempts = 3, - backoff = Backoff(delayExpression = "60000"), - ) - fun sendIdenthendelseTilSak(personIdent: PersonIdent) { - val uri = URI.create("$sakServiceUri/ident") - try { - val response = postForEntity>(uri, personIdent) - secureLogger.info("Identhendelse sendt til sak for $personIdent. Status=${response.status}") - } catch (e: RestClientResponseException) { - logger.info("Innsending av identhendelse til sak feilet. Responskode: {}, body: {}", e.rawStatusCode, e.responseBodyAsString) - secureLogger.info("Innsending av identhendelse til sak feilet for $personIdent. Responskode: {}, body: {}", e.rawStatusCode, e.responseBodyAsString) - throw IllegalStateException( - "Innsending av identhendelse til sak feilet. Status: " + e.rawStatusCode + - ", body: " + e.responseBodyAsString, - e, - ) - } catch (e: RestClientException) { - secureLogger.warn("Innsending av identhendelse til sak feilet for $personIdent", e) - throw IllegalStateException("Innsending av identhendelse til sak feilet.", e) + @Retryable( + value = [RuntimeException::class], + maxAttempts = 3, + backoff = Backoff(delayExpression = "60000"), + ) + fun sendIdenthendelseTilSak(personIdent: PersonIdent) { + val uri = URI.create("$sakServiceUri/ident") + try { + val response = postForEntity>(uri, personIdent) + secureLogger.info("Identhendelse sendt til sak for $personIdent. Status=${response.status}") + } catch (e: RestClientResponseException) { + logger.info("Innsending av identhendelse til sak feilet. Responskode: {}, body: {}", e.rawStatusCode, e.responseBodyAsString) + secureLogger.info("Innsending av identhendelse til sak feilet for $personIdent. Responskode: {}, body: {}", e.rawStatusCode, e.responseBodyAsString) + throw IllegalStateException( + "Innsending av identhendelse til sak feilet. Status: " + e.rawStatusCode + + ", body: " + e.responseBodyAsString, + e, + ) + } catch (e: RestClientException) { + secureLogger.warn("Innsending av identhendelse til sak feilet for $personIdent", e) + throw IllegalStateException("Innsending av identhendelse til sak feilet.", e) + } } - } - fun hentSaksnummer(personIdent: String): String { - val uri = URI.create("$sakServiceUri/fagsaker") - return runCatching { - postForEntity>(uri, mapOf("personIdent" to personIdent)) - }.fold( - onSuccess = { it.data?.id?.toString() ?: throw IntegrasjonException(it.melding, null, uri, personIdent) }, - onFailure = { throw IntegrasjonException("Feil ved henting av saksnummer fra ba-sak.", it, uri, personIdent) }, - ) - } + fun hentSaksnummer(personIdent: String): String { + val uri = URI.create("$sakServiceUri/fagsaker") + return runCatching { + postForEntity>(uri, mapOf("personIdent" to personIdent)) + }.fold( + onSuccess = { it.data?.id?.toString() ?: throw IntegrasjonException(it.melding, null, uri, personIdent) }, + onFailure = { throw IntegrasjonException("Feil ved henting av saksnummer fra ba-sak.", it, uri, personIdent) }, + ) + } - fun hentRestFagsakDeltagerListe( - personIdent: String, - barnasIdenter: List = emptyList(), - ): List { - val uri = URI.create("$sakServiceUri/fagsaker/sok/fagsakdeltagere") - return runCatching { - postForEntity>>(uri, RestSøkParam(personIdent, barnasIdenter)) - }.fold( - onSuccess = { it.data ?: throw IntegrasjonException(it.melding, null, uri, personIdent) }, - onFailure = { throw IntegrasjonException("Feil ved henting av fagsakdeltagere fra ba-sak.", it, uri, personIdent) }, - ) - } + fun hentRestFagsakDeltagerListe( + personIdent: String, + barnasIdenter: List = emptyList(), + ): List { + val uri = URI.create("$sakServiceUri/fagsaker/sok/fagsakdeltagere") + return runCatching { + postForEntity>>(uri, RestSøkParam(personIdent, barnasIdenter)) + }.fold( + onSuccess = { it.data ?: throw IntegrasjonException(it.melding, null, uri, personIdent) }, + onFailure = { throw IntegrasjonException("Feil ved henting av fagsakdeltagere fra ba-sak.", it, uri, personIdent) }, + ) + } - fun hentFagsakerHvorPersonErSøkerEllerMottarOrdinærBarnetrygd( - personIdent: String, - ): List { - val uri = URI.create("$sakServiceUri/fagsaker/sok/fagsaker-hvor-person-er-deltaker") - return runCatching { - postForEntity>>(uri, RestPersonIdent(personIdent)) - }.fold( - onSuccess = { it.data ?: throw IntegrasjonException(it.melding, null, uri, personIdent) }, - onFailure = { throw IntegrasjonException("Feil ved henting av fagsakId og aktørId fra ba-sak.", it, uri, personIdent) }, - ) - } + fun hentFagsakerHvorPersonErSøkerEllerMottarOrdinærBarnetrygd( + personIdent: String, + ): List { + val uri = URI.create("$sakServiceUri/fagsaker/sok/fagsaker-hvor-person-er-deltaker") + return runCatching { + postForEntity>>(uri, RestPersonIdent(personIdent)) + }.fold( + onSuccess = { it.data ?: throw IntegrasjonException(it.melding, null, uri, personIdent) }, + onFailure = { throw IntegrasjonException("Feil ved henting av fagsakId og aktørId fra ba-sak.", it, uri, personIdent) }, + ) + } - fun hentFagsakerHvorPersonMottarLøpendeUtvidetEllerOrdinærBarnetrygd( - personIdent: String, - ): List { - val uri = URI.create("$sakServiceUri/fagsaker/sok/fagsaker-hvor-person-mottar-lopende-ytelse") - return runCatching { - postForEntity>>(uri, RestPersonIdent(personIdent)) - }.fold( - onSuccess = { it.data ?: throw IntegrasjonException(it.melding, null, uri, personIdent) }, - onFailure = { throw IntegrasjonException("Feil ved henting av fagsakId og aktørId fra ba-sak.", it, uri, personIdent) }, - ) - } + fun hentFagsakerHvorPersonMottarLøpendeUtvidetEllerOrdinærBarnetrygd( + personIdent: String, + ): List { + val uri = URI.create("$sakServiceUri/fagsaker/sok/fagsaker-hvor-person-mottar-lopende-ytelse") + return runCatching { + postForEntity>>(uri, RestPersonIdent(personIdent)) + }.fold( + onSuccess = { it.data ?: throw IntegrasjonException(it.melding, null, uri, personIdent) }, + onFailure = { throw IntegrasjonException("Feil ved henting av fagsakId og aktørId fra ba-sak.", it, uri, personIdent) }, + ) + } - fun hentMinimalRestFagsak(fagsakId: Long): RestMinimalFagsak { - val uri = URI.create("$sakServiceUri/fagsaker/minimal/$fagsakId") - return runCatching { - getForEntity>(uri) - }.fold( - onSuccess = { it.data ?: throw IntegrasjonException(it.melding, null, uri) }, - onFailure = { throw IntegrasjonException("Feil ved henting av RestFagsak fra ba-sak.", it, uri) }, - ) - } + fun hentMinimalRestFagsak(fagsakId: Long): RestMinimalFagsak { + val uri = URI.create("$sakServiceUri/fagsaker/minimal/$fagsakId") + return runCatching { + getForEntity>(uri) + }.fold( + onSuccess = { it.data ?: throw IntegrasjonException(it.melding, null, uri) }, + onFailure = { throw IntegrasjonException("Feil ved henting av RestFagsak fra ba-sak.", it, uri) }, + ) + } - fun hentRestFagsak(fagsakId: Long): RestFagsak { - val uri = URI.create("$sakServiceUri/fagsaker/$fagsakId") - return runCatching { - getForEntity>(uri) - }.fold( - onSuccess = { it.data ?: throw IntegrasjonException(it.melding, null, uri) }, - onFailure = { throw IntegrasjonException("Feil ved henting av RestFagsak fra ba-sak.", it, uri) }, - ) - } + fun hentRestFagsak(fagsakId: Long): RestFagsak { + val uri = URI.create("$sakServiceUri/fagsaker/$fagsakId") + return runCatching { + getForEntity>(uri) + }.fold( + onSuccess = { it.data ?: throw IntegrasjonException(it.melding, null, uri) }, + onFailure = { throw IntegrasjonException("Feil ved henting av RestFagsak fra ba-sak.", it, uri) }, + ) + } - fun sendVedtakOmOvergangsstønadHendelseTilSak(personIdent: String) { - val uri = URI.create("$sakServiceUri/overgangsstonad") - logger.info("sender ident fra vedtak om overgangsstønad til {}", uri) - try { - val response = postForEntity>(uri, PersonIdent(ident = personIdent)) - logger.info("Ident fra vedtak om overgangsstønad sendt til sak. Status=${response.status}") - } catch (e: RestClientResponseException) { - logger.warn("Innsending til sak feilet. Responskode: {}, body: {}", e.rawStatusCode, e.responseBodyAsString) - throw IllegalStateException("Innsending til sak feilet. Status: ${e.rawStatusCode}, body: ${e.responseBodyAsString}", e) - } catch (e: RestClientException) { - throw IllegalStateException("Innsending til sak feilet.", e) + fun sendVedtakOmOvergangsstønadHendelseTilSak(personIdent: String) { + val uri = URI.create("$sakServiceUri/overgangsstonad") + logger.info("sender ident fra vedtak om overgangsstønad til {}", uri) + try { + val response = postForEntity>(uri, PersonIdent(ident = personIdent)) + logger.info("Ident fra vedtak om overgangsstønad sendt til sak. Status=${response.status}") + } catch (e: RestClientResponseException) { + logger.warn("Innsending til sak feilet. Responskode: {}, body: {}", e.rawStatusCode, e.responseBodyAsString) + throw IllegalStateException("Innsending til sak feilet. Status: ${e.rawStatusCode}, body: ${e.responseBodyAsString}", e) + } catch (e: RestClientException) { + throw IllegalStateException("Innsending til sak feilet.", e) + } } } -} data class RestPersonIdent( val personIdent: String, @@ -220,7 +221,6 @@ data class RestFagsakDeltager( val rolle: FagsakDeltagerRolle, val fagsakId: Long, val fagsakStatus: FagsakStatus, - ) data class RestAnnullerFødsel(val barnasIdenter: List, val tidligereHendelseId: String) diff --git "a/src/main/kotlin/no/nav/familie/baks/mottak/s\303\270knad/ArkiverDokumentRequestMapper.kt" "b/src/main/kotlin/no/nav/familie/baks/mottak/s\303\270knad/ArkiverDokumentRequestMapper.kt" index ef0c90833..3ab9f4316 100644 --- "a/src/main/kotlin/no/nav/familie/baks/mottak/s\303\270knad/ArkiverDokumentRequestMapper.kt" +++ "b/src/main/kotlin/no/nav/familie/baks/mottak/s\303\270knad/ArkiverDokumentRequestMapper.kt" @@ -20,7 +20,6 @@ import no.nav.familie.kontrakter.felles.dokarkiv.v2.Dokument import no.nav.familie.kontrakter.felles.dokarkiv.v2.Filtype object ArkiverDokumentRequestMapper { - private val KONTANTSTØTTE_ID_POSTFIX = "NAV_34-00.08" private val BARNETRYGD_ID_ORDINÆR_POSTFIX = "NAV_33-00.07" private val BARNETRYGD_ID_UTVIDET_POSTFIX = "NAV_33-00.09" @@ -32,23 +31,27 @@ object ArkiverDokumentRequestMapper { vedleggMap: Map, pdfOriginalSpråk: ByteArray, ): ArkiverDokumentRequest { - val (søknadstype, dokumentasjon) = when (versjonertSøknad) { - is SøknadV7 -> Pair( - versjonertSøknad.søknad.søknadstype, - versjonertSøknad.søknad.dokumentasjon.map { BarnetrygdSøknaddokumentasjon(it) }, - ) + val (søknadstype, dokumentasjon) = + when (versjonertSøknad) { + is SøknadV7 -> + Pair( + versjonertSøknad.søknad.søknadstype, + versjonertSøknad.søknad.dokumentasjon.map { BarnetrygdSøknaddokumentasjon(it) }, + ) - is SøknadV8 -> Pair( - versjonertSøknad.søknad.søknadstype, - versjonertSøknad.søknad.dokumentasjon.map { BarnetrygdSøknaddokumentasjon(it) }, - ) - } + is SøknadV8 -> + Pair( + versjonertSøknad.søknad.søknadstype, + versjonertSøknad.søknad.dokumentasjon.map { BarnetrygdSøknaddokumentasjon(it) }, + ) + } - val dokumenttype = when (søknadstype) { - Søknadstype.ORDINÆR -> Dokumenttype.BARNETRYGD_ORDINÆR - Søknadstype.UTVIDET -> Dokumenttype.BARNETRYGD_UTVIDET - Søknadstype.IKKE_SATT -> Dokumenttype.BARNETRYGD_ORDINÆR - } + val dokumenttype = + when (søknadstype) { + Søknadstype.ORDINÆR -> Dokumenttype.BARNETRYGD_ORDINÆR + Søknadstype.UTVIDET -> Dokumenttype.BARNETRYGD_UTVIDET + Søknadstype.IKKE_SATT -> Dokumenttype.BARNETRYGD_ORDINÆR + } val søknadsdokumentJson = Dokument( @@ -63,11 +66,12 @@ object ArkiverDokumentRequestMapper { dokument = pdf, filtype = Filtype.PDFA, filnavn = null, - tittel = when (dokumenttype) { - Dokumenttype.BARNETRYGD_UTVIDET -> "Søknad om utvidet barnetrygd" - Dokumenttype.BARNETRYGD_ORDINÆR -> "Søknad om ordinær barnetrygd" - else -> "Søknad om ordinær barnetrygd" - }, + tittel = + when (dokumenttype) { + Dokumenttype.BARNETRYGD_UTVIDET -> "Søknad om utvidet barnetrygd" + Dokumenttype.BARNETRYGD_ORDINÆR -> "Søknad om ordinær barnetrygd" + else -> "Søknad om ordinær barnetrygd" + }, dokumenttype = dokumenttype, ) @@ -75,12 +79,13 @@ object ArkiverDokumentRequestMapper { fnr = dbSøknad.fnr, forsøkFerdigstill = false, hoveddokumentvarianter = listOf(søknadsdokumentPdf, søknadsdokumentJson), - vedleggsdokumenter = hentVedleggListeTilArkivering( - dokumentasjon, - vedleggMap, - pdfOriginalSpråk, - Dokumenttype.BARNETRYGD_VEDLEGG, - ), + vedleggsdokumenter = + hentVedleggListeTilArkivering( + dokumentasjon, + vedleggMap, + pdfOriginalSpråk, + Dokumenttype.BARNETRYGD_VEDLEGG, + ), eksternReferanseId = genererEksternReferanseId(dbSøknad.id, dokumenttype), ) } @@ -94,13 +99,14 @@ object ArkiverDokumentRequestMapper { ): ArkiverDokumentRequest { val dokumenttype = Dokumenttype.KONTANTSTØTTE_SØKNAD - val dokumentasjon = when (versjonertSøknad) { - is KontantstøtteSøknadV3 -> - versjonertSøknad.kontantstøtteSøknad.dokumentasjon.map { KontantstøtteSøknaddokumentasjon(it) } + val dokumentasjon = + when (versjonertSøknad) { + is KontantstøtteSøknadV3 -> + versjonertSøknad.kontantstøtteSøknad.dokumentasjon.map { KontantstøtteSøknaddokumentasjon(it) } - is KontantstøtteSøknadV4 -> - versjonertSøknad.kontantstøtteSøknad.dokumentasjon.map { KontantstøtteSøknaddokumentasjon(it) } - } + is KontantstøtteSøknadV4 -> + versjonertSøknad.kontantstøtteSøknad.dokumentasjon.map { KontantstøtteSøknaddokumentasjon(it) } + } val søknadsdokumentJson = Dokument( @@ -123,12 +129,13 @@ object ArkiverDokumentRequestMapper { fnr = dbKontantstøtteSøknad.fnr, forsøkFerdigstill = false, hoveddokumentvarianter = listOf(søknadsdokumentPdf, søknadsdokumentJson), - vedleggsdokumenter = hentVedleggListeTilArkivering( - dokumentasjon, - vedleggMap, - pdfOriginalSpråk, - Dokumenttype.KONTANTSTØTTE_VEDLEGG, - ), + vedleggsdokumenter = + hentVedleggListeTilArkivering( + dokumentasjon, + vedleggMap, + pdfOriginalSpråk, + Dokumenttype.KONTANTSTØTTE_VEDLEGG, + ), eksternReferanseId = genererEksternReferanseId(dbKontantstøtteSøknad.id, dokumenttype), ) } @@ -170,15 +177,19 @@ object ArkiverDokumentRequestMapper { return vedlegg } - private fun genererEksternReferanseId(id: Long, dokumenttype: Dokumenttype) = + private fun genererEksternReferanseId( + id: Long, + dokumenttype: Dokumenttype, + ) = "${id}_${postfixForDokumenttype(dokumenttype)}" - private fun postfixForDokumenttype(dokumenttype: Dokumenttype) = when (dokumenttype) { - Dokumenttype.BARNETRYGD_ORDINÆR -> BARNETRYGD_ID_ORDINÆR_POSTFIX - Dokumenttype.BARNETRYGD_UTVIDET -> BARNETRYGD_ID_UTVIDET_POSTFIX - Dokumenttype.KONTANTSTØTTE_SØKNAD -> KONTANTSTØTTE_ID_POSTFIX - else -> throw RuntimeException("Støtter ikke journalføring for dokumenttype: $dokumenttype") - } + private fun postfixForDokumenttype(dokumenttype: Dokumenttype) = + when (dokumenttype) { + Dokumenttype.BARNETRYGD_ORDINÆR -> BARNETRYGD_ID_ORDINÆR_POSTFIX + Dokumenttype.BARNETRYGD_UTVIDET -> BARNETRYGD_ID_UTVIDET_POSTFIX + Dokumenttype.KONTANTSTØTTE_SØKNAD -> KONTANTSTØTTE_ID_POSTFIX + else -> throw RuntimeException("Støtter ikke journalføring for dokumenttype: $dokumenttype") + } } interface ISøknaddokumentasjon { diff --git "a/src/main/kotlin/no/nav/familie/baks/mottak/s\303\270knad/Feltformaterer.kt" "b/src/main/kotlin/no/nav/familie/baks/mottak/s\303\270knad/Feltformaterer.kt" index 4f3035252..c545c7245 100644 --- "a/src/main/kotlin/no/nav/familie/baks/mottak/s\303\270knad/Feltformaterer.kt" +++ "b/src/main/kotlin/no/nav/familie/baks/mottak/s\303\270knad/Feltformaterer.kt" @@ -9,7 +9,6 @@ import java.time.format.TextStyle import java.util.Locale object Feltformaterer { - /** * Håndterer formatering utover vanlig toString for endenodene */ @@ -36,5 +35,8 @@ object Feltformaterer { private fun displayName(verdi: Month) = verdi.getDisplayName(TextStyle.FULL, Locale("no")) - private fun feltMap(label: String, verdi: String) = mapOf("label" to label, "verdi" to verdi) + private fun feltMap( + label: String, + verdi: String, + ) = mapOf("label" to label, "verdi" to verdi) } diff --git "a/src/main/kotlin/no/nav/familie/baks/mottak/s\303\270knad/Journalf\303\270ringService.kt" "b/src/main/kotlin/no/nav/familie/baks/mottak/s\303\270knad/Journalf\303\270ringService.kt" index c9f2c3bac..695ec58bd 100644 --- "a/src/main/kotlin/no/nav/familie/baks/mottak/s\303\270knad/Journalf\303\270ringService.kt" +++ "b/src/main/kotlin/no/nav/familie/baks/mottak/s\303\270knad/Journalf\303\270ringService.kt" @@ -16,18 +16,22 @@ class JournalføringService( private val barnetrygdSøknadService: BarnetrygdSøknadService, private val kontantstøtteSøknadService: KontantstøtteSøknadService, ) { - - fun journalførBarnetrygdSøknad(dbSøknad: DBSøknad, pdf: ByteArray, pdfOriginalSpråk: ByteArray = ByteArray(0)) { + fun journalførBarnetrygdSøknad( + dbSøknad: DBSøknad, + pdf: ByteArray, + pdfOriginalSpråk: ByteArray = ByteArray(0), + ) { if (dbSøknad.journalpostId == null) { val vedlegg = barnetrygdSøknadService.hentLagredeVedlegg(dbSøknad) - val arkiverDokumentRequest = ArkiverDokumentRequestMapper.toDto( - dbSøknad = dbSøknad, - versjonertSøknad = dbSøknad.hentVersjonertSøknad(), - pdf = pdf, - vedleggMap = vedlegg, - pdfOriginalSpråk = pdfOriginalSpråk, - ) + val arkiverDokumentRequest = + ArkiverDokumentRequestMapper.toDto( + dbSøknad = dbSøknad, + versjonertSøknad = dbSøknad.hentVersjonertSøknad(), + pdf = pdf, + vedleggMap = vedlegg, + pdfOriginalSpråk = pdfOriginalSpråk, + ) val journalpostId: String = arkiverSøknad(arkiverDokumentRequest) val dbSøknadMedJournalpostId = dbSøknad.copy(journalpostId = journalpostId) barnetrygdSøknadService.lagreDBSøknad(dbSøknadMedJournalpostId) @@ -48,13 +52,14 @@ class JournalføringService( if (dbKontantstøtteSøknad.journalpostId == null) { val vedlegg = kontantstøtteSøknadService.hentLagredeDBKontantstøtteVedlegg(dbKontantstøtteSøknad) - val arkiverDokumentRequest = ArkiverDokumentRequestMapper.toDto( - dbKontantstøtteSøknad = dbKontantstøtteSøknad, - versjonertSøknad = dbKontantstøtteSøknad.hentVersjonertKontantstøtteSøknad(), - pdf = pdf, - vedleggMap = vedlegg, - pdfOriginalSpråk = pdfOriginalSpråk, - ) + val arkiverDokumentRequest = + ArkiverDokumentRequestMapper.toDto( + dbKontantstøtteSøknad = dbKontantstøtteSøknad, + versjonertSøknad = dbKontantstøtteSøknad.hentVersjonertKontantstøtteSøknad(), + pdf = pdf, + vedleggMap = vedlegg, + pdfOriginalSpråk = pdfOriginalSpråk, + ) val journalpostId: String = arkiverSøknad(arkiverDokumentRequest) val dbSøknadMedJournalpostId = dbKontantstøtteSøknad.copy(journalpostId = journalpostId) kontantstøtteSøknadService.lagreDBKontantstøtteSøknad(dbSøknadMedJournalpostId) diff --git "a/src/main/kotlin/no/nav/familie/baks/mottak/s\303\270knad/PdfService.kt" "b/src/main/kotlin/no/nav/familie/baks/mottak/s\303\270knad/PdfService.kt" index 9bdee349a..d79669bb5 100644 --- "a/src/main/kotlin/no/nav/familie/baks/mottak/s\303\270knad/PdfService.kt" +++ "b/src/main/kotlin/no/nav/familie/baks/mottak/s\303\270knad/PdfService.kt" @@ -22,31 +22,37 @@ class PdfService( private val pdfClient: PdfClient, private val søknadSpråkvelgerService: SøknadSpråkvelgerService, ) { - - fun lagBarnetrygdPdf(versjonertSøknad: VersjonertSøknad, dbSøknad: DBSøknad, språk: String = "nb"): ByteArray { + fun lagBarnetrygdPdf( + versjonertSøknad: VersjonertSøknad, + dbSøknad: DBSøknad, + språk: String = "nb", + ): ByteArray { val barnetrygdSøknadMapForSpråk = søknadSpråkvelgerService.konverterBarnetrygdSøknadTilMapForSpråk(versjonertSøknad, språk) - val (søknadstype, navn) = when (versjonertSøknad) { - is SøknadV7 -> { - Pair(versjonertSøknad.søknad.søknadstype, versjonertSøknad.søknad.søker.navn) - } + val (søknadstype, navn) = + when (versjonertSøknad) { + is SøknadV7 -> { + Pair(versjonertSøknad.søknad.søknadstype, versjonertSøknad.søknad.søker.navn) + } - is SøknadV8 -> { - Pair(versjonertSøknad.søknad.søknadstype, versjonertSøknad.søknad.søker.navn) + is SøknadV8 -> { + Pair(versjonertSøknad.søknad.søknadstype, versjonertSøknad.søknad.søker.navn) + } } - } val path: String = søknadstypeTilPath(søknadstype) - val ekstraFelterMap = hentEkstraFelter( - navn = navn.verdi.getValue("nb"), - opprettetTid = dbSøknad.opprettetTid, - fnr = dbSøknad.fnr, - label = when (søknadstype) { - Søknadstype.UTVIDET -> "Søknad om utvidet barnetrygd" - else -> "Søknad om ordinær barnetrygd" - }, - ) + val ekstraFelterMap = + hentEkstraFelter( + navn = navn.verdi.getValue("nb"), + opprettetTid = dbSøknad.opprettetTid, + fnr = dbSøknad.fnr, + label = + when (søknadstype) { + Søknadstype.UTVIDET -> "Søknad om utvidet barnetrygd" + else -> "Søknad om ordinær barnetrygd" + }, + ) return pdfClient.lagPdf(barnetrygdSøknadMapForSpråk + ekstraFelterMap, path) } @@ -58,17 +64,19 @@ class PdfService( val kontantstøtteSøknadMapForSpråk = søknadSpråkvelgerService.konverterKontantstøtteSøknadTilMapForSpråk(versjonertSøknad, språk) - val navn = when (versjonertSøknad) { - is KontantstøtteSøknadV3 -> versjonertSøknad.kontantstøtteSøknad.søker.navn - is KontantstøtteSøknadV4 -> versjonertSøknad.kontantstøtteSøknad.søker.navn - } + val navn = + when (versjonertSøknad) { + is KontantstøtteSøknadV3 -> versjonertSøknad.kontantstøtteSøknad.søker.navn + is KontantstøtteSøknadV4 -> versjonertSøknad.kontantstøtteSøknad.søker.navn + } - val ekstraFelterMap = hentEkstraFelter( - navn = navn.verdi.getValue("nb"), - opprettetTid = dbKontantstøtteSøknad.opprettetTid, - fnr = dbKontantstøtteSøknad.fnr, - label = "Søknad om kontantstøtte", - ) + val ekstraFelterMap = + hentEkstraFelter( + navn = navn.verdi.getValue("nb"), + opprettetTid = dbKontantstøtteSøknad.opprettetTid, + fnr = dbKontantstøtteSøknad.fnr, + label = "Søknad om kontantstøtte", + ) return pdfClient.lagPdf(kontantstøtteSøknadMapForSpråk + ekstraFelterMap, "kontantstotte-soknad") } @@ -86,9 +94,10 @@ class PdfService( label: String, ): Map { return mapOf( - "dokumentDato" to opprettetTid.format( - DateTimeFormatter.ofLocalizedDate(FormatStyle.SHORT).localizedBy(Locale("no")), - ), + "dokumentDato" to + opprettetTid.format( + DateTimeFormatter.ofLocalizedDate(FormatStyle.SHORT).localizedBy(Locale("no")), + ), "navn" to navn, "fodselsnummer" to fnr, "label" to label, diff --git "a/src/main/kotlin/no/nav/familie/baks/mottak/s\303\270knad/S\303\270knadSpr\303\245kvelgerService.kt" "b/src/main/kotlin/no/nav/familie/baks/mottak/s\303\270knad/S\303\270knadSpr\303\245kvelgerService.kt" index 9c96d2093..09ff5d402 100644 --- "a/src/main/kotlin/no/nav/familie/baks/mottak/s\303\270knad/S\303\270knadSpr\303\245kvelgerService.kt" +++ "b/src/main/kotlin/no/nav/familie/baks/mottak/s\303\270knad/S\303\270knadSpr\303\245kvelgerService.kt" @@ -15,20 +15,24 @@ import no.nav.familie.kontrakter.felles.objectMapper as getObjectMapper @Service class SøknadSpråkvelgerService { - - fun konverterBarnetrygdSøknadTilMapForSpråk(versjonertSøknad: VersjonertSøknad, språk: String): Map { + fun konverterBarnetrygdSøknadTilMapForSpråk( + versjonertSøknad: VersjonertSøknad, + språk: String, + ): Map { val objectMapperForSpråk = hentObjectMapperForSpråk(språk) - val barnetrygdSøknadMapForSpråk = objectMapperForSpråk.convertValue>( + val barnetrygdSøknadMapForSpråk = + objectMapperForSpråk.convertValue>( + when (versjonertSøknad) { + is SøknadV7 -> versjonertSøknad.søknad + is SøknadV8 -> versjonertSøknad.søknad + }, + ) + barnetrygdSøknadMapForSpråk["teksterUtenomSpørsmål"] = when (versjonertSøknad) { - is SøknadV7 -> versjonertSøknad.søknad - is SøknadV8 -> versjonertSøknad.søknad - }, - ) - barnetrygdSøknadMapForSpråk["teksterUtenomSpørsmål"] = when (versjonertSøknad) { - is SøknadV7 -> versjonertSøknad.søknad.teksterUtenomSpørsmål - is SøknadV8 -> versjonertSøknad.søknad.teksterUtenomSpørsmål - }.mapValues { it.value[språk] } + is SøknadV7 -> versjonertSøknad.søknad.teksterUtenomSpørsmål + is SøknadV8 -> versjonertSøknad.søknad.teksterUtenomSpørsmål + }.mapValues { it.value[språk] } return barnetrygdSøknadMapForSpråk } @@ -39,12 +43,13 @@ class SøknadSpråkvelgerService { ): Map { val objectMapperForSpråk = hentObjectMapperForSpråk(språk) - val kontantstøtteSøknadMapForSpråk = objectMapperForSpråk.convertValue>( - when (versjonertSøknad) { - is KontantstøtteSøknadV3 -> versjonertSøknad.kontantstøtteSøknad - is KontantstøtteSøknadV4 -> versjonertSøknad.kontantstøtteSøknad - }, - ) + val kontantstøtteSøknadMapForSpråk = + objectMapperForSpråk.convertValue>( + when (versjonertSøknad) { + is KontantstøtteSøknadV3 -> versjonertSøknad.kontantstøtteSøknad + is KontantstøtteSøknadV4 -> versjonertSøknad.kontantstøtteSøknad + }, + ) return kontantstøtteSøknadMapForSpråk } diff --git "a/src/main/kotlin/no/nav/familie/baks/mottak/s\303\270knad/barnetrygd/BarnetrygdSerializers.kt" "b/src/main/kotlin/no/nav/familie/baks/mottak/s\303\270knad/barnetrygd/BarnetrygdSerializers.kt" index 0326212cf..2511894b7 100644 --- "a/src/main/kotlin/no/nav/familie/baks/mottak/s\303\270knad/barnetrygd/BarnetrygdSerializers.kt" +++ "b/src/main/kotlin/no/nav/familie/baks/mottak/s\303\270knad/barnetrygd/BarnetrygdSerializers.kt" @@ -8,7 +8,6 @@ import no.nav.familie.kontrakter.ba.søknad.v4.Søknadsfelt import no.nav.familie.kontrakter.ba.søknad.v7.Søknaddokumentasjon class BarnetrygdSøknadObjectMapperModule(språk: String) : SimpleModule() { - init { addSerializer(Søknadsfelt::class.java, SøknadsfeltSerializer(språk)) addSerializer(Søknaddokumentasjon::class.java, SøknaddokumentasjonSerializer(språk)) @@ -16,7 +15,11 @@ class BarnetrygdSøknadObjectMapperModule(språk: String) : SimpleModule() { } class SøknaddokumentasjonSerializer(private val språk: String) : JsonSerializer() { - override fun serialize(dokumentasjon: Søknaddokumentasjon, jsonGenerator: JsonGenerator, serializerProvider: SerializerProvider) { + override fun serialize( + dokumentasjon: Søknaddokumentasjon, + jsonGenerator: JsonGenerator, + serializerProvider: SerializerProvider, + ) { return jsonGenerator.writeObject( mapOf( "dokumentasjonsbehov" to dokumentasjon.dokumentasjonsbehov, @@ -29,7 +32,11 @@ class SøknaddokumentasjonSerializer(private val språk: String) : JsonSerialize } class SøknadsfeltSerializer(private val språk: String) : JsonSerializer>() { - override fun serialize(søknadsFelt: Søknadsfelt<*>, jsonGenerator: JsonGenerator, serializerProvider: SerializerProvider) { + override fun serialize( + søknadsFelt: Søknadsfelt<*>, + jsonGenerator: JsonGenerator, + serializerProvider: SerializerProvider, + ) { return jsonGenerator.writeObject( mapOf( "label" to søknadsFelt.label[språk], diff --git "a/src/main/kotlin/no/nav/familie/baks/mottak/s\303\270knad/barnetrygd/BarnetrygdS\303\270knadController.kt" "b/src/main/kotlin/no/nav/familie/baks/mottak/s\303\270knad/barnetrygd/BarnetrygdS\303\270knadController.kt" index f982932c1..5ecefc8ba 100644 --- "a/src/main/kotlin/no/nav/familie/baks/mottak/s\303\270knad/barnetrygd/BarnetrygdS\303\270knadController.kt" +++ "b/src/main/kotlin/no/nav/familie/baks/mottak/s\303\270knad/barnetrygd/BarnetrygdS\303\270knadController.kt" @@ -26,13 +26,16 @@ class BarnetrygdSøknadController( private val barnetrygdSøknadService: BarnetrygdSøknadService, private val barnetrygdSøknadMetrikkService: BarnetrygdSøknadMetrikkService, ) { - @PostMapping(value = ["/soknad/v7"], consumes = [MULTIPART_FORM_DATA_VALUE]) - fun taImotSøknad(@RequestPart("søknad") søknad: SøknadKontraktV7): ResponseEntity> = + fun taImotSøknad( + @RequestPart("søknad") søknad: SøknadKontraktV7, + ): ResponseEntity> = mottaVersjonertSøknadOgSendMetrikker(versjonertSøknad = SøknadV7(søknad = søknad)) @PostMapping(value = ["/soknad/v8"], consumes = [MULTIPART_FORM_DATA_VALUE]) - fun taImotSøknad(@RequestPart("søknad") søknad: SøknadKontraktV8): ResponseEntity> = + fun taImotSøknad( + @RequestPart("søknad") søknad: SøknadKontraktV8, + ): ResponseEntity> = mottaVersjonertSøknadOgSendMetrikker(versjonertSøknad = SøknadV8(søknad = søknad)) fun mottaVersjonertSøknadOgSendMetrikker(versjonertSøknad: VersjonertSøknad): ResponseEntity> { diff --git "a/src/main/kotlin/no/nav/familie/baks/mottak/s\303\270knad/barnetrygd/BarnetrygdS\303\270knadMetrikkService.kt" "b/src/main/kotlin/no/nav/familie/baks/mottak/s\303\270knad/barnetrygd/BarnetrygdS\303\270knadMetrikkService.kt" index 9212ac446..966a471a9 100644 --- "a/src/main/kotlin/no/nav/familie/baks/mottak/s\303\270knad/barnetrygd/BarnetrygdS\303\270knadMetrikkService.kt" +++ "b/src/main/kotlin/no/nav/familie/baks/mottak/s\303\270knad/barnetrygd/BarnetrygdS\303\270knadMetrikkService.kt" @@ -12,7 +12,6 @@ import org.springframework.stereotype.Service @Service class BarnetrygdSøknadMetrikkService { - // Metrics for ordinær barnetrygd private val søknadMottattOk = Metrics.counter("barnetrygd.soknad.mottatt.ok") private val søknadMottattFeil = Metrics.counter("barnetrygd.soknad.mottatt.feil") @@ -38,15 +37,17 @@ class BarnetrygdSøknadMetrikkService { private val utvidetSøknadEøs = Metrics.counter("barnetrygd.utvidet.soknad.eos") fun sendMottakMetrikker(versjonertSøknad: VersjonertSøknad) { - val (søknadstype, dokumentasjon) = when (versjonertSøknad) { - is SøknadV7 -> Pair(versjonertSøknad.søknad.søknadstype, versjonertSøknad.søknad.dokumentasjon) - is SøknadV8 -> Pair(versjonertSøknad.søknad.søknadstype, versjonertSøknad.søknad.dokumentasjon) - } + val (søknadstype, dokumentasjon) = + when (versjonertSøknad) { + is SøknadV7 -> Pair(versjonertSøknad.søknad.søknadstype, versjonertSøknad.søknad.dokumentasjon) + is SøknadV8 -> Pair(versjonertSøknad.søknad.søknadstype, versjonertSøknad.søknad.dokumentasjon) + } - val harEøsSteg = when (versjonertSøknad) { - is SøknadV7 -> versjonertSøknad.søknad.antallEøsSteg > 0 - is SøknadV8 -> versjonertSøknad.søknad.antallEøsSteg > 0 - } + val harEøsSteg = + when (versjonertSøknad) { + is SøknadV7 -> versjonertSøknad.søknad.antallEøsSteg > 0 + is SøknadV8 -> versjonertSøknad.søknad.antallEøsSteg > 0 + } val erUtvidet = søknadstype == Søknadstype.UTVIDET sendSøknadMetrikker(harEøsSteg, erUtvidet) @@ -55,14 +56,18 @@ class BarnetrygdSøknadMetrikkService { } fun sendMottakFeiletMetrikker(versjonertSøknad: VersjonertSøknad) { - val søknadstype = when (versjonertSøknad) { - is SøknadV7 -> versjonertSøknad.søknad.søknadstype - is SøknadV8 -> versjonertSøknad.søknad.søknadstype - } + val søknadstype = + when (versjonertSøknad) { + is SøknadV7 -> versjonertSøknad.søknad.søknadstype + is SøknadV8 -> versjonertSøknad.søknad.søknadstype + } if (søknadstype == Søknadstype.UTVIDET) søknadUtvidetMottattFeil.increment() else søknadMottattFeil.increment() } - private fun sendSøknadMetrikker(harEøsSteg: Boolean, erUtvidet: Boolean) { + private fun sendSøknadMetrikker( + harEøsSteg: Boolean, + erUtvidet: Boolean, + ) { if (erUtvidet) { søknadUtvidetMottattOk.increment() if (harEøsSteg) { @@ -76,7 +81,10 @@ class BarnetrygdSøknadMetrikkService { } } - private fun sendDokumentasjonMetrikker(erUtvidet: Boolean, dokumentasjon: List) { + private fun sendDokumentasjonMetrikker( + erUtvidet: Boolean, + dokumentasjon: List, + ) { if (dokumentasjon.isNotEmpty()) { // Filtrerer ut Dokumentasjonsbehov.ANNEN_DOKUMENTASJON val dokumentasjonsbehovUtenAnnenDokumentasjon = @@ -103,7 +111,10 @@ class BarnetrygdSøknadMetrikkService { } } - private fun sendDokumentasjonsbehovMetrikker(erUtvidet: Boolean, dokumentasjonsbehov: List) { + private fun sendDokumentasjonsbehovMetrikker( + erUtvidet: Boolean, + dokumentasjonsbehov: List, + ) { if (erUtvidet) { utvidetSøknadHarDokumentasjonsbehov.increment() utvidetAntallDokumentasjonsbehov.increment(dokumentasjonsbehov.size.toDouble()) @@ -113,7 +124,10 @@ class BarnetrygdSøknadMetrikkService { } } - private fun sendVedleggMetrikker(erUtvidet: Boolean, vedlegg: List) { + private fun sendVedleggMetrikker( + erUtvidet: Boolean, + vedlegg: List, + ) { if (erUtvidet) { utvidetSøknadHarVedlegg.increment() utvidetAntallVedlegg.increment(vedlegg.size.toDouble()) diff --git "a/src/main/kotlin/no/nav/familie/baks/mottak/s\303\270knad/barnetrygd/BarnetrygdS\303\270knadService.kt" "b/src/main/kotlin/no/nav/familie/baks/mottak/s\303\270knad/barnetrygd/BarnetrygdS\303\270knadService.kt" index bc6aca86e..270b437e1 100644 --- "a/src/main/kotlin/no/nav/familie/baks/mottak/s\303\270knad/barnetrygd/BarnetrygdS\303\270knadService.kt" +++ "b/src/main/kotlin/no/nav/familie/baks/mottak/s\303\270knad/barnetrygd/BarnetrygdS\303\270knadService.kt" @@ -26,19 +26,19 @@ class BarnetrygdSøknadService( private val taskService: TaskService, private val vedleggClient: FamilieDokumentClient, ) { - @Transactional @Throws(FødselsnummerErNullException::class) fun motta(versjonertSøknad: VersjonertSøknad): DBSøknad { - val (dbSøknad, dokumentasjon) = when (versjonertSøknad) { - is SøknadV7 -> { - Pair(versjonertSøknad.søknad.tilDBSøknad(), versjonertSøknad.søknad.dokumentasjon) - } + val (dbSøknad, dokumentasjon) = + when (versjonertSøknad) { + is SøknadV7 -> { + Pair(versjonertSøknad.søknad.tilDBSøknad(), versjonertSøknad.søknad.dokumentasjon) + } - is SøknadV8 -> { - Pair(versjonertSøknad.søknad.tilDBSøknad(), versjonertSøknad.søknad.dokumentasjon) + is SøknadV8 -> { + Pair(versjonertSøknad.søknad.tilDBSøknad(), versjonertSøknad.søknad.dokumentasjon) + } } - } lagreDBSøknad(dbSøknad) @@ -77,7 +77,10 @@ class BarnetrygdSøknadService( vedleggRepository.slettAlleVedlegg(søknad.id) } - private fun hentOgLagreSøknadvedlegg(dbSøknad: DBSøknad, søknaddokumentasjonsliste: List) { + private fun hentOgLagreSøknadvedlegg( + dbSøknad: DBSøknad, + søknaddokumentasjonsliste: List, + ) { søknaddokumentasjonsliste.forEach { søknaddokumentasjon -> søknaddokumentasjon.opplastedeVedlegg.forEach { vedlegg -> val vedleggDokument = vedleggClient.hentVedlegg(dokumentId = vedlegg.dokumentId) diff --git "a/src/main/kotlin/no/nav/familie/baks/mottak/s\303\270knad/barnetrygd/domene/BarnetrygdS\303\270knaddokumentasjon.kt" "b/src/main/kotlin/no/nav/familie/baks/mottak/s\303\270knad/barnetrygd/domene/BarnetrygdS\303\270knaddokumentasjon.kt" index 9bb15dd87..21a6bea8c 100644 --- "a/src/main/kotlin/no/nav/familie/baks/mottak/s\303\270knad/barnetrygd/domene/BarnetrygdS\303\270knaddokumentasjon.kt" +++ "b/src/main/kotlin/no/nav/familie/baks/mottak/s\303\270knad/barnetrygd/domene/BarnetrygdS\303\270knaddokumentasjon.kt" @@ -6,13 +6,13 @@ import no.nav.familie.kontrakter.ba.søknad.v7.Dokumentasjonsbehov import no.nav.familie.kontrakter.ba.søknad.v7.Søknaddokumentasjon data class BarnetrygdSøknaddokumentasjon(val søknaddokumentasjon: Søknaddokumentasjon) : ISøknaddokumentasjon { - - override val opplastedeVedlegg: List = søknaddokumentasjon.opplastedeVedlegg.map { - Søknadsvedlegg( - it.dokumentId, - dokumentasjonsbehovTilTittel(it.tittel), - ) - } + override val opplastedeVedlegg: List = + søknaddokumentasjon.opplastedeVedlegg.map { + Søknadsvedlegg( + it.dokumentId, + dokumentasjonsbehovTilTittel(it.tittel), + ) + } private fun dokumentasjonsbehovTilTittel(dokumentasjonsbehov: Dokumentasjonsbehov): String { return when (dokumentasjonsbehov) { diff --git "a/src/main/kotlin/no/nav/familie/baks/mottak/s\303\270knad/barnetrygd/domene/DBS\303\270knad.kt" "b/src/main/kotlin/no/nav/familie/baks/mottak/s\303\270knad/barnetrygd/domene/DBS\303\270knad.kt" index a6e299448..ba190aa72 100644 --- "a/src/main/kotlin/no/nav/familie/baks/mottak/s\303\270knad/barnetrygd/domene/DBS\303\270knad.kt" +++ "b/src/main/kotlin/no/nav/familie/baks/mottak/s\303\270knad/barnetrygd/domene/DBS\303\270knad.kt" @@ -29,7 +29,6 @@ data class DBSøknad( @Column(name = "journalpost_id") val journalpostId: String? = null, ) { - private fun hentSøknadV7(): SøknadV7 { return objectMapper.readValue(søknadJson) } @@ -99,7 +98,10 @@ fun SøknadV8.tilDBSøknad(): DBSøknad { } } -fun Søknadsvedlegg.tilDBVedlegg(søknad: DBSøknad, data: ByteArray): DBVedlegg { +fun Søknadsvedlegg.tilDBVedlegg( + søknad: DBSøknad, + data: ByteArray, +): DBVedlegg { return DBVedlegg( dokumentId = this.dokumentId, søknadId = søknad.id, diff --git "a/src/main/kotlin/no/nav/familie/baks/mottak/s\303\270knad/barnetrygd/domene/S\303\270knadRepository.kt" "b/src/main/kotlin/no/nav/familie/baks/mottak/s\303\270knad/barnetrygd/domene/S\303\270knadRepository.kt" index 30f6471c1..c6d1ae0d2 100644 --- "a/src/main/kotlin/no/nav/familie/baks/mottak/s\303\270knad/barnetrygd/domene/S\303\270knadRepository.kt" +++ "b/src/main/kotlin/no/nav/familie/baks/mottak/s\303\270knad/barnetrygd/domene/S\303\270knadRepository.kt" @@ -8,7 +8,6 @@ import org.springframework.transaction.annotation.Transactional @Repository interface SøknadRepository : JpaRepository { - @Query(value = "SELECT s FROM Soknad s WHERE s.id = :soknadId") fun hentDBSøknad(soknadId: Long): DBSøknad? } diff --git "a/src/main/kotlin/no/nav/familie/baks/mottak/s\303\270knad/barnetrygd/domene/VersjonertS\303\270knad.kt" "b/src/main/kotlin/no/nav/familie/baks/mottak/s\303\270knad/barnetrygd/domene/VersjonertS\303\270knad.kt" index f00073381..4051dde06 100644 --- "a/src/main/kotlin/no/nav/familie/baks/mottak/s\303\270knad/barnetrygd/domene/VersjonertS\303\270knad.kt" +++ "b/src/main/kotlin/no/nav/familie/baks/mottak/s\303\270knad/barnetrygd/domene/VersjonertS\303\270knad.kt" @@ -6,4 +6,5 @@ import no.nav.familie.kontrakter.ba.søknad.v8.Søknad as SøknadV8 sealed class VersjonertSøknad data class SøknadV7(val søknad: SøknadV7) : VersjonertSøknad() + data class SøknadV8(val søknad: SøknadV8) : VersjonertSøknad() diff --git "a/src/main/kotlin/no/nav/familie/baks/mottak/s\303\270knad/kontantst\303\270tte/Kontantst\303\270tteSerializers.kt" "b/src/main/kotlin/no/nav/familie/baks/mottak/s\303\270knad/kontantst\303\270tte/Kontantst\303\270tteSerializers.kt" index 6b54a8cb7..09e623e58 100644 --- "a/src/main/kotlin/no/nav/familie/baks/mottak/s\303\270knad/kontantst\303\270tte/Kontantst\303\270tteSerializers.kt" +++ "b/src/main/kotlin/no/nav/familie/baks/mottak/s\303\270knad/kontantst\303\270tte/Kontantst\303\270tteSerializers.kt" @@ -8,7 +8,6 @@ import no.nav.familie.kontrakter.ks.søknad.v1.Søknadsfelt import no.nav.familie.kontrakter.ks.søknad.v1.TekstPåSpråkMap class KontantstøtteObjectMapperModule(språk: String) : SimpleModule() { - init { addSerializer(Søknadsfelt::class.java, SøknadsfeltSerializer(språk)) addSerializer(TekstPåSpråkMap::class.java, TekstPåSpråkMapSerializer(språk)) diff --git "a/src/main/kotlin/no/nav/familie/baks/mottak/s\303\270knad/kontantst\303\270tte/Kontantst\303\270tteS\303\270knadController.kt" "b/src/main/kotlin/no/nav/familie/baks/mottak/s\303\270knad/kontantst\303\270tte/Kontantst\303\270tteS\303\270knadController.kt" index 7096ee92a..65886f63e 100644 --- "a/src/main/kotlin/no/nav/familie/baks/mottak/s\303\270knad/kontantst\303\270tte/Kontantst\303\270tteS\303\270knadController.kt" +++ "b/src/main/kotlin/no/nav/familie/baks/mottak/s\303\270knad/kontantst\303\270tte/Kontantst\303\270tteS\303\270knadController.kt" @@ -27,11 +27,15 @@ class KontantstøtteSøknadController( private val kontantstøtteSøknadMetrikkService: KontantstøtteSøknadMetrikkService, ) { @PostMapping(value = ["/soknad/v3"], consumes = [MULTIPART_FORM_DATA_VALUE]) - fun taImotSøknad(@RequestPart("søknad") søknad: KontantstøtteSøknadKontraktV3): ResponseEntity> = + fun taImotSøknad( + @RequestPart("søknad") søknad: KontantstøtteSøknadKontraktV3, + ): ResponseEntity> = mottaVersjonertSøknadOgSendMetrikker(versjonertKontantstøtteSøknad = KontantstøtteSøknadV3(kontantstøtteSøknad = søknad)) @PostMapping(value = ["/soknad/v4"], consumes = [MULTIPART_FORM_DATA_VALUE]) - fun taImotSøknad(@RequestPart("søknad") søknad: KontantstøtteSøknadKontraktV4): ResponseEntity> = + fun taImotSøknad( + @RequestPart("søknad") søknad: KontantstøtteSøknadKontraktV4, + ): ResponseEntity> = mottaVersjonertSøknadOgSendMetrikker(versjonertKontantstøtteSøknad = KontantstøtteSøknadV4(kontantstøtteSøknad = søknad)) fun mottaVersjonertSøknadOgSendMetrikker(versjonertKontantstøtteSøknad: VersjonertKontantstøtteSøknad): ResponseEntity> { diff --git "a/src/main/kotlin/no/nav/familie/baks/mottak/s\303\270knad/kontantst\303\270tte/Kontantst\303\270tteS\303\270knadMetrikkService.kt" "b/src/main/kotlin/no/nav/familie/baks/mottak/s\303\270knad/kontantst\303\270tte/Kontantst\303\270tteS\303\270knadMetrikkService.kt" index 4d02c725e..9b816dff2 100644 --- "a/src/main/kotlin/no/nav/familie/baks/mottak/s\303\270knad/kontantst\303\270tte/Kontantst\303\270tteS\303\270knadMetrikkService.kt" +++ "b/src/main/kotlin/no/nav/familie/baks/mottak/s\303\270knad/kontantst\303\270tte/Kontantst\303\270tteS\303\270knadMetrikkService.kt" @@ -10,7 +10,6 @@ import org.springframework.stereotype.Service @Service class KontantstøtteSøknadMetrikkService { - // Metrics for kontantstotte val søknadMottattOk = Metrics.counter("kontantstotte.soknad.mottatt.ok") val søknadMottattFeil = Metrics.counter("kontantstotte.soknad.mottatt.feil") @@ -24,15 +23,17 @@ class KontantstøtteSøknadMetrikkService { val søknadEøs = Metrics.counter("kontantstotte.soknad.eos") fun sendMottakMetrikker(versjonertKontantstøtteSøknad: VersjonertKontantstøtteSøknad) { - val dokumentasjon = when (versjonertKontantstøtteSøknad) { - is KontantstøtteSøknadV3 -> versjonertKontantstøtteSøknad.kontantstøtteSøknad.dokumentasjon - is KontantstøtteSøknadV4 -> versjonertKontantstøtteSøknad.kontantstøtteSøknad.dokumentasjon - } + val dokumentasjon = + when (versjonertKontantstøtteSøknad) { + is KontantstøtteSøknadV3 -> versjonertKontantstøtteSøknad.kontantstøtteSøknad.dokumentasjon + is KontantstøtteSøknadV4 -> versjonertKontantstøtteSøknad.kontantstøtteSøknad.dokumentasjon + } - val harEøsSteg = when (versjonertKontantstøtteSøknad) { - is KontantstøtteSøknadV3 -> versjonertKontantstøtteSøknad.kontantstøtteSøknad.antallEøsSteg > 0 - is KontantstøtteSøknadV4 -> versjonertKontantstøtteSøknad.kontantstøtteSøknad.antallEøsSteg > 0 - } + val harEøsSteg = + when (versjonertKontantstøtteSøknad) { + is KontantstøtteSøknadV3 -> versjonertKontantstøtteSøknad.kontantstøtteSøknad.antallEøsSteg > 0 + is KontantstøtteSøknadV4 -> versjonertKontantstøtteSøknad.kontantstøtteSøknad.antallEøsSteg > 0 + } sendSøknadMetrikker(harEøsSteg) diff --git "a/src/main/kotlin/no/nav/familie/baks/mottak/s\303\270knad/kontantst\303\270tte/Kontantst\303\270tteS\303\270knadService.kt" "b/src/main/kotlin/no/nav/familie/baks/mottak/s\303\270knad/kontantst\303\270tte/Kontantst\303\270tteS\303\270knadService.kt" index ae198f6b3..4427785b1 100644 --- "a/src/main/kotlin/no/nav/familie/baks/mottak/s\303\270knad/kontantst\303\270tte/Kontantst\303\270tteS\303\270knadService.kt" +++ "b/src/main/kotlin/no/nav/familie/baks/mottak/s\303\270knad/kontantst\303\270tte/Kontantst\303\270tteS\303\270knadService.kt" @@ -17,10 +17,9 @@ import no.nav.familie.prosessering.domene.Task import no.nav.familie.prosessering.internal.TaskService import org.springframework.stereotype.Service import org.springframework.transaction.annotation.Transactional -import java.util.* +import java.util.Properties -@Service -class KontantstøtteSøknadService( +@Service class KontantstøtteSøknadService( private val kontantstøtteSøknadRepository: KontantstøtteSøknadRepository, private val kontantstøtteVedleggRepository: KontantstøtteVedleggRepository, private val taskService: TaskService, @@ -29,21 +28,22 @@ class KontantstøtteSøknadService( @Transactional @Throws(FødselsnummerErNullException::class) fun mottaKontantstøtteSøknad(versjonertKontantstøtteSøknad: VersjonertKontantstøtteSøknad): DBKontantstøtteSøknad { - val (dbKontantstøtteSøknad, dokumentasjon) = when (versjonertKontantstøtteSøknad) { - is KontantstøtteSøknadV3 -> { - Pair( - versjonertKontantstøtteSøknad.kontantstøtteSøknad.tilDBKontantstøtteSøknad(), - versjonertKontantstøtteSøknad.kontantstøtteSøknad.dokumentasjon, - ) - } + val (dbKontantstøtteSøknad, dokumentasjon) = + when (versjonertKontantstøtteSøknad) { + is KontantstøtteSøknadV3 -> { + Pair( + versjonertKontantstøtteSøknad.kontantstøtteSøknad.tilDBKontantstøtteSøknad(), + versjonertKontantstøtteSøknad.kontantstøtteSøknad.dokumentasjon, + ) + } - is KontantstøtteSøknadV4 -> { - Pair( - versjonertKontantstøtteSøknad.kontantstøtteSøknad.tilDBKontantstøtteSøknad(), - versjonertKontantstøtteSøknad.kontantstøtteSøknad.dokumentasjon, - ) + is KontantstøtteSøknadV4 -> { + Pair( + versjonertKontantstøtteSøknad.kontantstøtteSøknad.tilDBKontantstøtteSøknad(), + versjonertKontantstøtteSøknad.kontantstøtteSøknad.dokumentasjon, + ) + } } - } lagreDBKontantstøtteSøknad(dbKontantstøtteSøknad) diff --git "a/src/main/kotlin/no/nav/familie/baks/mottak/s\303\270knad/kontantst\303\270tte/domene/DBKontantst\303\270tteS\303\270knad.kt" "b/src/main/kotlin/no/nav/familie/baks/mottak/s\303\270knad/kontantst\303\270tte/domene/DBKontantst\303\270tteS\303\270knad.kt" index 84a4f50cf..4d7f3d152 100644 --- "a/src/main/kotlin/no/nav/familie/baks/mottak/s\303\270knad/kontantst\303\270tte/domene/DBKontantst\303\270tteS\303\270knad.kt" +++ "b/src/main/kotlin/no/nav/familie/baks/mottak/s\303\270knad/kontantst\303\270tte/domene/DBKontantst\303\270tteS\303\270knad.kt" @@ -34,7 +34,6 @@ data class DBKontantstøtteSøknad( @Column(name = "journalpost_id") val journalpostId: String? = null, ) { - private fun hentSøknadV3(): KontantstøtteSøknadV3 { return objectMapper.readValue(søknadJson) } @@ -94,7 +93,10 @@ fun KontantstøtteSøknadV4.tilDBKontantstøtteSøknad(): DBKontantstøtteSøkna } } -fun Søknadsvedlegg.tilDBKontantstøtteVedlegg(søknad: DBKontantstøtteSøknad, data: ByteArray): DBKontantstotteVedlegg { +fun Søknadsvedlegg.tilDBKontantstøtteVedlegg( + søknad: DBKontantstøtteSøknad, + data: ByteArray, +): DBKontantstotteVedlegg { return DBKontantstotteVedlegg( dokumentId = this.dokumentId, søknadId = søknad.id, diff --git "a/src/main/kotlin/no/nav/familie/baks/mottak/s\303\270knad/kontantst\303\270tte/domene/Kontantst\303\270tteS\303\270knadRepository.kt" "b/src/main/kotlin/no/nav/familie/baks/mottak/s\303\270knad/kontantst\303\270tte/domene/Kontantst\303\270tteS\303\270knadRepository.kt" index 0c4e1bcc9..4b421fdf8 100644 --- "a/src/main/kotlin/no/nav/familie/baks/mottak/s\303\270knad/kontantst\303\270tte/domene/Kontantst\303\270tteS\303\270knadRepository.kt" +++ "b/src/main/kotlin/no/nav/familie/baks/mottak/s\303\270knad/kontantst\303\270tte/domene/Kontantst\303\270tteS\303\270knadRepository.kt" @@ -8,7 +8,6 @@ import org.springframework.transaction.annotation.Transactional @Repository interface KontantstøtteSøknadRepository : JpaRepository { - @Query(value = "SELECT s FROM kontantstotte_soknad s WHERE s.id = :soknadId") fun hentSøknad(soknadId: Long): DBKontantstøtteSøknad? } diff --git "a/src/main/kotlin/no/nav/familie/baks/mottak/s\303\270knad/kontantst\303\270tte/domene/Kontantst\303\270tteS\303\270knaddokumentasjon.kt" "b/src/main/kotlin/no/nav/familie/baks/mottak/s\303\270knad/kontantst\303\270tte/domene/Kontantst\303\270tteS\303\270knaddokumentasjon.kt" index af2231d28..08f0866dd 100644 --- "a/src/main/kotlin/no/nav/familie/baks/mottak/s\303\270knad/kontantst\303\270tte/domene/Kontantst\303\270tteS\303\270knaddokumentasjon.kt" +++ "b/src/main/kotlin/no/nav/familie/baks/mottak/s\303\270knad/kontantst\303\270tte/domene/Kontantst\303\270tteS\303\270knaddokumentasjon.kt" @@ -7,12 +7,13 @@ import no.nav.familie.kontrakter.ks.søknad.v1.Søknaddokumentasjon data class KontantstøtteSøknaddokumentasjon(val søknaddokumentasjon: Søknaddokumentasjon) : ISøknaddokumentasjon { - override val opplastedeVedlegg: List = søknaddokumentasjon.opplastedeVedlegg.map { - Søknadsvedlegg( - it.dokumentId, - dokumentasjonsbehovTilTittel(it.tittel), - ) - } + override val opplastedeVedlegg: List = + søknaddokumentasjon.opplastedeVedlegg.map { + Søknadsvedlegg( + it.dokumentId, + dokumentasjonsbehovTilTittel(it.tittel), + ) + } fun dokumentasjonsbehovTilTittel(dokumentasjonsbehov: Dokumentasjonsbehov): String { return when (dokumentasjonsbehov) { diff --git a/src/main/kotlin/no/nav/familie/baks/mottak/task/FjernGamleFeiledeTasksIPreprod.kt b/src/main/kotlin/no/nav/familie/baks/mottak/task/FjernGamleFeiledeTasksIPreprod.kt index 094b829b3..db22f9c93 100644 --- a/src/main/kotlin/no/nav/familie/baks/mottak/task/FjernGamleFeiledeTasksIPreprod.kt +++ b/src/main/kotlin/no/nav/familie/baks/mottak/task/FjernGamleFeiledeTasksIPreprod.kt @@ -17,7 +17,6 @@ import java.time.LocalDateTime @Component @Profile("!prod") class FjernGamleFeiledeTasksIPreprod(val taskService: TaskService) { - @Scheduled(cron = "0 0 10 * * *") @Transactional fun fjernGamleFeiledeTasksIPreprod() { @@ -41,7 +40,6 @@ class FjernGamleFeiledeTasksIPreprod(val taskService: TaskService) { } companion object { - val LOG = LoggerFactory.getLogger(FjernGamleFeiledeTasksIPreprod::class.java) } } diff --git a/src/main/kotlin/no/nav/familie/baks/mottak/task/FjernGamleHendelseLoggInnslag.kt b/src/main/kotlin/no/nav/familie/baks/mottak/task/FjernGamleHendelseLoggInnslag.kt index fdc1164e6..293b9c456 100644 --- a/src/main/kotlin/no/nav/familie/baks/mottak/task/FjernGamleHendelseLoggInnslag.kt +++ b/src/main/kotlin/no/nav/familie/baks/mottak/task/FjernGamleHendelseLoggInnslag.kt @@ -11,7 +11,6 @@ import java.time.LocalDateTime @Component class FjernGamleHendelseLoggInnslag(val hendelsesloggRepository: HendelsesloggRepository) { - @Scheduled(cron = "0 0 9 * * *") fun fjernGamleHendelseLoggInnslag() { if (LeaderClient.isLeader() == true) { @@ -21,9 +20,10 @@ class FjernGamleHendelseLoggInnslag(val hendelsesloggRepository: HendelsesloggRe @Transactional fun slettHendelserEldreEnn2MånederFraTopicsMedMindreRetentionTid() { - val gamleHendelser = hendelsesloggRepository.findAll().filter { - it.opprettetTidspunkt.isBefore(LocalDateTime.now().minusMonths(2)) - }.filterNot { it.consumer == HendelseConsumer.EF_VEDTAK_INFOTRYGD_V1 } + val gamleHendelser = + hendelsesloggRepository.findAll().filter { + it.opprettetTidspunkt.isBefore(LocalDateTime.now().minusMonths(2)) + }.filterNot { it.consumer == HendelseConsumer.EF_VEDTAK_INFOTRYGD_V1 } LOG.info("Fjerner gamle hendelser eldre enn 2 måneder fra hendelse_logg") hendelsesloggRepository.deleteAll(gamleHendelser) diff --git "a/src/main/kotlin/no/nav/familie/baks/mottak/task/Journalf\303\270rKontantst\303\270tteS\303\270knadTask.kt" "b/src/main/kotlin/no/nav/familie/baks/mottak/task/Journalf\303\270rKontantst\303\270tteS\303\270knadTask.kt" index b7a41d636..cd15393d9 100644 --- "a/src/main/kotlin/no/nav/familie/baks/mottak/task/Journalf\303\270rKontantst\303\270tteS\303\270knadTask.kt" +++ "b/src/main/kotlin/no/nav/familie/baks/mottak/task/Journalf\303\270rKontantst\303\270tteS\303\270knadTask.kt" @@ -25,7 +25,6 @@ class JournalførKontantstøtteSøknadTask( private val journalføringService: JournalføringService, private val kontantstøtteSøknadRepository: KontantstøtteSøknadRepository, ) : AsyncTaskStep { - override fun doTask(task: Task) { try { val id = task.payload @@ -36,27 +35,30 @@ class JournalførKontantstøtteSøknadTask( val versjonertSøknad = dbKontantstøtteSøknad.hentVersjonertKontantstøtteSøknad() logger.info("Generer pdf og journalfør søknad") - val bokmålPdf = pdfService.lagKontantstøttePdf( - versjonertSøknad = versjonertSøknad, - dbKontantstøtteSøknad = dbKontantstøtteSøknad, - språk = "nb", - ) - logger.info("Generert pdf med størrelse ${bokmålPdf.size}") - - val orginalspråk = when (versjonertSøknad) { - is KontantstøtteSøknadV3 -> versjonertSøknad.kontantstøtteSøknad.originalSpråk - is KontantstøtteSøknadV4 -> versjonertSøknad.kontantstøtteSøknad.originalSpråk - } - - val orginalspråkPdf: ByteArray = if (orginalspråk != "nb") { + val bokmålPdf = pdfService.lagKontantstøttePdf( versjonertSøknad = versjonertSøknad, dbKontantstøtteSøknad = dbKontantstøtteSøknad, - språk = orginalspråk, + språk = "nb", ) - } else { - ByteArray(0) - } + logger.info("Generert pdf med størrelse ${bokmålPdf.size}") + + val orginalspråk = + when (versjonertSøknad) { + is KontantstøtteSøknadV3 -> versjonertSøknad.kontantstøtteSøknad.originalSpråk + is KontantstøtteSøknadV4 -> versjonertSøknad.kontantstøtteSøknad.originalSpråk + } + + val orginalspråkPdf: ByteArray = + if (orginalspråk != "nb") { + pdfService.lagKontantstøttePdf( + versjonertSøknad = versjonertSøknad, + dbKontantstøtteSøknad = dbKontantstøtteSøknad, + språk = orginalspråk, + ) + } else { + ByteArray(0) + } journalføringService.journalførKontantstøtteSøknad(dbKontantstøtteSøknad, bokmålPdf, orginalspråkPdf) } catch (e: RessursException) { when (e.cause) { diff --git "a/src/main/kotlin/no/nav/familie/baks/mottak/task/Journalf\303\270rS\303\270knadTask.kt" "b/src/main/kotlin/no/nav/familie/baks/mottak/task/Journalf\303\270rS\303\270knadTask.kt" index bf2c44058..39d3b93bb 100644 --- "a/src/main/kotlin/no/nav/familie/baks/mottak/task/Journalf\303\270rS\303\270knadTask.kt" +++ "b/src/main/kotlin/no/nav/familie/baks/mottak/task/Journalf\303\270rS\303\270knadTask.kt" @@ -23,7 +23,6 @@ class JournalførSøknadTask( private val journalføringService: JournalføringService, private val søknadRepository: SøknadRepository, ) : AsyncTaskStep { - override fun doTask(task: Task) { try { val id = task.payload @@ -33,23 +32,26 @@ class JournalførSøknadTask( val versjonertSøknad: VersjonertSøknad = dbSøknad.hentVersjonertSøknad() log.info("Generer pdf og journalfør søknad") - val bokmålPdf = pdfService.lagBarnetrygdPdf( - versjonertSøknad = versjonertSøknad, - dbSøknad = dbSøknad, - språk = "nb", - ) + val bokmålPdf = + pdfService.lagBarnetrygdPdf( + versjonertSøknad = versjonertSøknad, + dbSøknad = dbSøknad, + språk = "nb", + ) log.info("Generert pdf med størrelse ${bokmålPdf.size}") - val orginalspråk = when (versjonertSøknad) { - is SøknadV7 -> versjonertSøknad.søknad.originalSpråk - is SøknadV8 -> versjonertSøknad.søknad.originalSpråk - } + val orginalspråk = + when (versjonertSøknad) { + is SøknadV7 -> versjonertSøknad.søknad.originalSpråk + is SøknadV8 -> versjonertSøknad.søknad.originalSpråk + } - val orginalspråkPdf: ByteArray = if (orginalspråk != "nb") { - pdfService.lagBarnetrygdPdf(versjonertSøknad, dbSøknad, orginalspråk) - } else { - ByteArray(0) - } + val orginalspråkPdf: ByteArray = + if (orginalspråk != "nb") { + pdfService.lagBarnetrygdPdf(versjonertSøknad, dbSøknad, orginalspråk) + } else { + ByteArray(0) + } journalføringService.journalførBarnetrygdSøknad(dbSøknad, bokmålPdf, orginalspråkPdf) } catch (e: RessursException) { when (e.cause) { @@ -72,7 +74,6 @@ class JournalførSøknadTask( } companion object { - const val JOURNALFØR_SØKNAD = "journalførSøknad" val log: Logger = LoggerFactory.getLogger(this::class.java) val SECURE_LOGGER: Logger = LoggerFactory.getLogger("secureLogger") diff --git "a/src/main/kotlin/no/nav/familie/baks/mottak/task/JournalhendelseKontantst\303\270tteRutingTask.kt" "b/src/main/kotlin/no/nav/familie/baks/mottak/task/JournalhendelseKontantst\303\270tteRutingTask.kt" index fd8f1401d..858da833f 100644 --- "a/src/main/kotlin/no/nav/familie/baks/mottak/task/JournalhendelseKontantst\303\270tteRutingTask.kt" +++ "b/src/main/kotlin/no/nav/familie/baks/mottak/task/JournalhendelseKontantst\303\270tteRutingTask.kt" @@ -29,7 +29,6 @@ class JournalhendelseKontantstøtteRutingTask( private val taskService: TaskService, private val environment: Environment, ) : AsyncTaskStep { - val log: Logger = LoggerFactory.getLogger(JournalhendelseKontantstøtteRutingTask::class.java) val sakssystemMarkeringCounter = mutableMapOf() @@ -40,17 +39,18 @@ class JournalhendelseKontantstøtteRutingTask( val harLøpendeSakIInfotrygd = brukersIdent?.run { søkEtterSakIInfotrygd(this) } ?: false - val sakssystemMarkering = when { - harLøpendeSakIInfotrygd -> { - incrementSakssystemMarkering("Infotrygd") - "Et eller flere av barna har løpende sak i Infotrygd" - } + val sakssystemMarkering = + when { + harLøpendeSakIInfotrygd -> { + incrementSakssystemMarkering("Infotrygd") + "Et eller flere av barna har løpende sak i Infotrygd" + } - else -> { - incrementSakssystemMarkering("Ingen") - "" + else -> { + incrementSakssystemMarkering("Ingen") + "" + } } - } Task( type = OpprettJournalføringOppgaveTask.TASK_STEP_TYPE, @@ -69,13 +69,15 @@ class JournalhendelseKontantstøtteRutingTask( } private fun søkEtterSakIInfotrygd(brukersIdent: String): Boolean { - val barnasIdenter = pdlClient.hentPersonMedRelasjoner(brukersIdent, Tema.KON).forelderBarnRelasjoner - .filter { it.relatertPersonsRolle == FORELDERBARNRELASJONROLLE.BARN } - .map { it.relatertPersonsIdent } - .filterNotNull() - val alleBarnasIdenter = barnasIdenter.flatMap { pdlClient.hentIdenter(it, Tema.KON) } - .filter { it.gruppe == Identgruppe.FOLKEREGISTERIDENT.name } - .map { it.ident } + val barnasIdenter = + pdlClient.hentPersonMedRelasjoner(brukersIdent, Tema.KON).forelderBarnRelasjoner + .filter { it.relatertPersonsRolle == FORELDERBARNRELASJONROLLE.BARN } + .map { it.relatertPersonsIdent } + .filterNotNull() + val alleBarnasIdenter = + barnasIdenter.flatMap { pdlClient.hentIdenter(it, Tema.KON) } + .filter { it.gruppe == Identgruppe.FOLKEREGISTERIDENT.name } + .map { it.ident } return if (infotrygdKontantstøtteClient.harKontantstøtteIInfotrygd(alleBarnasIdenter)) { infotrygdKontantstøtteClient.hentPerioderMedKontantstøtteIInfotrygd(alleBarnasIdenter).data.harPågåendeSak() diff --git a/src/main/kotlin/no/nav/familie/baks/mottak/task/JournalhendelseRutingTask.kt b/src/main/kotlin/no/nav/familie/baks/mottak/task/JournalhendelseRutingTask.kt index b78ba8f3f..cd21232be 100644 --- a/src/main/kotlin/no/nav/familie/baks/mottak/task/JournalhendelseRutingTask.kt +++ b/src/main/kotlin/no/nav/familie/baks/mottak/task/JournalhendelseRutingTask.kt @@ -41,7 +41,6 @@ class JournalhendelseRutingTask( private val infotrygdBarnetrygdClient: InfotrygdBarnetrygdClient, private val taskService: TaskService, ) : AsyncTaskStep { - private val tema = Tema.BAR val log: Logger = LoggerFactory.getLogger(JournalhendelseRutingTask::class.java) @@ -52,24 +51,25 @@ class JournalhendelseRutingTask( val (baSak, infotrygdSak) = brukersIdent?.run { søkEtterSakIBaSakOgInfotrygd(this) } ?: Pair(null, null) - val sakssystemMarkering = when { - baSak.finnes() && infotrygdSak.finnes() -> { - incrementSakssystemMarkering("Begge") - "Bruker har sak i både Infotrygd og BA-sak" - } - baSak.finnes() -> { - incrementSakssystemMarkering("BA_SAK") - "${baSak!!.part} har sak i BA-sak" - } - infotrygdSak.finnes() -> { - incrementSakssystemMarkering("Infotrygd") - "${infotrygdSak!!.part} har sak i Infotrygd" + val sakssystemMarkering = + when { + baSak.finnes() && infotrygdSak.finnes() -> { + incrementSakssystemMarkering("Begge") + "Bruker har sak i både Infotrygd og BA-sak" + } + baSak.finnes() -> { + incrementSakssystemMarkering("BA_SAK") + "${baSak!!.part} har sak i BA-sak" + } + infotrygdSak.finnes() -> { + incrementSakssystemMarkering("Infotrygd") + "${infotrygdSak!!.part} har sak i Infotrygd" + } + else -> { + incrementSakssystemMarkering("Ingen") + "" + } // trenger ingen form for markering. Kan løses av begge systemer } - else -> { - incrementSakssystemMarkering("Ingen") - "" - } // trenger ingen form for markering. Kan løses av begge systemer - } Task( type = OpprettJournalføringOppgaveTask.TASK_STEP_TYPE, @@ -86,40 +86,57 @@ class JournalhendelseRutingTask( } private fun søkEtterSakIBaSakOgInfotrygd(brukersIdent: String): Pair { - val brukersIdenter = try { - pdlClient.hentIdenter(brukersIdent, tema).filter { it.gruppe == Identgruppe.FOLKEREGISTERIDENT.name }.map { it.ident } - } catch (e: IntegrasjonException) { - return Pair(null, null) - } - val barnasIdenter = pdlClient.hentPersonMedRelasjoner(brukersIdent, tema).forelderBarnRelasjoner - .filter { it.relatertPersonsRolle == FORELDERBARNRELASJONROLLE.BARN } - .map { it.relatertPersonsIdent } - .filterNotNull() - val alleBarnasIdenter = barnasIdenter.flatMap { pdlClient.hentIdenter(it, tema) } - .filter { it.gruppe == Identgruppe.FOLKEREGISTERIDENT.name } - .map { it.ident } + val brukersIdenter = + try { + pdlClient.hentIdenter(brukersIdent, tema).filter { it.gruppe == Identgruppe.FOLKEREGISTERIDENT.name }.map { it.ident } + } catch (e: IntegrasjonException) { + return Pair(null, null) + } + val barnasIdenter = + pdlClient.hentPersonMedRelasjoner(brukersIdent, tema).forelderBarnRelasjoner + .filter { it.relatertPersonsRolle == FORELDERBARNRELASJONROLLE.BARN } + .map { it.relatertPersonsIdent } + .filterNotNull() + val alleBarnasIdenter = + barnasIdenter.flatMap { pdlClient.hentIdenter(it, tema) } + .filter { it.gruppe == Identgruppe.FOLKEREGISTERIDENT.name } + .map { it.ident } return Pair( first = sakClient.hentRestFagsakDeltagerListe(brukersIdent, barnasIdenter).sakspart(sakClient), - second = infotrygdBarnetrygdClient.hentLøpendeUtbetalinger(brukersIdenter, alleBarnasIdenter).sakspart - ?: infotrygdBarnetrygdClient.hentSaker(brukersIdenter, alleBarnasIdenter).sakspart, + second = + infotrygdBarnetrygdClient.hentLøpendeUtbetalinger(brukersIdenter, alleBarnasIdenter).sakspart + ?: infotrygdBarnetrygdClient.hentSaker(brukersIdenter, alleBarnasIdenter).sakspart, ) } fun Sakspart?.finnes(): Boolean = this != null companion object { - const val TASK_STEP_TYPE = "journalhendelseRuting" } } val InfotrygdSøkResponse.sakspart: Sakspart? - get() = if (bruker.isNotEmpty()) Sakspart.SØKER else if (barn.isNotEmpty()) Sakspart.ANNEN else null + get() = + if (bruker.isNotEmpty()) { + Sakspart.SØKER + } else if (barn.isNotEmpty()) { + Sakspart.ANNEN + } else { + null + } val InfotrygdSøkResponse.sakspart: Sakspart? @JvmName("sakspart") - get() = if (bruker.harSak()) Sakspart.SØKER else if (barn.harSak()) Sakspart.ANNEN else null + get() = + if (bruker.harSak()) { + Sakspart.SØKER + } else if (barn.harSak()) { + Sakspart.ANNEN + } else { + null + } private fun List.harSak(): Boolean { val (sakerMedVedtak, sakerUtenVedtak) = this.partition { it.stønad != null } @@ -139,11 +156,12 @@ enum class Sakspart(val part: String) { ANNEN("Søsken"), } -private fun List.sakspart(sakClient: SakClient): Sakspart? = when { - any { it.rolle == FORELDER && it.harPågåendeSak(sakClient) } -> Sakspart.SØKER - any { it.rolle == BARN && it.harPågåendeSak(sakClient) } -> Sakspart.ANNEN - else -> null -} +private fun List.sakspart(sakClient: SakClient): Sakspart? = + when { + any { it.rolle == FORELDER && it.harPågåendeSak(sakClient) } -> Sakspart.SØKER + any { it.rolle == BARN && it.harPågåendeSak(sakClient) } -> Sakspart.ANNEN + else -> null + } private fun RestFagsakDeltager.harPågåendeSak(sakClient: SakClient): Boolean { return when (fagsakStatus) { @@ -153,8 +171,9 @@ private fun RestFagsakDeltager.harPågåendeSak(sakClient: SakClient): Boolean { } private fun sisteBehandlingHenlagtEllerTekniskOpphør(fagsak: RestFagsak): Boolean { - val sisteBehandling = fagsak.behandlinger - .sortedBy { it.opprettetTidspunkt } - .findLast { it.steg == "BEHANDLING_AVSLUTTET" } ?: return false + val sisteBehandling = + fagsak.behandlinger + .sortedBy { it.opprettetTidspunkt } + .findLast { it.steg == "BEHANDLING_AVSLUTTET" } ?: return false return sisteBehandling.type == "TEKNISK_OPPHØR" || sisteBehandling.resultat.startsWith("HENLAGT") } diff --git "a/src/main/kotlin/no/nav/familie/baks/mottak/task/MottaAnnullerF\303\270dselTask.kt" "b/src/main/kotlin/no/nav/familie/baks/mottak/task/MottaAnnullerF\303\270dselTask.kt" index 8836f47b2..630f97d6a 100644 --- "a/src/main/kotlin/no/nav/familie/baks/mottak/task/MottaAnnullerF\303\270dselTask.kt" +++ "b/src/main/kotlin/no/nav/familie/baks/mottak/task/MottaAnnullerF\303\270dselTask.kt" @@ -24,7 +24,6 @@ class MottaAnnullerFødselTask( private val taskService: TaskService, private val restTaskService: RestTaskService, ) : AsyncTaskStep { - val log: Logger = LoggerFactory.getLogger(MottaAnnullerFødselTask::class.java) override fun doTask(task: Task) { @@ -53,7 +52,6 @@ class MottaAnnullerFødselTask( } companion object { - const val TASK_STEP_TYPE = "mottaAnnullerFødsel" const val AVVIKSÅRSAK = "Annuller fødselshendelse" } diff --git "a/src/main/kotlin/no/nav/familie/baks/mottak/task/MottaF\303\270dselshendelseTask.kt" "b/src/main/kotlin/no/nav/familie/baks/mottak/task/MottaF\303\270dselshendelseTask.kt" index 7e0146764..c7dab1091 100644 --- "a/src/main/kotlin/no/nav/familie/baks/mottak/task/MottaF\303\270dselshendelseTask.kt" +++ "b/src/main/kotlin/no/nav/familie/baks/mottak/task/MottaF\303\270dselshendelseTask.kt" @@ -35,7 +35,6 @@ class MottaFødselshendelseTask( private val pdlClient: PdlClient, @Value("\${FØDSELSHENDELSE_REKJØRINGSINTERVALL_MINUTTER}") private val rekjøringsintervall: Long, ) : AsyncTaskStep { - val log: Logger = LoggerFactory.getLogger(MottaFødselshendelseTask::class.java) val barnHarDnrCounter: Counter = Metrics.counter("barnetrygd.hendelse.ignorert.barn.har.dnr.eller.fdatnr") val forsørgerHarDnrCounter: Counter = Metrics.counter("barnetrygd.hendelse.ignorert.forsorger.har.dnr.eller.fdatnr") @@ -69,16 +68,17 @@ class MottaFødselshendelseTask( } task.metadata["morsIdent"] = morsIdent.id - val nesteTask = Task( - SendTilSakTask.TASK_STEP_TYPE, - jacksonObjectMapper().writeValueAsString( - NyBehandling( - morsIdent = morsIdent.id, - barnasIdenter = arrayOf(barnetsId), + val nesteTask = + Task( + SendTilSakTask.TASK_STEP_TYPE, + jacksonObjectMapper().writeValueAsString( + NyBehandling( + morsIdent = morsIdent.id, + barnasIdenter = arrayOf(barnetsId), + ), ), - ), - task.metadata, - ) + task.metadata, + ) taskService.save(nesteTask) } else { @@ -107,7 +107,6 @@ class MottaFødselshendelseTask( } companion object { - const val TASK_STEP_TYPE = "mottaFødselshendelse" } } diff --git a/src/main/kotlin/no/nav/familie/baks/mottak/task/OppdaterOgFerdigstillJournalpostTask.kt b/src/main/kotlin/no/nav/familie/baks/mottak/task/OppdaterOgFerdigstillJournalpostTask.kt index dd04c1ab0..c45972ec3 100644 --- a/src/main/kotlin/no/nav/familie/baks/mottak/task/OppdaterOgFerdigstillJournalpostTask.kt +++ b/src/main/kotlin/no/nav/familie/baks/mottak/task/OppdaterOgFerdigstillJournalpostTask.kt @@ -28,12 +28,12 @@ class OppdaterOgFerdigstillJournalpostTask( private val taskService: TaskService, private val pdlClient: PdlClient, ) : AsyncTaskStep { - val log: Logger = LoggerFactory.getLogger(OppdaterOgFerdigstillJournalpostTask::class.java) override fun doTask(task: Task) { - val journalpost = journalpostClient.hentJournalpost(task.payload) - .takeUnless { it.bruker == null } ?: error("Journalpost ${task.payload} mangler bruker") + val journalpost = + journalpostClient.hentJournalpost(task.payload) + .takeUnless { it.bruker == null } ?: error("Journalpost ${task.payload} mangler bruker") when (journalpost.journalstatus) { Journalstatus.MOTTATT -> { @@ -60,24 +60,30 @@ class OppdaterOgFerdigstillJournalpostTask( }, ) } - Journalstatus.JOURNALFOERT -> log.info( - "Skipper oppdatering og ferdigstilling av " + - "journalpost ${journalpost.journalpostId} som alt er ferdig journalført", - ) + Journalstatus.JOURNALFOERT -> + log.info( + "Skipper oppdatering og ferdigstilling av " + + "journalpost ${journalpost.journalpostId} som alt er ferdig journalført", + ) else -> error("Uventet journalstatus ${journalpost.journalstatus} for journalpost ${journalpost.journalpostId}") } - val nyTask = Task( - type = OpprettBehandleSakOppgaveTask.TASK_STEP_TYPE, - payload = task.payload, - properties = task.metadata.apply { - this["fagsystem"] = "BA" - }, - ) + val nyTask = + Task( + type = OpprettBehandleSakOppgaveTask.TASK_STEP_TYPE, + payload = task.payload, + properties = + task.metadata.apply { + this["fagsystem"] = "BA" + }, + ) taskService.save(nyTask) } - private fun tilPersonIdent(bruker: Bruker, tema: String?): String { + private fun tilPersonIdent( + bruker: Bruker, + tema: String?, + ): String { return when (bruker.type) { BrukerIdType.AKTOERID -> pdlClient.hentPersonident(bruker.id, tema?.let { Tema.valueOf(tema) } ?: Tema.BAR) else -> bruker.id diff --git a/src/main/kotlin/no/nav/familie/baks/mottak/task/OpprettBehandleSakOppgaveTask.kt b/src/main/kotlin/no/nav/familie/baks/mottak/task/OpprettBehandleSakOppgaveTask.kt index d0efe8489..a0c9feac0 100644 --- a/src/main/kotlin/no/nav/familie/baks/mottak/task/OpprettBehandleSakOppgaveTask.kt +++ b/src/main/kotlin/no/nav/familie/baks/mottak/task/OpprettBehandleSakOppgaveTask.kt @@ -16,7 +16,6 @@ class OpprettBehandleSakOppgaveTask( private val journalpostClient: JournalpostClient, private val oppgaveClient: OppgaveClient, ) : AsyncTaskStep { - val log: Logger = LoggerFactory.getLogger(OpprettBehandleSakOppgaveTask::class.java) override fun doTask(task: Task) { @@ -42,7 +41,6 @@ class OpprettBehandleSakOppgaveTask( } companion object { - const val TASK_STEP_TYPE = "opprettBehandleSakoppgave" } } diff --git "a/src/main/kotlin/no/nav/familie/baks/mottak/task/OpprettJournalf\303\270ringOppgaveTask.kt" "b/src/main/kotlin/no/nav/familie/baks/mottak/task/OpprettJournalf\303\270ringOppgaveTask.kt" index 1f0480b34..bb003e90d 100644 --- "a/src/main/kotlin/no/nav/familie/baks/mottak/task/OpprettJournalf\303\270ringOppgaveTask.kt" +++ "b/src/main/kotlin/no/nav/familie/baks/mottak/task/OpprettJournalf\303\270ringOppgaveTask.kt" @@ -24,7 +24,6 @@ class OpprettJournalføringOppgaveTask( private val journalpostClient: JournalpostClient, private val oppgaveClient: OppgaveClient, ) : AsyncTaskStep { - val log: Logger = LoggerFactory.getLogger(OpprettJournalføringOppgaveTask::class.java) val barnetrygdOppgaverOpprettetCounter: Counter = Metrics.counter("barnetrygd.ruting.oppgave.opprettet") val barnetrygdOppgaverOppdatertCounter: Counter = Metrics.counter("barnetrygd.ruting.oppgave.oppdatert") @@ -53,10 +52,11 @@ class OpprettJournalføringOppgaveTask( null } if (oppgaveTypeForEksisterendeOppgave == null) { - val nyOppgave = oppgaveClient.opprettJournalføringsoppgave( - journalpost = journalpost, - beskrivelse = task.payload.takeIf { it.isNotEmpty() }, - ) + val nyOppgave = + oppgaveClient.opprettJournalføringsoppgave( + journalpost = journalpost, + beskrivelse = task.payload.takeIf { it.isNotEmpty() }, + ) task.metadata["oppgaveId"] = "${nyOppgave.oppgaveId}" log.info("Oppretter ny journalførings-oppgave med id ${nyOppgave.oppgaveId} for journalpost ${journalpost.journalpostId}") incrementOppgaverOpprettet(tema) @@ -77,9 +77,10 @@ class OpprettJournalføringOppgaveTask( } else -> { - val error = IllegalStateException( - "Journalpost ${journalpost.journalpostId} har endret status fra MOTTATT til ${journalpost.journalstatus.name}", - ) + val error = + IllegalStateException( + "Journalpost ${journalpost.journalpostId} har endret status fra MOTTATT til ${journalpost.journalstatus.name}", + ) log.info("OpprettJournalføringOppgaveTask feilet.", error) throw error } @@ -116,7 +117,6 @@ class OpprettJournalføringOppgaveTask( } companion object { - const val TASK_STEP_TYPE = "opprettJournalføringsoppgave" } } diff --git a/src/main/kotlin/no/nav/familie/baks/mottak/task/SendTilSakTask.kt b/src/main/kotlin/no/nav/familie/baks/mottak/task/SendTilSakTask.kt index 3803cb938..7b732988a 100644 --- a/src/main/kotlin/no/nav/familie/baks/mottak/task/SendTilSakTask.kt +++ b/src/main/kotlin/no/nav/familie/baks/mottak/task/SendTilSakTask.kt @@ -13,7 +13,6 @@ import org.springframework.stereotype.Service @Service @TaskStepBeskrivelse(taskStepType = SendTilSakTask.TASK_STEP_TYPE, beskrivelse = "Send til sak") class SendTilSakTask(private val sakClient: SakClient) : AsyncTaskStep { - val logger: Logger = LoggerFactory.getLogger(SendTilSakTask::class.java) override fun doTask(task: Task) { diff --git a/src/main/kotlin/no/nav/familie/baks/mottak/task/VurderLivshendelseTask.kt b/src/main/kotlin/no/nav/familie/baks/mottak/task/VurderLivshendelseTask.kt index e01283b29..6aca0deac 100644 --- a/src/main/kotlin/no/nav/familie/baks/mottak/task/VurderLivshendelseTask.kt +++ b/src/main/kotlin/no/nav/familie/baks/mottak/task/VurderLivshendelseTask.kt @@ -55,7 +55,6 @@ class VurderLivshendelseTask( private val sakClient: SakClient, private val infotrygdClient: InfotrygdBarnetrygdClient, ) : AsyncTaskStep { - private val tema = Tema.BAR val log: Logger = LoggerFactory.getLogger(this::class.java) @@ -116,10 +115,11 @@ class VurderLivshendelseTask( } SIVILSTAND -> { val pdlPersonData = pdlClient.hentPerson(personIdent, "hentperson-sivilstand", tema) - val sivilstand = finnNyesteSivilstandEndring(pdlPersonData) ?: run { - secureLog.info("Ignorerer sivilstandhendelse for $personIdent uten dato: $pdlPersonData") - return - } + val sivilstand = + finnNyesteSivilstandEndring(pdlPersonData) ?: run { + secureLog.info("Ignorerer sivilstandhendelse for $personIdent uten dato: $pdlPersonData") + return + } if (sivilstand.type != GIFT) { secureLog.info("Endringen til sivilstand GIFT for $personIdent er korrigert/annulert: $pdlPersonData") return @@ -140,30 +140,38 @@ class VurderLivshendelseTask( } } - private fun sjekkOmDatoErEtterEldsteVedtaksdato(dato: LocalDate, aktivFaksak: RestFagsak, personIdent: String): Boolean { - val tidligsteVedtakIBaSak = aktivFaksak.behandlinger - .filter { it.resultat == RESULTAT_INNVILGET && it.steg == STEG_TYPE_BEHANDLING_AVSLUTTET } - .minByOrNull { it.opprettetTidspunkt } ?: return false + private fun sjekkOmDatoErEtterEldsteVedtaksdato( + dato: LocalDate, + aktivFaksak: RestFagsak, + personIdent: String, + ): Boolean { + val tidligsteVedtakIBaSak = + aktivFaksak.behandlinger + .filter { it.resultat == RESULTAT_INNVILGET && it.steg == STEG_TYPE_BEHANDLING_AVSLUTTET } + .minByOrNull { it.opprettetTidspunkt } ?: return false if (dato.isAfter(tidligsteVedtakIBaSak.opprettetTidspunkt.toLocalDate())) { return true } - val erEtterTidligsteInfotrygdVedtak = if (tidligsteVedtakIBaSak.type == BEHANDLING_TYPE_MIGRERING) { - hentTidligsteVedtaksdatoFraInfotrygd(personIdent)?.isBefore(dato) ?: false - } else { - false - } + val erEtterTidligsteInfotrygdVedtak = + if (tidligsteVedtakIBaSak.type == BEHANDLING_TYPE_MIGRERING) { + hentTidligsteVedtaksdatoFraInfotrygd(personIdent)?.isBefore(dato) ?: false + } else { + false + } return erEtterTidligsteInfotrygdVedtak } private fun hentTidligsteVedtaksdatoFraInfotrygd(personIdent: String): LocalDate? { - val personIdenter = pdlClient.hentIdenter(personIdent, tema) - .filter { it.gruppe == Identgruppe.FOLKEREGISTERIDENT.name } - .map { it.ident } - val tidligsteInfotrygdVedtak = infotrygdClient.hentVedtak(personIdenter).bruker - .maxByOrNull { it.iverksattFom ?: "000000" } // maxBy... siden datoen er på "seq"-format + val personIdenter = + pdlClient.hentIdenter(personIdent, tema) + .filter { it.gruppe == Identgruppe.FOLKEREGISTERIDENT.name } + .map { it.ident } + val tidligsteInfotrygdVedtak = + infotrygdClient.hentVedtak(personIdenter).bruker + .maxByOrNull { it.iverksattFom ?: "000000" } // maxBy... siden datoen er på "seq"-format return tidligsteInfotrygdVedtak?.iverksattFom ?.let { YearMonth.parse("${999999 - it.toInt()}", DateTimeFormatter.ofPattern("yyyyMM")) } ?.atDay(1) @@ -199,11 +207,12 @@ class VurderLivshendelseTask( val åpenOppgave = søkEtterÅpenOppgavePåAktør(aktørIdForOppgave, hendelseType) if (åpenOppgave == null) { - val beskrivelse = leggTilNyPersonIBeskrivelse( - beskrivelse = "${hendelseType.beskrivelse}:", - personIdent = personIdent, - personErBruker = pdlClient.hentAktørId(personIdent, tema) == aktørIdForOppgave, - ) + val beskrivelse = + leggTilNyPersonIBeskrivelse( + beskrivelse = "${hendelseType.beskrivelse}:", + personIdent = personIdent, + personErBruker = pdlClient.hentAktørId(personIdent, tema) == aktørIdForOppgave, + ) val restFagsak = hentRestFagsak(fagsakIdForOppgave) val restBehandling = hentSisteBehandlingSomErIverksatt(restFagsak) ?: hentAktivBehandling(restFagsak) val behandlingstema = tilBehandlingstema(restBehandling) @@ -217,12 +226,14 @@ class VurderLivshendelseTask( } else { log.info("Fant åpen oppgave på aktørId=$aktørIdForOppgave oppgaveId=${åpenOppgave.id}") secureLog.info("Fant åpen oppgave: $åpenOppgave") - val beskrivelse = leggTilNyPersonIBeskrivelse( - beskrivelse = åpenOppgave.beskrivelse!!, - personIdent = personIdent, - personErBruker = åpenOppgave.identer?.map { it.ident } - ?.contains(personIdent), - ) + val beskrivelse = + leggTilNyPersonIBeskrivelse( + beskrivelse = åpenOppgave.beskrivelse!!, + personIdent = personIdent, + personErBruker = + åpenOppgave.identer?.map { it.ident } + ?.contains(personIdent), + ) oppdaterOppgaveMedNyBeskrivelse(åpenOppgave, beskrivelse) task.metadata["oppgaveId"] = åpenOppgave.id.toString() @@ -231,7 +242,11 @@ class VurderLivshendelseTask( } } - private fun hentInitiellBeskrivelseForSivilstandOppgave(personErBruker: Boolean, formatertDato: String, personIdent: String): String = + private fun hentInitiellBeskrivelseForSivilstandOppgave( + personErBruker: Boolean, + formatertDato: String, + personIdent: String, + ): String = "${SIVILSTAND.beskrivelse}: ${if (personErBruker) "bruker" else "barn $personIdent"} er registrert som gift fra $formatertDato" private fun opprettEllerOppdaterEndringISivilstandOppgave( @@ -241,24 +256,27 @@ class VurderLivshendelseTask( personIdent: String, task: Task, ) { - val formatertDato = endringsdato.format( - DateTimeFormatter.ofLocalizedDate(FormatStyle.SHORT).localizedBy(Locale("no")), - ) ?: "ukjent dato" - - val initiellBeskrivelse = hentInitiellBeskrivelseForSivilstandOppgave( - personErBruker = pdlClient.hentAktørId(personIdent, tema) == aktørIdForOppgave, - formatertDato = formatertDato, - personIdent = personIdent, - ) + val formatertDato = + endringsdato.format( + DateTimeFormatter.ofLocalizedDate(FormatStyle.SHORT).localizedBy(Locale("no")), + ) ?: "ukjent dato" - val oppgave = søkEtterÅpenOppgavePåAktør(aktørIdForOppgave, SIVILSTAND) - ?: opprettOppgavePåAktør( - aktørId = aktørIdForOppgave, - fagsakId = fagsakIdForOppgave, - beskrivelse = initiellBeskrivelse, - behandlingstema = Behandlingstema.UtvidetBarnetrygd, + val initiellBeskrivelse = + hentInitiellBeskrivelseForSivilstandOppgave( + personErBruker = pdlClient.hentAktørId(personIdent, tema) == aktørIdForOppgave, + formatertDato = formatertDato, + personIdent = personIdent, ) + val oppgave = + søkEtterÅpenOppgavePåAktør(aktørIdForOppgave, SIVILSTAND) + ?: opprettOppgavePåAktør( + aktørId = aktørIdForOppgave, + fagsakId = fagsakIdForOppgave, + beskrivelse = initiellBeskrivelse, + behandlingstema = Behandlingstema.UtvidetBarnetrygd, + ) + when (oppgave) { is OppgaveResponse -> { secureLog.info( @@ -278,7 +296,11 @@ class VurderLivshendelseTask( } } - private fun leggTilNyPersonIBeskrivelse(beskrivelse: String, personIdent: String, personErBruker: Boolean?): String { + private fun leggTilNyPersonIBeskrivelse( + beskrivelse: String, + personIdent: String, + personErBruker: Boolean?, + ): String { return when (personErBruker) { true -> if (!beskrivelse.contains("bruker")) leggTilBrukerIBeskrivelse(beskrivelse) else beskrivelse else -> if (!beskrivelse.contains(personIdent)) leggTilBarnIBeskrivelse(beskrivelse, personIdent) else beskrivelse @@ -290,7 +312,10 @@ class VurderLivshendelseTask( return "$livshendelseType: bruker" + if (barn.isNotEmpty()) " og $barn" else "" } - private fun leggTilBarnIBeskrivelse(beskrivelse: String, personIdent: String): String { + private fun leggTilBarnIBeskrivelse( + beskrivelse: String, + personIdent: String, + ): String { if (!beskrivelse.contains("barn")) { val (livshendelseType, bruker) = beskrivelse.split(":") return "$livshendelseType:" + (if (bruker.isNotEmpty()) "$bruker og" else "") + " barn $personIdent" @@ -313,7 +338,7 @@ class VurderLivshendelseTask( return vurderLivshendelseOppgaver.firstOrNull { it.beskrivelse?.startsWith(type.beskrivelse) == true && ( it.status != StatusEnum.FERDIGSTILT || it.status != StatusEnum.FEILREGISTRERT - ) + ) } } @@ -381,7 +406,6 @@ class VurderLivshendelseTask( data class Bruker(val ident: String, val fagsakId: Long) companion object { - const val TASK_STEP_TYPE = "vurderLivshendelseTask" const val STEG_TYPE_BEHANDLING_AVSLUTTET = "BEHANDLING_AVSLUTTET" diff --git a/src/main/kotlin/no/nav/familie/baks/mottak/util/DateUtils.kt b/src/main/kotlin/no/nav/familie/baks/mottak/util/DateUtils.kt index 724df745f..6d4c0aecd 100644 --- a/src/main/kotlin/no/nav/familie/baks/mottak/util/DateUtils.kt +++ b/src/main/kotlin/no/nav/familie/baks/mottak/util/DateUtils.kt @@ -43,7 +43,10 @@ fun fristFerdigstillelse(daysToAdd: Long = 0): LocalDate { /** * Skipper helger hvis ikke e2e. */ -fun nesteGyldigeTriggertidFødselshendelser(minutesToAdd: Long = 0, environment: Environment): LocalDateTime { +fun nesteGyldigeTriggertidFødselshendelser( + minutesToAdd: Long = 0, + environment: Environment, +): LocalDateTime { var date = LocalDateTime.now().plusMinutes(minutesToAdd) if (environment.activeProfiles.contains("e2e")) { diff --git a/src/main/kotlin/no/nav/familie/baks/mottak/util/PropertiesToStringConverter.kt b/src/main/kotlin/no/nav/familie/baks/mottak/util/PropertiesToStringConverter.kt index 9c9b59ff5..b1c137669 100644 --- a/src/main/kotlin/no/nav/familie/baks/mottak/util/PropertiesToStringConverter.kt +++ b/src/main/kotlin/no/nav/familie/baks/mottak/util/PropertiesToStringConverter.kt @@ -13,7 +13,6 @@ import java.util.Properties */ @Converter class PropertiesToStringConverter : AttributeConverter { - override fun convertToDatabaseColumn(props: Properties?): String? { if (props == null || props.isEmpty) { return null diff --git a/src/test/kotlin/no/nav/familie/baks/mottak/DevLauncher.kt b/src/test/kotlin/no/nav/familie/baks/mottak/DevLauncher.kt index b7e2f860a..08f626d78 100644 --- a/src/test/kotlin/no/nav/familie/baks/mottak/DevLauncher.kt +++ b/src/test/kotlin/no/nav/familie/baks/mottak/DevLauncher.kt @@ -10,7 +10,8 @@ import org.springframework.context.annotation.Import class DevLauncher fun main(args: Array) { - val app = SpringApplicationBuilder(DevLauncher::class.java) - .profiles("dev") + val app = + SpringApplicationBuilder(DevLauncher::class.java) + .profiles("dev") app.run(*args) } diff --git a/src/test/kotlin/no/nav/familie/baks/mottak/DevLauncherPostgres.kt b/src/test/kotlin/no/nav/familie/baks/mottak/DevLauncherPostgres.kt index c3c8fc24d..e1b888d0c 100644 --- a/src/test/kotlin/no/nav/familie/baks/mottak/DevLauncherPostgres.kt +++ b/src/test/kotlin/no/nav/familie/baks/mottak/DevLauncherPostgres.kt @@ -10,7 +10,8 @@ import org.springframework.context.annotation.Import class DevLauncherPostgres fun main(args: Array) { - val app = SpringApplicationBuilder(DevLauncherPostgres::class.java) - .profiles("postgres", "mock-dokarkiv", "mock-dokgen") + val app = + SpringApplicationBuilder(DevLauncherPostgres::class.java) + .profiles("postgres", "mock-dokarkiv", "mock-dokgen") app.run(*args) } diff --git a/src/test/kotlin/no/nav/familie/baks/mottak/config/ClientMocks.kt b/src/test/kotlin/no/nav/familie/baks/mottak/config/ClientMocks.kt index 1695fb32f..02e985b3a 100644 --- a/src/test/kotlin/no/nav/familie/baks/mottak/config/ClientMocks.kt +++ b/src/test/kotlin/no/nav/familie/baks/mottak/config/ClientMocks.kt @@ -26,7 +26,6 @@ import org.springframework.web.client.HttpClientErrorException @Component class ClientMocks { - @Bean @Primary fun mockOppgaveClient(): OppgaveClient { @@ -75,49 +74,53 @@ class ClientMocks { every { mockJournalpostClient.hentJournalpost("123") - } returns Journalpost( - journalpostId = "123", - journalposttype = Journalposttype.I, - journalstatus = Journalstatus.MOTTATT, - bruker = Bruker("123456789012", BrukerIdType.AKTOERID), - tema = "BAR", - kanal = "SKAN_NETS", - behandlingstema = null, - dokumenter = null, - journalforendeEnhet = null, - sak = null, - ) + } returns + Journalpost( + journalpostId = "123", + journalposttype = Journalposttype.I, + journalstatus = Journalstatus.MOTTATT, + bruker = Bruker("123456789012", BrukerIdType.AKTOERID), + tema = "BAR", + kanal = "SKAN_NETS", + behandlingstema = null, + dokumenter = null, + journalforendeEnhet = null, + sak = null, + ) every { mockJournalpostClient.hentJournalpost("321") - } returns Journalpost( - journalpostId = "321", - journalposttype = Journalposttype.I, - journalstatus = Journalstatus.MOTTATT, - bruker = Bruker("12345678901", BrukerIdType.FNR), - tema = "BAR", - kanal = "SKAN_NETS", - ) - - every { mockJournalpostClient.hentJournalpost("456") } returns Journalpost( - journalpostId = "1456", - journalposttype = Journalposttype.I, - journalstatus = Journalstatus.MOTTATT, - bruker = Bruker("123456789012", BrukerIdType.AKTOERID), - tema = "KON", - kanal = "NO_NAV", - behandlingstema = null, - dokumenter = listOf( - DokumentInfo( - tittel = "Søknad om kontantstøtte til småbarnsforeldre", - brevkode = "34-00.08", - dokumentstatus = null, - dokumentvarianter = emptyList(), - ), - ), - journalforendeEnhet = null, - sak = null, - ) + } returns + Journalpost( + journalpostId = "321", + journalposttype = Journalposttype.I, + journalstatus = Journalstatus.MOTTATT, + bruker = Bruker("12345678901", BrukerIdType.FNR), + tema = "BAR", + kanal = "SKAN_NETS", + ) + + every { mockJournalpostClient.hentJournalpost("456") } returns + Journalpost( + journalpostId = "1456", + journalposttype = Journalposttype.I, + journalstatus = Journalstatus.MOTTATT, + bruker = Bruker("123456789012", BrukerIdType.AKTOERID), + tema = "KON", + kanal = "NO_NAV", + behandlingstema = null, + dokumenter = + listOf( + DokumentInfo( + tittel = "Søknad om kontantstøtte til småbarnsforeldre", + brevkode = "34-00.08", + dokumentstatus = null, + dokumentvarianter = emptyList(), + ), + ), + journalforendeEnhet = null, + sak = null, + ) return mockJournalpostClient } diff --git a/src/test/kotlin/no/nav/familie/baks/mottak/config/KafkaRestartingErrorHandlerTest.kt b/src/test/kotlin/no/nav/familie/baks/mottak/config/KafkaRestartingErrorHandlerTest.kt index 4da2d8227..040d9f4fa 100644 --- a/src/test/kotlin/no/nav/familie/baks/mottak/config/KafkaRestartingErrorHandlerTest.kt +++ b/src/test/kotlin/no/nav/familie/baks/mottak/config/KafkaRestartingErrorHandlerTest.kt @@ -15,7 +15,6 @@ import org.springframework.kafka.listener.MessageListenerContainer @TestInstance(TestInstance.Lifecycle.PER_CLASS) class KafkaRestartingErrorHandlerTest { - @MockK(relaxed = true) lateinit var container: MessageListenerContainer diff --git a/src/test/kotlin/no/nav/familie/baks/mottak/config/OAuth2AccessTokenTestConfig.kt b/src/test/kotlin/no/nav/familie/baks/mottak/config/OAuth2AccessTokenTestConfig.kt index 8d8d32166..c94feda19 100644 --- a/src/test/kotlin/no/nav/familie/baks/mottak/config/OAuth2AccessTokenTestConfig.kt +++ b/src/test/kotlin/no/nav/familie/baks/mottak/config/OAuth2AccessTokenTestConfig.kt @@ -12,7 +12,6 @@ import org.springframework.context.annotation.Profile @Configuration @Profile("mock-oauth") class OAuth2AccessTokenTestConfig { - @Bean @Primary fun oAuth2AccessTokenServiceMock(): OAuth2AccessTokenService? { diff --git a/src/test/kotlin/no/nav/familie/baks/mottak/config/RestTemplateConfig.kt b/src/test/kotlin/no/nav/familie/baks/mottak/config/RestTemplateConfig.kt index 80cc67250..3a402b945 100644 --- a/src/test/kotlin/no/nav/familie/baks/mottak/config/RestTemplateConfig.kt +++ b/src/test/kotlin/no/nav/familie/baks/mottak/config/RestTemplateConfig.kt @@ -24,7 +24,6 @@ import java.nio.charset.StandardCharsets StsBearerTokenClientInterceptor::class, ) class RestTemplateConfig { - @Bean fun restTemplate(): RestTemplate { return RestTemplate(listOf(StringHttpMessageConverter(StandardCharsets.UTF_8), ByteArrayHttpMessageConverter())) diff --git "a/src/test/kotlin/no/nav/familie/baks/mottak/hendelser/EnsligFors\303\270rgerHendelseServiceTest.kt" "b/src/test/kotlin/no/nav/familie/baks/mottak/hendelser/EnsligFors\303\270rgerHendelseServiceTest.kt" index f52bf5d16..13d10a525 100644 --- "a/src/test/kotlin/no/nav/familie/baks/mottak/hendelser/EnsligFors\303\270rgerHendelseServiceTest.kt" +++ "b/src/test/kotlin/no/nav/familie/baks/mottak/hendelser/EnsligFors\303\270rgerHendelseServiceTest.kt" @@ -16,7 +16,6 @@ import org.junit.jupiter.api.TestInstance @TestInstance(TestInstance.Lifecycle.PER_CLASS) class EnsligForsørgerHendelseServiceTest { - lateinit var mockHendelsesloggRepository: HendelsesloggRepository lateinit var mockSakClient: SakClient lateinit var mockPdlClient: PdlClient diff --git "a/src/test/kotlin/no/nav/familie/baks/mottak/hendelser/EnsligFors\303\270rgerInfotrygdHendelseConsumerTest.kt" "b/src/test/kotlin/no/nav/familie/baks/mottak/hendelser/EnsligFors\303\270rgerInfotrygdHendelseConsumerTest.kt" index 440dd6d4f..c310b1fef 100644 --- "a/src/test/kotlin/no/nav/familie/baks/mottak/hendelser/EnsligFors\303\270rgerInfotrygdHendelseConsumerTest.kt" +++ "b/src/test/kotlin/no/nav/familie/baks/mottak/hendelser/EnsligFors\303\270rgerInfotrygdHendelseConsumerTest.kt" @@ -19,7 +19,6 @@ import org.springframework.kafka.support.Acknowledgment @TestInstance(TestInstance.Lifecycle.PER_CLASS) class EnsligForsørgerInfotrygdHendelseConsumerTest { - lateinit var mockHendelsesloggRepository: HendelsesloggRepository lateinit var mockSakClient: SakClient lateinit var mockPdlClient: PdlClient @@ -90,9 +89,10 @@ class EnsligForsørgerInfotrygdHendelseConsumerTest { fun `Skal ikke ACKe melding ved feil`() { val ack: Acknowledgment = mockk(relaxed = true) val consumerRecord = ConsumerRecord("topic", 1, 1, "42", """{"json": "Ugyldig"}""") - val e = Assertions.assertThrows(RuntimeException::class.java) { - consumer.listen(consumerRecord, ack) - } + val e = + Assertions.assertThrows(RuntimeException::class.java) { + consumer.listen(consumerRecord, ack) + } assertThat(e.message).isEqualTo("Feil i prosessering av aapen-ef-overgangstonad-v1") verify(exactly = 0) { ack.acknowledge() } diff --git "a/src/test/kotlin/no/nav/familie/baks/mottak/hendelser/EnsligFors\303\270rgerVedtakHendelseConsumerTest.kt" "b/src/test/kotlin/no/nav/familie/baks/mottak/hendelser/EnsligFors\303\270rgerVedtakHendelseConsumerTest.kt" index febcf6f68..f81c775b0 100644 --- "a/src/test/kotlin/no/nav/familie/baks/mottak/hendelser/EnsligFors\303\270rgerVedtakHendelseConsumerTest.kt" +++ "b/src/test/kotlin/no/nav/familie/baks/mottak/hendelser/EnsligFors\303\270rgerVedtakHendelseConsumerTest.kt" @@ -16,7 +16,6 @@ import org.springframework.kafka.support.Acknowledgment @TestInstance(TestInstance.Lifecycle.PER_CLASS) class EnsligForsørgerVedtakHendelseConsumerTest { - lateinit var mockHendelsesloggRepository: HendelsesloggRepository lateinit var mockSakClient: SakClient lateinit var mockPdlClient: PdlClient @@ -49,9 +48,10 @@ class EnsligForsørgerVedtakHendelseConsumerTest { fun `Skal ikke ACKe melding ved feil`() { val ack: Acknowledgment = mockk(relaxed = true) val consumerRecord = ConsumerRecord("topic", 1, 1, "42", """{"json": "Ugyldig"}""") - val e = Assertions.assertThrows(RuntimeException::class.java) { - consumer.listen(consumerRecord, ack) - } + val e = + Assertions.assertThrows(RuntimeException::class.java) { + consumer.listen(consumerRecord, ack) + } assertThat(e.message).isEqualTo("Feil i prosessering av aapen-ensligforsorger-iverksatt-vedtak") diff --git "a/src/test/kotlin/no/nav/familie/baks/mottak/hendelser/Journalf\303\270ringHendelseServiceTest.kt" "b/src/test/kotlin/no/nav/familie/baks/mottak/hendelser/Journalf\303\270ringHendelseServiceTest.kt" index 0b2aadb16..ffe6443cd 100644 --- "a/src/test/kotlin/no/nav/familie/baks/mottak/hendelser/Journalf\303\270ringHendelseServiceTest.kt" +++ "b/src/test/kotlin/no/nav/familie/baks/mottak/hendelser/Journalf\303\270ringHendelseServiceTest.kt" @@ -45,7 +45,6 @@ import org.springframework.kafka.support.Acknowledgment @TestInstance(TestInstance.Lifecycle.PER_CLASS) class JournalføringHendelseServiceTest { - @MockK lateinit var mockJournalpostClient: JournalpostClient @@ -81,82 +80,87 @@ class JournalføringHendelseServiceTest { // Inngående papirsøknad, Mottatt every { mockJournalpostClient.hentJournalpost(JOURNALPOST_PAPIRSØKNAD) - } returns Journalpost( - journalpostId = JOURNALPOST_PAPIRSØKNAD, - journalposttype = Journalposttype.I, - journalstatus = Journalstatus.MOTTATT, - bruker = Bruker("123456789012", BrukerIdType.AKTOERID), - tema = "BAR", - kanal = "SKAN_NETS", - behandlingstema = null, - dokumenter = null, - journalforendeEnhet = null, - sak = null, - ) + } returns + Journalpost( + journalpostId = JOURNALPOST_PAPIRSØKNAD, + journalposttype = Journalposttype.I, + journalstatus = Journalstatus.MOTTATT, + bruker = Bruker("123456789012", BrukerIdType.AKTOERID), + tema = "BAR", + kanal = "SKAN_NETS", + behandlingstema = null, + dokumenter = null, + journalforendeEnhet = null, + sak = null, + ) // Inngående digital, Mottatt every { mockJournalpostClient.hentJournalpost(JOURNALPOST_DIGITALSØKNAD) - } returns Journalpost( - journalpostId = JOURNALPOST_DIGITALSØKNAD, - journalposttype = Journalposttype.I, - journalstatus = Journalstatus.MOTTATT, - bruker = Bruker("123456789012", BrukerIdType.AKTOERID), - tema = "BAR", - kanal = "NAV_NO", - behandlingstema = null, - dokumenter = null, - journalforendeEnhet = null, - sak = null, - ) + } returns + Journalpost( + journalpostId = JOURNALPOST_DIGITALSØKNAD, + journalposttype = Journalposttype.I, + journalstatus = Journalstatus.MOTTATT, + bruker = Bruker("123456789012", BrukerIdType.AKTOERID), + tema = "BAR", + kanal = "NAV_NO", + behandlingstema = null, + dokumenter = null, + journalforendeEnhet = null, + sak = null, + ) // Utgående digital, Mottatt every { mockJournalpostClient.hentJournalpost(JOURNALPOST_UTGÅENDE_DOKUMENT) - } returns Journalpost( - journalpostId = JOURNALPOST_UTGÅENDE_DOKUMENT, - journalposttype = Journalposttype.U, - journalstatus = Journalstatus.MOTTATT, - bruker = Bruker("123456789012", BrukerIdType.AKTOERID), - tema = "BAR", - kanal = "SKAN_NETS", - behandlingstema = null, - dokumenter = null, - journalforendeEnhet = null, - sak = null, - ) + } returns + Journalpost( + journalpostId = JOURNALPOST_UTGÅENDE_DOKUMENT, + journalposttype = Journalposttype.U, + journalstatus = Journalstatus.MOTTATT, + bruker = Bruker("123456789012", BrukerIdType.AKTOERID), + tema = "BAR", + kanal = "SKAN_NETS", + behandlingstema = null, + dokumenter = null, + journalforendeEnhet = null, + sak = null, + ) // Ikke barnetrygd every { mockJournalpostClient.hentJournalpost(JOURNALPOST_IKKE_BARNETRYGD) - } returns Journalpost( - journalpostId = JOURNALPOST_IKKE_BARNETRYGD, - journalposttype = Journalposttype.U, - journalstatus = Journalstatus.MOTTATT, - bruker = Bruker("123456789012", BrukerIdType.AKTOERID), - tema = "FOR", - kanal = "NAV_NO", - behandlingstema = null, - dokumenter = null, - journalforendeEnhet = null, - sak = null, - ) + } returns + Journalpost( + journalpostId = JOURNALPOST_IKKE_BARNETRYGD, + journalposttype = Journalposttype.U, + journalstatus = Journalstatus.MOTTATT, + bruker = Bruker("123456789012", BrukerIdType.AKTOERID), + tema = "FOR", + kanal = "NAV_NO", + behandlingstema = null, + dokumenter = null, + journalforendeEnhet = null, + sak = null, + ) // ferdigstilt journalpost every { mockJournalpostClient.hentJournalpost(JOURNALPOST_FERDIGSTILT) - } returns Journalpost( - journalpostId = JOURNALPOST_FERDIGSTILT, - journalposttype = Journalposttype.U, - journalstatus = Journalstatus.FERDIGSTILT, - bruker = Bruker("123456789012", BrukerIdType.AKTOERID), - tema = "BAR", - kanal = "NAV_NO", - behandlingstema = null, - dokumenter = null, - journalforendeEnhet = null, - sak = null, - ) + } returns + Journalpost( + journalpostId = JOURNALPOST_FERDIGSTILT, + journalposttype = Journalposttype.U, + journalstatus = Journalstatus.FERDIGSTILT, + bruker = Bruker("123456789012", BrukerIdType.AKTOERID), + tema = "BAR", + kanal = "NAV_NO", + behandlingstema = null, + dokumenter = null, + journalforendeEnhet = null, + sak = null, + ) every { mockTaskService.save(any()) } returns Task("dummy", "payload") } @@ -250,10 +254,11 @@ class JournalføringHendelseServiceTest { infotrygdBarnetrygdClient.hentSaker(any(), any()) } returns InfotrygdSøkResponse(emptyList(), emptyList()) - val task = OpprettJournalføringOppgaveTask( - mockJournalpostClient, - mockOppgaveClient, - ) + val task = + OpprettJournalføringOppgaveTask( + mockJournalpostClient, + mockOppgaveClient, + ) task.doTask( Task(type = SendTilSakTask.TASK_STEP_TYPE, payload = "oppgavebeskrivelse").apply { @@ -275,10 +280,11 @@ class JournalføringHendelseServiceTest { mockOppgaveClient.finnOppgaver(JOURNALPOST_PAPIRSØKNAD, Oppgavetype.Fordeling) } returns listOf(Oppgave(123)) - val task = OpprettJournalføringOppgaveTask( - mockJournalpostClient, - mockOppgaveClient, - ) + val task = + OpprettJournalføringOppgaveTask( + mockJournalpostClient, + mockOppgaveClient, + ) task.doTask( Task(type = SendTilSakTask.TASK_STEP_TYPE, payload = JOURNALPOST_UTGÅENDE_DOKUMENT).apply { this.metadata["journalpostId"] = JOURNALPOST_UTGÅENDE_DOKUMENT @@ -297,10 +303,11 @@ class JournalføringHendelseServiceTest { @Test fun `Kaster exception dersom journalstatus annet enn MOTTATT`() { - val task = OpprettJournalføringOppgaveTask( - mockJournalpostClient, - mockOppgaveClient, - ) + val task = + OpprettJournalføringOppgaveTask( + mockJournalpostClient, + mockOppgaveClient, + ) Assertions.assertThrows(IllegalStateException::class.java) { task.doTask( @@ -313,13 +320,14 @@ class JournalføringHendelseServiceTest { @Test fun `Skal ignorere hendelse fordi den eksisterer i hendelseslogg`() { - val consumerRecord = ConsumerRecord( - "topic", - 1, - OFFSET, - 42L, - opprettRecord(JOURNALPOST_PAPIRSØKNAD), - ) + val consumerRecord = + ConsumerRecord( + "topic", + 1, + OFFSET, + 42L, + opprettRecord(JOURNALPOST_PAPIRSØKNAD), + ) every { mockHendelsesloggRepository.existsByHendelseIdAndConsumer("hendelseId", HendelseConsumer.JOURNAL_AIVEN) } returns true @@ -335,13 +343,14 @@ class JournalføringHendelseServiceTest { @Test fun `Mottak av gyldig hendelse skal delegeres til service`() { - val consumerRecord = ConsumerRecord( - "topic", - 1, - OFFSET, - 42L, - opprettRecord(JOURNALPOST_PAPIRSØKNAD), - ) + val consumerRecord = + ConsumerRecord( + "topic", + 1, + OFFSET, + 42L, + opprettRecord(JOURNALPOST_PAPIRSØKNAD), + ) service.prosesserNyHendelse(consumerRecord, ack) @@ -364,13 +373,14 @@ class JournalføringHendelseServiceTest { fun `Ikke gyldige hendelsetyper skal ignoreres`() { val ugyldigHendelsetypeRecord = opprettRecord(journalpostId = JOURNALPOST_PAPIRSØKNAD, hendelseType = "UgyldigType", temaNytt = "BAR") - val consumerRecord = ConsumerRecord( - "topic", - 1, - OFFSET, - 42L, - ugyldigHendelsetypeRecord, - ) + val consumerRecord = + ConsumerRecord( + "topic", + 1, + OFFSET, + 42L, + ugyldigHendelsetypeRecord, + ) service.prosesserNyHendelse(consumerRecord, ack) @@ -384,13 +394,14 @@ class JournalføringHendelseServiceTest { fun `Hendelser hvor journalpost ikke har tema for Barnetrygd skal ignoreres`() { val ukjentTemaRecord = opprettRecord(journalpostId = JOURNALPOST_PAPIRSØKNAD, temaNytt = "UKJ") - val consumerRecord = ConsumerRecord( - "topic", - 1, - OFFSET, - 42L, - ukjentTemaRecord, - ) + val consumerRecord = + ConsumerRecord( + "topic", + 1, + OFFSET, + 42L, + ukjentTemaRecord, + ) service.prosesserNyHendelse(consumerRecord, ack) diff --git a/src/test/kotlin/no/nav/familie/baks/mottak/hendelser/LeesahServiceTest.kt b/src/test/kotlin/no/nav/familie/baks/mottak/hendelser/LeesahServiceTest.kt index 57f657aca..616a66523 100644 --- a/src/test/kotlin/no/nav/familie/baks/mottak/hendelser/LeesahServiceTest.kt +++ b/src/test/kotlin/no/nav/familie/baks/mottak/hendelser/LeesahServiceTest.kt @@ -24,7 +24,6 @@ import kotlin.random.nextUInt @TestInstance(TestInstance.Lifecycle.PER_CLASS) class LeesahServiceTest { - lateinit var mockHendelsesloggRepository: HendelsesloggRepository lateinit var mockTaskService: TaskService lateinit var mockenv: Environment @@ -45,15 +44,16 @@ class LeesahServiceTest { @Test fun `Skal opprette VurderLivshendelseTask for dødsfallhendelse`() { val hendelseId = UUID.randomUUID().toString() - val pdlHendelse = PdlHendelse( - offset = Random.nextUInt().toLong(), - gjeldendeAktørId = "1234567890123", - hendelseId = hendelseId, - personIdenter = listOf("12345678901", "1234567890123"), - endringstype = LeesahService.OPPRETTET, - opplysningstype = LeesahService.OPPLYSNINGSTYPE_DØDSFALL, - dødsdato = LocalDate.now(), - ) + val pdlHendelse = + PdlHendelse( + offset = Random.nextUInt().toLong(), + gjeldendeAktørId = "1234567890123", + hendelseId = hendelseId, + personIdenter = listOf("12345678901", "1234567890123"), + endringstype = LeesahService.OPPRETTET, + opplysningstype = LeesahService.OPPLYSNINGSTYPE_DØDSFALL, + dødsdato = LocalDate.now(), + ) service.prosesserNyHendelse(pdlHendelse) @@ -73,15 +73,16 @@ class LeesahServiceTest { @Test fun `Skal opprette VurderLivshendelseTask for utflyttingshendelse`() { val hendelseId = UUID.randomUUID().toString() - val pdlHendelse = PdlHendelse( - offset = Random.nextUInt().toLong(), - gjeldendeAktørId = "1234567890123", - hendelseId = hendelseId, - personIdenter = listOf("12345678901", "1234567890123"), - endringstype = LeesahService.OPPRETTET, - opplysningstype = LeesahService.OPPLYSNINGSTYPE_UTFLYTTING, - utflyttingsdato = LocalDate.now(), - ) + val pdlHendelse = + PdlHendelse( + offset = Random.nextUInt().toLong(), + gjeldendeAktørId = "1234567890123", + hendelseId = hendelseId, + personIdenter = listOf("12345678901", "1234567890123"), + endringstype = LeesahService.OPPRETTET, + opplysningstype = LeesahService.OPPLYSNINGSTYPE_UTFLYTTING, + utflyttingsdato = LocalDate.now(), + ) service.prosesserNyHendelse(pdlHendelse) @@ -101,16 +102,17 @@ class LeesahServiceTest { @Test fun `Skal opprette VurderLivshendelseTask for sivilstandhendelse GIFT`() { val hendelseId = UUID.randomUUID().toString() - val pdlHendelse = PdlHendelse( - offset = Random.nextUInt().toLong(), - gjeldendeAktørId = "1234567890123", - hendelseId = hendelseId, - personIdenter = listOf("12345678901", "1234567890123"), - endringstype = LeesahService.OPPRETTET, - opplysningstype = LeesahService.OPPLYSNINGSTYPE_SIVILSTAND, - sivilstand = "GIFT", - sivilstandDato = LocalDate.of(2022, 2, 22), - ) + val pdlHendelse = + PdlHendelse( + offset = Random.nextUInt().toLong(), + gjeldendeAktørId = "1234567890123", + hendelseId = hendelseId, + personIdenter = listOf("12345678901", "1234567890123"), + endringstype = LeesahService.OPPRETTET, + opplysningstype = LeesahService.OPPLYSNINGSTYPE_SIVILSTAND, + sivilstand = "GIFT", + sivilstandDato = LocalDate.of(2022, 2, 22), + ) service.prosesserNyHendelse(pdlHendelse) service.prosesserNyHendelse(pdlHendelse.copy(sivilstand = "UOPPGITT")) @@ -132,16 +134,17 @@ class LeesahServiceTest { @Test fun `Skal opprette MottaFødselshendelseTask med fnr på payload`() { val hendelseId = UUID.randomUUID().toString() - val pdlHendelse = PdlHendelse( - offset = Random.nextUInt().toLong(), - gjeldendeAktørId = "1234567890123", - hendelseId = hendelseId, - personIdenter = listOf("12345678901", "1234567890123"), - endringstype = LeesahService.OPPRETTET, - opplysningstype = LeesahService.OPPLYSNINGSTYPE_FØDSEL, - fødselsdato = LocalDate.now(), - fødeland = "NOR", - ) + val pdlHendelse = + PdlHendelse( + offset = Random.nextUInt().toLong(), + gjeldendeAktørId = "1234567890123", + hendelseId = hendelseId, + personIdenter = listOf("12345678901", "1234567890123"), + endringstype = LeesahService.OPPRETTET, + opplysningstype = LeesahService.OPPLYSNINGSTYPE_FØDSEL, + fødselsdato = LocalDate.now(), + fødeland = "NOR", + ) service.prosesserNyHendelse(pdlHendelse) @@ -162,16 +165,17 @@ class LeesahServiceTest { @Test fun `Skal ignorere fødselshendelser utenfor norge`() { val hendelseId = UUID.randomUUID().toString() - val pdlHendelse = PdlHendelse( - offset = Random.nextUInt().toLong(), - gjeldendeAktørId = "1234567890123", - hendelseId = hendelseId, - personIdenter = listOf("12345678901", "1234567890123"), - endringstype = LeesahService.OPPRETTET, - opplysningstype = LeesahService.OPPLYSNINGSTYPE_FØDSEL, - fødselsdato = LocalDate.now(), - fødeland = "POL", - ) + val pdlHendelse = + PdlHendelse( + offset = Random.nextUInt().toLong(), + gjeldendeAktørId = "1234567890123", + hendelseId = hendelseId, + personIdenter = listOf("12345678901", "1234567890123"), + endringstype = LeesahService.OPPRETTET, + opplysningstype = LeesahService.OPPLYSNINGSTYPE_FØDSEL, + fødselsdato = LocalDate.now(), + fødeland = "POL", + ) service.prosesserNyHendelse(pdlHendelse) @@ -189,17 +193,18 @@ class LeesahServiceTest { @Test fun `Skal opprette MottaAnnullerFødselTask når endringstype er ANNULLERT`() { val hendelseId = UUID.randomUUID().toString() - val pdlHendelse = PdlHendelse( - offset = Random.nextUInt().toLong(), - gjeldendeAktørId = "1234567890123", - hendelseId = hendelseId, - personIdenter = listOf("12345678901", "1234567890123"), - endringstype = LeesahService.ANNULLERT, - opplysningstype = LeesahService.OPPLYSNINGSTYPE_FØDSEL, - fødselsdato = LocalDate.now(), - fødeland = "NOR", - tidligereHendelseId = "unknown", - ) + val pdlHendelse = + PdlHendelse( + offset = Random.nextUInt().toLong(), + gjeldendeAktørId = "1234567890123", + hendelseId = hendelseId, + personIdenter = listOf("12345678901", "1234567890123"), + endringstype = LeesahService.ANNULLERT, + opplysningstype = LeesahService.OPPLYSNINGSTYPE_FØDSEL, + fødselsdato = LocalDate.now(), + fødeland = "NOR", + tidligereHendelseId = "unknown", + ) service.prosesserNyHendelse(pdlHendelse) diff --git a/src/test/kotlin/no/nav/familie/baks/mottak/integrasjoner/DokarkivClientTest.kt b/src/test/kotlin/no/nav/familie/baks/mottak/integrasjoner/DokarkivClientTest.kt index 98b044c9b..25927ba04 100644 --- a/src/test/kotlin/no/nav/familie/baks/mottak/integrasjoner/DokarkivClientTest.kt +++ b/src/test/kotlin/no/nav/familie/baks/mottak/integrasjoner/DokarkivClientTest.kt @@ -29,7 +29,6 @@ import org.springframework.test.context.ActiveProfiles @AutoConfigureWireMock(port = 28085) @TestInstance(TestInstance.Lifecycle.PER_CLASS) class DokarkivClientTest { - @Autowired lateinit var dokarkivClient: DokarkivClient @@ -120,11 +119,12 @@ class DokarkivClientTest { companion object { private val response = objectMapper.writeValueAsString(Ressurs.success(mapOf("journalpostId" to "12345678"), "test")) - private val jp = Journalpost( - journalpostId = "12345678", - journalposttype = Journalposttype.I, - journalstatus = Journalstatus.MOTTATT, - bruker = Bruker("12345678910", BrukerIdType.FNR), - ) + private val jp = + Journalpost( + journalpostId = "12345678", + journalposttype = Journalposttype.I, + journalstatus = Journalstatus.MOTTATT, + bruker = Bruker("12345678910", BrukerIdType.FNR), + ) } } diff --git a/src/test/kotlin/no/nav/familie/baks/mottak/integrasjoner/HentEnhetClientTest.kt b/src/test/kotlin/no/nav/familie/baks/mottak/integrasjoner/HentEnhetClientTest.kt index 866547f0f..caa464013 100644 --- a/src/test/kotlin/no/nav/familie/baks/mottak/integrasjoner/HentEnhetClientTest.kt +++ b/src/test/kotlin/no/nav/familie/baks/mottak/integrasjoner/HentEnhetClientTest.kt @@ -21,7 +21,6 @@ import org.springframework.test.context.ActiveProfiles @AutoConfigureWireMock(port = 28085) @TestInstance(TestInstance.Lifecycle.PER_CLASS) class HentEnhetClientTest { - @Autowired lateinit var client: HentEnhetClient diff --git a/src/test/kotlin/no/nav/familie/baks/mottak/integrasjoner/InfotrygdBarnetrygdClientTest.kt b/src/test/kotlin/no/nav/familie/baks/mottak/integrasjoner/InfotrygdBarnetrygdClientTest.kt index f181b894f..d060d2ea9 100644 --- a/src/test/kotlin/no/nav/familie/baks/mottak/integrasjoner/InfotrygdBarnetrygdClientTest.kt +++ b/src/test/kotlin/no/nav/familie/baks/mottak/integrasjoner/InfotrygdBarnetrygdClientTest.kt @@ -22,7 +22,6 @@ import java.nio.file.Files @AutoConfigureWireMock(port = 28085) @TestInstance(TestInstance.Lifecycle.PER_CLASS) class InfotrygdBarnetrygdClientTest { - @Autowired lateinit var infotrygdClient: InfotrygdBarnetrygdClient diff --git a/src/test/kotlin/no/nav/familie/baks/mottak/integrasjoner/JournalpostClientTest.kt b/src/test/kotlin/no/nav/familie/baks/mottak/integrasjoner/JournalpostClientTest.kt index 56f5a19f7..b98839701 100644 --- a/src/test/kotlin/no/nav/familie/baks/mottak/integrasjoner/JournalpostClientTest.kt +++ b/src/test/kotlin/no/nav/familie/baks/mottak/integrasjoner/JournalpostClientTest.kt @@ -22,7 +22,6 @@ import java.nio.file.Files @AutoConfigureWireMock(port = 28085) @TestInstance(TestInstance.Lifecycle.PER_CLASS) class JournalpostClientTest { - @Autowired lateinit var journalpostClient: JournalpostClient diff --git a/src/test/kotlin/no/nav/familie/baks/mottak/integrasjoner/OppgaveClientTest.kt b/src/test/kotlin/no/nav/familie/baks/mottak/integrasjoner/OppgaveClientTest.kt index 059cbe6aa..d8b09bd05 100644 --- a/src/test/kotlin/no/nav/familie/baks/mottak/integrasjoner/OppgaveClientTest.kt +++ b/src/test/kotlin/no/nav/familie/baks/mottak/integrasjoner/OppgaveClientTest.kt @@ -51,7 +51,6 @@ import java.time.LocalDateTime @AutoConfigureWireMock(port = 28085) @TestInstance(TestInstance.Lifecycle.PER_CLASS) class OppgaveClientTest { - @Autowired @Qualifier("oppgaveClient") lateinit var oppgaveClient: OppgaveClient @@ -266,25 +265,25 @@ class OppgaveClientTest { } companion object { - - private val journalPost = Journalpost( - "1234567", - Journalposttype.I, - Journalstatus.MOTTATT, - Tema.BAR.name, - "behandlingstemaFraJournalpost", - null, - Bruker("1234567891011", BrukerIdType.AKTOERID), - "9999", - "kanal", - listOf( - DokumentInfo( - "Tittel", - "NAV- 99.00.07", - null, - null, + private val journalPost = + Journalpost( + "1234567", + Journalposttype.I, + Journalstatus.MOTTATT, + Tema.BAR.name, + "behandlingstemaFraJournalpost", + null, + Bruker("1234567891011", BrukerIdType.AKTOERID), + "9999", + "kanal", + listOf( + DokumentInfo( + "Tittel", + "NAV- 99.00.07", + null, + null, + ), ), - ), - ) + ) } } diff --git a/src/test/kotlin/no/nav/familie/baks/mottak/integrasjoner/OppgaveMapperTest.kt b/src/test/kotlin/no/nav/familie/baks/mottak/integrasjoner/OppgaveMapperTest.kt index 8517b021d..3459291b6 100644 --- a/src/test/kotlin/no/nav/familie/baks/mottak/integrasjoner/OppgaveMapperTest.kt +++ b/src/test/kotlin/no/nav/familie/baks/mottak/integrasjoner/OppgaveMapperTest.kt @@ -21,14 +21,11 @@ import kotlin.test.assertNull @SpringBootTest(classes = [DevLauncher::class]) @ActiveProfiles("dev", "mock-pdl") class OppgaveMapperTest( - @Autowired private val journalpostClient: JournalpostClient, - @Autowired private val mockPdlClient: PdlClient, ) { - private val mockHentEnhetClient: HentEnhetClient = mockk(relaxed = true) private val barnetrygdOppgaveMapper: IOppgaveMapper = BarnetrygdOppgaveMapper(mockHentEnhetClient, mockPdlClient) @@ -54,14 +51,15 @@ class OppgaveMapperTest( Oppgavetype.BehandleSak, journalpostClient.hentJournalpost("123") .copy( - dokumenter = listOf( - DokumentInfo( - tittel = null, - brevkode = "", - dokumentstatus = null, - dokumentvarianter = null, + dokumenter = + listOf( + DokumentInfo( + tittel = null, + brevkode = "", + dokumentstatus = null, + dokumentvarianter = null, + ), ), - ), bruker = null, ), ) @@ -72,20 +70,22 @@ class OppgaveMapperTest( fun `skal sette brukerid til null dersom bruker ikke finnes i PDL når oppgavetype er Journalføring`() { every { mockPdlClient.hentIdenter(any(), any()) } throws IntegrasjonException("Fant ikke person") - val oppgave = barnetrygdOppgaveMapper.tilOpprettOppgaveRequest( - Oppgavetype.Journalføring, - journalpostClient.hentJournalpost("321") - .copy( - dokumenter = listOf( - DokumentInfo( - tittel = null, - brevkode = "NAV 33-00.07", - dokumentstatus = null, - dokumentvarianter = null, - ), + val oppgave = + barnetrygdOppgaveMapper.tilOpprettOppgaveRequest( + Oppgavetype.Journalføring, + journalpostClient.hentJournalpost("321") + .copy( + dokumenter = + listOf( + DokumentInfo( + tittel = null, + brevkode = "NAV 33-00.07", + dokumentstatus = null, + dokumentvarianter = null, + ), + ), ), - ), - ) + ) assertNull(oppgave.ident) } @@ -96,14 +96,15 @@ class OppgaveMapperTest( Oppgavetype.Journalføring, journalpostClient.hentJournalpost("123") .copy( - dokumenter = listOf( - DokumentInfo( - tittel = null, - brevkode = "", - dokumentstatus = null, - dokumentvarianter = null, + dokumenter = + listOf( + DokumentInfo( + tittel = null, + brevkode = "", + dokumentstatus = null, + dokumentvarianter = null, + ), ), - ), bruker = null, ), ) @@ -112,370 +113,406 @@ class OppgaveMapperTest( @Test fun `skal sette behandlingstema Ordinær`() { - val oppgave = barnetrygdOppgaveMapper.tilOpprettOppgaveRequest( - Oppgavetype.Journalføring, - journalpostClient.hentJournalpost("123") - .copy( - dokumenter = listOf( - DokumentInfo( - tittel = null, - brevkode = "NAV 33-00.07", - dokumentstatus = null, - dokumentvarianter = null, - ), + val oppgave = + barnetrygdOppgaveMapper.tilOpprettOppgaveRequest( + Oppgavetype.Journalføring, + journalpostClient.hentJournalpost("123") + .copy( + dokumenter = + listOf( + DokumentInfo( + tittel = null, + brevkode = "NAV 33-00.07", + dokumentstatus = null, + dokumentvarianter = null, + ), + ), ), - ), - ) + ) assertEquals(Behandlingstema.OrdinærBarnetrygd.value, oppgave.behandlingstema) } @Test fun `skal sette behandlingstema Ordinær uavhengig av journalpost`() { - val oppgave = barnetrygdOppgaveMapper.tilOpprettOppgaveRequest( - Oppgavetype.Journalføring, - journalpostClient.hentJournalpost("123") - .copy( - dokumenter = listOf( - DokumentInfo( - tittel = null, - brevkode = null, - dokumentstatus = null, - dokumentvarianter = null, - ), + val oppgave = + barnetrygdOppgaveMapper.tilOpprettOppgaveRequest( + Oppgavetype.Journalføring, + journalpostClient.hentJournalpost("123") + .copy( + dokumenter = + listOf( + DokumentInfo( + tittel = null, + brevkode = null, + dokumentstatus = null, + dokumentvarianter = null, + ), + ), + behandlingstema = "btema", ), - behandlingstema = "btema", - ), - ) + ) assertEquals(Behandlingstema.OrdinærBarnetrygd.value, oppgave.behandlingstema) } @Test fun `skal sette behandlingstema EØS`() { - val oppgave = barnetrygdOppgaveMapper.tilOpprettOppgaveRequest( - Oppgavetype.Journalføring, - journalpostClient.hentJournalpost("123") - .copy( - dokumenter = listOf( - DokumentInfo( - tittel = null, - brevkode = null, - dokumentstatus = null, - dokumentvarianter = null, - ), - ), - bruker = Bruker( - id = "42345678910", - type = BrukerIdType.FNR, + val oppgave = + barnetrygdOppgaveMapper.tilOpprettOppgaveRequest( + Oppgavetype.Journalføring, + journalpostClient.hentJournalpost("123") + .copy( + dokumenter = + listOf( + DokumentInfo( + tittel = null, + brevkode = null, + dokumentstatus = null, + dokumentvarianter = null, + ), + ), + bruker = + Bruker( + id = "42345678910", + type = BrukerIdType.FNR, + ), ), - ), - ) + ) assertNull(oppgave.behandlingstype) assertEquals(Behandlingstema.BarnetrygdEØS.value, oppgave.behandlingstema) } @Test fun `skal sette behandlingstype Utland`() { - val oppgave = barnetrygdOppgaveMapper.tilOpprettOppgaveRequest( - Oppgavetype.Journalføring, - journalpostClient.hentJournalpost("123") - .copy( - dokumenter = listOf( - DokumentInfo( - tittel = null, - brevkode = null, - dokumentstatus = null, - dokumentvarianter = null, - ), - DokumentInfo( - tittel = null, - brevkode = "NAV 33-00.15", - dokumentstatus = null, - dokumentvarianter = null, - ), + val oppgave = + barnetrygdOppgaveMapper.tilOpprettOppgaveRequest( + Oppgavetype.Journalføring, + journalpostClient.hentJournalpost("123") + .copy( + dokumenter = + listOf( + DokumentInfo( + tittel = null, + brevkode = null, + dokumentstatus = null, + dokumentvarianter = null, + ), + DokumentInfo( + tittel = null, + brevkode = "NAV 33-00.15", + dokumentstatus = null, + dokumentvarianter = null, + ), + ), + behandlingstema = Behandlingstema.OrdinærBarnetrygd.value, ), - behandlingstema = Behandlingstema.OrdinærBarnetrygd.value, - ), - ) + ) assertNull(oppgave.behandlingstema) assertEquals(Behandlingstype.Utland.value, oppgave.behandlingstype) } @Test fun `skal sette beskrivelse til kun tittel på journalpost når beskrivelse i input er null, brevkode på journalpost er satt og dokumentet har tittel`() { - val oppgave = barnetrygdOppgaveMapper.tilOpprettOppgaveRequest( - Oppgavetype.Journalføring, - journalpostClient.hentJournalpost("123") - .copy( - dokumenter = listOf( - DokumentInfo( - tittel = "Whatever", - brevkode = "kode", - dokumentstatus = null, - dokumentvarianter = null, - ), + val oppgave = + barnetrygdOppgaveMapper.tilOpprettOppgaveRequest( + Oppgavetype.Journalføring, + journalpostClient.hentJournalpost("123") + .copy( + dokumenter = + listOf( + DokumentInfo( + tittel = "Whatever", + brevkode = "kode", + dokumentstatus = null, + dokumentvarianter = null, + ), + ), + behandlingstema = "btema", ), - behandlingstema = "btema", - ), - beskrivelse = null, - ) + beskrivelse = null, + ) assertEquals("Whatever", oppgave.beskrivelse) } @Test fun `skal sette beskrivelse til tom når beskrivelse i input er null, brevkode på journalpost er ikke satt og dokumentet har tittel`() { - val oppgaveUtenBeskrivelse1 = barnetrygdOppgaveMapper.tilOpprettOppgaveRequest( - Oppgavetype.Journalføring, - journalpostClient.hentJournalpost("123") - .copy( - dokumenter = listOf( - DokumentInfo( - tittel = "Whatever", - brevkode = null, - dokumentstatus = null, - dokumentvarianter = null, - ), + val oppgaveUtenBeskrivelse1 = + barnetrygdOppgaveMapper.tilOpprettOppgaveRequest( + Oppgavetype.Journalføring, + journalpostClient.hentJournalpost("123") + .copy( + dokumenter = + listOf( + DokumentInfo( + tittel = "Whatever", + brevkode = null, + dokumentstatus = null, + dokumentvarianter = null, + ), + ), + behandlingstema = "btema", ), - behandlingstema = "btema", - ), - ) + ) assertEquals("", oppgaveUtenBeskrivelse1.beskrivelse) } @Test fun `skal sette beskrivelse til tom når beskrivelse i input er null, brevkode på journalpost er ikke satt og dokumentet ikke har tittel`() { - val oppgaveUtenBeskrivelse2 = barnetrygdOppgaveMapper.tilOpprettOppgaveRequest( - Oppgavetype.Journalføring, - journalpostClient.hentJournalpost("123") - .copy( - dokumenter = listOf( - DokumentInfo( - tittel = null, - brevkode = "kode", - dokumentstatus = null, - dokumentvarianter = null, - ), + val oppgaveUtenBeskrivelse2 = + barnetrygdOppgaveMapper.tilOpprettOppgaveRequest( + Oppgavetype.Journalføring, + journalpostClient.hentJournalpost("123") + .copy( + dokumenter = + listOf( + DokumentInfo( + tittel = null, + brevkode = "kode", + dokumentstatus = null, + dokumentvarianter = null, + ), + ), + behandlingstema = "btema", ), - behandlingstema = "btema", - ), - ) + ) assertEquals("", oppgaveUtenBeskrivelse2.beskrivelse) } @Test fun `skal sette beskrivelse til tittel og beskrivelse når beskrivelse i input er satt, brevkode på journalpost er satt og dokumentet har tittel`() { - val oppgaveUtenBeskrivelse2 = barnetrygdOppgaveMapper.tilOpprettOppgaveRequest( - Oppgavetype.Journalføring, - journalpostClient.hentJournalpost("123") - .copy( - dokumenter = listOf( - DokumentInfo( - tittel = "Whatever", - brevkode = "kode", - dokumentstatus = null, - dokumentvarianter = null, - ), + val oppgaveUtenBeskrivelse2 = + barnetrygdOppgaveMapper.tilOpprettOppgaveRequest( + Oppgavetype.Journalføring, + journalpostClient.hentJournalpost("123") + .copy( + dokumenter = + listOf( + DokumentInfo( + tittel = "Whatever", + brevkode = "kode", + dokumentstatus = null, + dokumentvarianter = null, + ), + ), + behandlingstema = "btema", ), - behandlingstema = "btema", - ), - "beskrivelsefelt", - ) + "beskrivelsefelt", + ) assertEquals("Whatever - beskrivelsefelt", oppgaveUtenBeskrivelse2.beskrivelse) } @Test fun `skal sette beskrivelse til kun beskrivelse fra input når dokumentet mangler tittel`() { - val oppgaveUtenBeskrivelse2 = barnetrygdOppgaveMapper.tilOpprettOppgaveRequest( - Oppgavetype.Journalføring, - journalpostClient.hentJournalpost("123") - .copy( - dokumenter = listOf( - DokumentInfo( - tittel = null, - brevkode = "kode", - dokumentstatus = null, - dokumentvarianter = null, - ), + val oppgaveUtenBeskrivelse2 = + barnetrygdOppgaveMapper.tilOpprettOppgaveRequest( + Oppgavetype.Journalføring, + journalpostClient.hentJournalpost("123") + .copy( + dokumenter = + listOf( + DokumentInfo( + tittel = null, + brevkode = "kode", + dokumentstatus = null, + dokumentvarianter = null, + ), + ), + behandlingstema = "btema", ), - behandlingstema = "btema", - ), - "beskrivelsefelt", - ) + "beskrivelsefelt", + ) assertEquals("beskrivelsefelt", oppgaveUtenBeskrivelse2.beskrivelse) } @Test fun `skal sette enhet 4806 hvis enhet på journalpost er 2101`() { - val oppgave = barnetrygdOppgaveMapper.tilOpprettOppgaveRequest( - Oppgavetype.Journalføring, - journalpostClient.hentJournalpost("123") - .copy( - journalforendeEnhet = "2101", - dokumenter = listOf( - DokumentInfo( - tittel = null, - brevkode = "kode", - dokumentstatus = null, - dokumentvarianter = null, - ), + val oppgave = + barnetrygdOppgaveMapper.tilOpprettOppgaveRequest( + Oppgavetype.Journalføring, + journalpostClient.hentJournalpost("123") + .copy( + journalforendeEnhet = "2101", + dokumenter = + listOf( + DokumentInfo( + tittel = null, + brevkode = "kode", + dokumentstatus = null, + dokumentvarianter = null, + ), + ), + behandlingstema = "btema", ), - behandlingstema = "btema", - ), - ) + ) assertThat(oppgave.enhetsnummer).isEqualTo("4806") } @Test fun `skal sette enhet null hvis enhet på journalpost er null`() { - val oppgave = barnetrygdOppgaveMapper.tilOpprettOppgaveRequest( - Oppgavetype.Journalføring, - journalpostClient.hentJournalpost("123") - .copy( - journalforendeEnhet = null, - dokumenter = listOf( - DokumentInfo( - tittel = null, - brevkode = "kode", - dokumentstatus = null, - dokumentvarianter = null, - ), + val oppgave = + barnetrygdOppgaveMapper.tilOpprettOppgaveRequest( + Oppgavetype.Journalføring, + journalpostClient.hentJournalpost("123") + .copy( + journalforendeEnhet = null, + dokumenter = + listOf( + DokumentInfo( + tittel = null, + brevkode = "kode", + dokumentstatus = null, + dokumentvarianter = null, + ), + ), + behandlingstema = "btema", ), - behandlingstema = "btema", - ), - ) + ) assertThat(oppgave.enhetsnummer).isNull() } @Test fun `skal sette enhet fra journalpost hvis enhet kan behandle oppgaver`() { every { mockHentEnhetClient.hentEnhet("4") } returns Enhet("4", "enhetnavn", true, "Aktiv") - val oppgave = barnetrygdOppgaveMapper.tilOpprettOppgaveRequest( - Oppgavetype.Journalføring, - journalpostClient.hentJournalpost("123") - .copy( - journalforendeEnhet = "4", - dokumenter = listOf( - DokumentInfo( - tittel = null, - brevkode = "kode", - dokumentstatus = null, - dokumentvarianter = null, - ), + val oppgave = + barnetrygdOppgaveMapper.tilOpprettOppgaveRequest( + Oppgavetype.Journalføring, + journalpostClient.hentJournalpost("123") + .copy( + journalforendeEnhet = "4", + dokumenter = + listOf( + DokumentInfo( + tittel = null, + brevkode = "kode", + dokumentstatus = null, + dokumentvarianter = null, + ), + ), + behandlingstema = "btema", ), - behandlingstema = "btema", - ), - ) + ) assertThat(oppgave.enhetsnummer).isEqualTo("4") } @Test fun `skal sette enhet null hvis enhet ikke kan behandle oppgaver`() { every { mockHentEnhetClient.hentEnhet("5") } returns Enhet("4", "enhetnavn", false, "Aktiv") - val oppgave = barnetrygdOppgaveMapper.tilOpprettOppgaveRequest( - Oppgavetype.Journalføring, - journalpostClient.hentJournalpost("123") - .copy( - journalforendeEnhet = "5", - dokumenter = listOf( - DokumentInfo( - tittel = null, - brevkode = "kode", - dokumentstatus = null, - dokumentvarianter = null, - ), + val oppgave = + barnetrygdOppgaveMapper.tilOpprettOppgaveRequest( + Oppgavetype.Journalføring, + journalpostClient.hentJournalpost("123") + .copy( + journalforendeEnhet = "5", + dokumenter = + listOf( + DokumentInfo( + tittel = null, + brevkode = "kode", + dokumentstatus = null, + dokumentvarianter = null, + ), + ), + behandlingstema = "btema", ), - behandlingstema = "btema", - ), - ) + ) assertThat(oppgave.enhetsnummer).isNull() } @Test fun `skal sette enhet null hvis enhet er nedlagt`() { every { mockHentEnhetClient.hentEnhet("5") } returns Enhet("4", "enhetnavn", true, "Nedlagt") - val oppgave = barnetrygdOppgaveMapper.tilOpprettOppgaveRequest( - Oppgavetype.Journalføring, - journalpostClient.hentJournalpost("123") - .copy( - journalforendeEnhet = "5", - dokumenter = listOf( - DokumentInfo( - tittel = null, - brevkode = "kode", - dokumentstatus = null, - dokumentvarianter = null, - ), + val oppgave = + barnetrygdOppgaveMapper.tilOpprettOppgaveRequest( + Oppgavetype.Journalføring, + journalpostClient.hentJournalpost("123") + .copy( + journalforendeEnhet = "5", + dokumenter = + listOf( + DokumentInfo( + tittel = null, + brevkode = "kode", + dokumentstatus = null, + dokumentvarianter = null, + ), + ), + behandlingstema = "btema", ), - behandlingstema = "btema", - ), - ) + ) assertThat(oppgave.enhetsnummer).isNull() } @Test fun `skal sette bruker null hvis Orgnr er 000000000`() { - val oppgave = barnetrygdOppgaveMapper.tilOpprettOppgaveRequest( - Oppgavetype.Journalføring, - journalpostClient.hentJournalpost("123") - .copy( - journalforendeEnhet = "5", - bruker = Bruker("000000000", BrukerIdType.ORGNR), - dokumenter = listOf( - DokumentInfo( - tittel = null, - brevkode = "kode", - dokumentstatus = null, - dokumentvarianter = null, - ), + val oppgave = + barnetrygdOppgaveMapper.tilOpprettOppgaveRequest( + Oppgavetype.Journalføring, + journalpostClient.hentJournalpost("123") + .copy( + journalforendeEnhet = "5", + bruker = Bruker("000000000", BrukerIdType.ORGNR), + dokumenter = + listOf( + DokumentInfo( + tittel = null, + brevkode = "kode", + dokumentstatus = null, + dokumentvarianter = null, + ), + ), + behandlingstema = "btema", ), - behandlingstema = "btema", - ), - ) + ) assertThat(oppgave.ident).isNull() } @Test fun `skal sette orgnr hvis Orgnr er satt`() { - val oppgave = barnetrygdOppgaveMapper.tilOpprettOppgaveRequest( - Oppgavetype.Journalføring, - journalpostClient.hentJournalpost("123") - .copy( - journalforendeEnhet = "5", - bruker = Bruker("900000000", BrukerIdType.ORGNR), - dokumenter = listOf( - DokumentInfo( - tittel = null, - brevkode = "kode", - dokumentstatus = null, - dokumentvarianter = null, - ), + val oppgave = + barnetrygdOppgaveMapper.tilOpprettOppgaveRequest( + Oppgavetype.Journalføring, + journalpostClient.hentJournalpost("123") + .copy( + journalforendeEnhet = "5", + bruker = Bruker("900000000", BrukerIdType.ORGNR), + dokumenter = + listOf( + DokumentInfo( + tittel = null, + brevkode = "kode", + dokumentstatus = null, + dokumentvarianter = null, + ), + ), + behandlingstema = "btema", ), - behandlingstema = "btema", - ), - ) + ) assertThat(oppgave.ident).isEqualTo(OppgaveIdentV2("900000000", IdentGruppe.ORGNR)) } @Test fun `skal sette behandlingstype NASJONAL dersom tema er KON og søknad ikke er EØS søknad`() { - val opprettOppgaveRequest = kontantstøtteOppgaveMapper.tilOpprettOppgaveRequest( - Oppgavetype.Journalføring, - journalpostClient.hentJournalpost("456"), - ) + val opprettOppgaveRequest = + kontantstøtteOppgaveMapper.tilOpprettOppgaveRequest( + Oppgavetype.Journalføring, + journalpostClient.hentJournalpost("456"), + ) assertEquals(Tema.KON, opprettOppgaveRequest.tema) assertEquals(Behandlingstype.NASJONAL.value, opprettOppgaveRequest.behandlingstype) } @Test fun `skal sette behandlingstype EØS dersom tema er KON og bruker id er Dnummer`() { - val opprettOppgaveRequest = kontantstøtteOppgaveMapper.tilOpprettOppgaveRequest( - Oppgavetype.Journalføring, - journalpostClient.hentJournalpost("456").copy( - bruker = Bruker( - id = "42345678910", - type = BrukerIdType.FNR, + val opprettOppgaveRequest = + kontantstøtteOppgaveMapper.tilOpprettOppgaveRequest( + Oppgavetype.Journalføring, + journalpostClient.hentJournalpost("456").copy( + bruker = + Bruker( + id = "42345678910", + type = BrukerIdType.FNR, + ), ), - ), - ) + ) assertEquals(Tema.KON, opprettOppgaveRequest.tema) assertEquals(null, opprettOppgaveRequest.behandlingstema) assertEquals(Behandlingstype.EØS.value, opprettOppgaveRequest.behandlingstype) diff --git a/src/test/kotlin/no/nav/familie/baks/mottak/integrasjoner/PdlClientTest.kt b/src/test/kotlin/no/nav/familie/baks/mottak/integrasjoner/PdlClientTest.kt index 6e1ae577a..3f2234670 100644 --- a/src/test/kotlin/no/nav/familie/baks/mottak/integrasjoner/PdlClientTest.kt +++ b/src/test/kotlin/no/nav/familie/baks/mottak/integrasjoner/PdlClientTest.kt @@ -24,7 +24,6 @@ import java.time.LocalDate @AutoConfigureWireMock(port = 28085) @TestInstance(TestInstance.Lifecycle.PER_CLASS) class PdlClientTest { - @Autowired lateinit var pdlClient: PdlClient @@ -100,10 +99,12 @@ class PdlClientTest { } companion object { - val testIdent = "12345678901" - private fun mockResponseForPdlQuery(pdlRequestBody: String, mockResponse: String) { + private fun mockResponseForPdlQuery( + pdlRequestBody: String, + mockResponse: String, + ) { stubFor( post(urlEqualTo("/api/graphql")) .withRequestBody(equalToJson(pdlRequestBody)) @@ -115,7 +116,10 @@ class PdlClientTest { ) } - private fun gyldigRequest(queryFilnavn: String, ident: String): String { + private fun gyldigRequest( + queryFilnavn: String, + ident: String, + ): String { return "{\"variables\":{\"ident\":\"$ident\"},\"query\":\"${readfile(queryFilnavn).graphqlCompatible()}\"}" } diff --git a/src/test/kotlin/no/nav/familie/baks/mottak/integrasjoner/SakClientTest.kt b/src/test/kotlin/no/nav/familie/baks/mottak/integrasjoner/SakClientTest.kt index 357ffd8ff..8feb3deea 100644 --- a/src/test/kotlin/no/nav/familie/baks/mottak/integrasjoner/SakClientTest.kt +++ b/src/test/kotlin/no/nav/familie/baks/mottak/integrasjoner/SakClientTest.kt @@ -21,7 +21,6 @@ import java.io.IOException @AutoConfigureWireMock(port = 28085) @TestInstance(TestInstance.Lifecycle.PER_CLASS) class SakClientTest { - @Autowired lateinit var sakClient: SakClient diff --git "a/src/test/kotlin/no/nav/familie/baks/mottak/s\303\270knad/ArkiverDokumentRequestMapperTest.kt" "b/src/test/kotlin/no/nav/familie/baks/mottak/s\303\270knad/ArkiverDokumentRequestMapperTest.kt" index 70b140142..5b94a62d0 100644 --- "a/src/test/kotlin/no/nav/familie/baks/mottak/s\303\270knad/ArkiverDokumentRequestMapperTest.kt" +++ "b/src/test/kotlin/no/nav/familie/baks/mottak/s\303\270knad/ArkiverDokumentRequestMapperTest.kt" @@ -23,52 +23,56 @@ import kotlin.test.assertEquals @ExtendWith(MockKExtension::class) class ArkiverDokumentRequestMapperTest { - @Test fun `toDto - skal opprette ArkiverDokumentRequest basert på KontantstøtteSøknad`() { val kontantstøtteSøknad: KontantstøtteSøknad = mockk() - val dokumentasjon = Søknaddokumentasjon( - Dokumentasjonsbehov.BEKREFTELESE_PÅ_BARNEHAGEPLASS, - true, - listOf( - no.nav.familie.kontrakter.ks.søknad.v1.Søknadsvedlegg( - "123", - "navn", - Dokumentasjonsbehov.BEKREFTELESE_PÅ_BARNEHAGEPLASS, + val dokumentasjon = + Søknaddokumentasjon( + Dokumentasjonsbehov.BEKREFTELESE_PÅ_BARNEHAGEPLASS, + true, + listOf( + no.nav.familie.kontrakter.ks.søknad.v1.Søknadsvedlegg( + "123", + "navn", + Dokumentasjonsbehov.BEKREFTELESE_PÅ_BARNEHAGEPLASS, + ), ), - ), - TekstPåSpråkMap( - mapOf( - "nb" to "Norge", - "nn" to "Noreg", - "en" to "Norway", + TekstPåSpråkMap( + mapOf( + "nb" to "Norge", + "nn" to "Noreg", + "en" to "Norway", + ), ), - ), - ) - every { kontantstøtteSøknad.dokumentasjon } returns listOf( - dokumentasjon, - ) + ) + every { kontantstøtteSøknad.dokumentasjon } returns + listOf( + dokumentasjon, + ) val dbKontantstøtteSøknad = DBKontantstøtteSøknad(søknadJson = "{}", fnr = "12345678910") - val vedleggMap = mapOf( - "123" to DBKontantstotteVedlegg(dokumentId = "123", søknadId = 0, data = ByteArray(0)), - ) - val arkiverDokumentRequest = ArkiverDokumentRequestMapper.toDto( - dbKontantstøtteSøknad, - KontantstøtteSøknadV4(kontantstøtteSøknad = kontantstøtteSøknad), - ByteArray(0), - vedleggMap, - ByteArray(0), - ) + val vedleggMap = + mapOf( + "123" to DBKontantstotteVedlegg(dokumentId = "123", søknadId = 0, data = ByteArray(0)), + ) + val arkiverDokumentRequest = + ArkiverDokumentRequestMapper.toDto( + dbKontantstøtteSøknad, + KontantstøtteSøknadV4(kontantstøtteSøknad = kontantstøtteSøknad), + ByteArray(0), + vedleggMap, + ByteArray(0), + ) assertEquals("12345678910", arkiverDokumentRequest.fnr) assertEquals(false, arkiverDokumentRequest.forsøkFerdigstill) assertEquals(2, arkiverDokumentRequest.hoveddokumentvarianter.size) assertEquals( true, arkiverDokumentRequest.hoveddokumentvarianter.all { - it.filtype in listOf( - Filtype.PDFA, - Filtype.JSON, - ) && it.dokumenttype == Dokumenttype.KONTANTSTØTTE_SØKNAD + it.filtype in + listOf( + Filtype.PDFA, + Filtype.JSON, + ) && it.dokumenttype == Dokumenttype.KONTANTSTØTTE_SØKNAD }, ) assertEquals(1, arkiverDokumentRequest.vedleggsdokumenter.size) @@ -104,32 +108,36 @@ class ArkiverDokumentRequestMapperTest { ), ), ) - every { søknad.dokumentasjon } returns listOf( - dokumentasjon, - ) + every { søknad.dokumentasjon } returns + listOf( + dokumentasjon, + ) every { søknad.søknadstype } returns Søknadstype.ORDINÆR val dbSøknad = DBSøknad(søknadJson = "{}", fnr = "12345678910") - val vedleggMap = mapOf( - "123" to DBVedlegg(dokumentId = "123", søknadId = 0, data = ByteArray(0)), - ) - val arkiverDokumentRequest = ArkiverDokumentRequestMapper.toDto( - dbSøknad, - SøknadV8(søknad), - ByteArray(0), - vedleggMap, - ByteArray(0), - ) + val vedleggMap = + mapOf( + "123" to DBVedlegg(dokumentId = "123", søknadId = 0, data = ByteArray(0)), + ) + val arkiverDokumentRequest = + ArkiverDokumentRequestMapper.toDto( + dbSøknad, + SøknadV8(søknad), + ByteArray(0), + vedleggMap, + ByteArray(0), + ) assertEquals("12345678910", arkiverDokumentRequest.fnr) assertEquals(false, arkiverDokumentRequest.forsøkFerdigstill) assertEquals(2, arkiverDokumentRequest.hoveddokumentvarianter.size) assertEquals( true, arkiverDokumentRequest.hoveddokumentvarianter.all { - it.filtype in listOf( - Filtype.PDFA, - Filtype.JSON, - ) && it.dokumenttype == Dokumenttype.BARNETRYGD_ORDINÆR + it.filtype in + listOf( + Filtype.PDFA, + Filtype.JSON, + ) && it.dokumenttype == Dokumenttype.BARNETRYGD_ORDINÆR }, ) assertEquals(1, arkiverDokumentRequest.vedleggsdokumenter.size) diff --git "a/src/test/kotlin/no/nav/familie/baks/mottak/s\303\270knad/EksternReferanseIdTest.kt" "b/src/test/kotlin/no/nav/familie/baks/mottak/s\303\270knad/EksternReferanseIdTest.kt" index 9e405914e..fedf55018 100644 --- "a/src/test/kotlin/no/nav/familie/baks/mottak/s\303\270knad/EksternReferanseIdTest.kt" +++ "b/src/test/kotlin/no/nav/familie/baks/mottak/s\303\270knad/EksternReferanseIdTest.kt" @@ -28,7 +28,6 @@ class EksternReferanseIdTest( @Autowired val journalførSøknadTask: JournalførSøknadTask, ) { - val søknad = SøknadTestData.søknadV8() val dbSøknad = søknad.tilDBSøknad() diff --git "a/src/test/kotlin/no/nav/familie/baks/mottak/s\303\270knad/Journalf\303\270ringTest.kt" "b/src/test/kotlin/no/nav/familie/baks/mottak/s\303\270knad/Journalf\303\270ringTest.kt" index 7d42e5f19..0b51c8b9c 100644 --- "a/src/test/kotlin/no/nav/familie/baks/mottak/s\303\270knad/Journalf\303\270ringTest.kt" +++ "b/src/test/kotlin/no/nav/familie/baks/mottak/s\303\270knad/Journalf\303\270ringTest.kt" @@ -31,7 +31,6 @@ class JournalføringTest( @Autowired val kontantstøtteSøknadService: KontantstøtteSøknadService, ) { - val søknad = SøknadTestData.søknadV8() val dbSøknad = søknad.tilDBSøknad() val kontantstøtteSøknad = KontantstøtteSøknadTestData.kontantstøtteSøknad() @@ -40,13 +39,14 @@ class JournalføringTest( @Test fun `arkiverSøknad returnerer riktig journalpostId for barnetrygdsøknad`() { - val arkiverDokumentRequest = ArkiverDokumentRequestMapper.toDto( - dbSøknad = dbSøknad, - versjonertSøknad = dbSøknad.hentVersjonertSøknad(), - pdf = testPDF, - vedleggMap = emptyMap(), - pdfOriginalSpråk = ByteArray(0), - ) + val arkiverDokumentRequest = + ArkiverDokumentRequestMapper.toDto( + dbSøknad = dbSøknad, + versjonertSøknad = dbSøknad.hentVersjonertSøknad(), + pdf = testPDF, + vedleggMap = emptyMap(), + pdfOriginalSpråk = ByteArray(0), + ) val journalPostId = journalføringService.arkiverSøknad(arkiverDokumentRequest) assertEquals("123", journalPostId) @@ -54,13 +54,14 @@ class JournalføringTest( @Test fun `arkiverSøknad returnerer riktig journalpostId for kontantstøttesøknad`() { - val arkiverDokumentRequest = ArkiverDokumentRequestMapper.toDto( - dbKontantstøtteSøknad = dbKontantstøtteSøknad, - versjonertSøknad = dbKontantstøtteSøknad.hentVersjonertKontantstøtteSøknad(), - pdf = testPDF, - vedleggMap = emptyMap(), - pdfOriginalSpråk = ByteArray(0), - ) + val arkiverDokumentRequest = + ArkiverDokumentRequestMapper.toDto( + dbKontantstøtteSøknad = dbKontantstøtteSøknad, + versjonertSøknad = dbKontantstøtteSøknad.hentVersjonertKontantstøtteSøknad(), + pdf = testPDF, + vedleggMap = emptyMap(), + pdfOriginalSpråk = ByteArray(0), + ) val journalPostId = journalføringService.arkiverSøknad(arkiverDokumentRequest) assertEquals("123", journalPostId) diff --git "a/src/test/kotlin/no/nav/familie/baks/mottak/s\303\270knad/PdfServiceTest.kt" "b/src/test/kotlin/no/nav/familie/baks/mottak/s\303\270knad/PdfServiceTest.kt" index 9718c69a2..afe6d6d7c 100644 --- "a/src/test/kotlin/no/nav/familie/baks/mottak/s\303\270knad/PdfServiceTest.kt" +++ "b/src/test/kotlin/no/nav/familie/baks/mottak/s\303\270knad/PdfServiceTest.kt" @@ -19,7 +19,6 @@ import no.nav.familie.kontrakter.ba.søknad.v8.Søknad as SøknadKontraktV8 @TestInstance(TestInstance.Lifecycle.PER_CLASS) internal class PdfServiceTest { - private val mockPdfClient: PdfClient = mockk() private val søknadSpråkvelgerService: SøknadSpråkvelgerService = SøknadSpråkvelgerService() @@ -34,8 +33,9 @@ internal class PdfServiceTest { mapper.registerKotlinModule() mapper.registerModule(JavaTimeModule()) - val jsonString: String = File("./src/test/kotlin/no/nav/familie/baks/mottak/søknad/testdata/testdata1.json") - .readText(Charsets.UTF_8) + val jsonString: String = + File("./src/test/kotlin/no/nav/familie/baks/mottak/søknad/testdata/testdata1.json") + .readText(Charsets.UTF_8) val søknad: SøknadKontraktV8 = mapper.readValue(jsonString) val dbSøknad: DBSøknad = søknad.tilDBSøknad() pdfService.lagBarnetrygdPdf(SøknadV8(søknad = søknad), dbSøknad, språk = "nb") diff --git "a/src/test/kotlin/no/nav/familie/baks/mottak/s\303\270knad/S\303\270knadSpr\303\245kvelgerServiceTest.kt" "b/src/test/kotlin/no/nav/familie/baks/mottak/s\303\270knad/S\303\270knadSpr\303\245kvelgerServiceTest.kt" index 22cbb4ecc..7ab75835b 100644 --- "a/src/test/kotlin/no/nav/familie/baks/mottak/s\303\270knad/S\303\270knadSpr\303\245kvelgerServiceTest.kt" +++ "b/src/test/kotlin/no/nav/familie/baks/mottak/s\303\270knad/S\303\270knadSpr\303\245kvelgerServiceTest.kt" @@ -17,7 +17,6 @@ import kotlin.test.assertEquals @ExtendWith(MockKExtension::class) class SøknadSpråkvelgerServiceTest { - private val søknadSpråkvelgerService: SøknadSpråkvelgerService = SøknadSpråkvelgerService() @Test @@ -25,29 +24,35 @@ class SøknadSpråkvelgerServiceTest { val kontantstøtteSøknad: KontantstøtteSøknad = mockk() val barn: Barn = mockk() val dokumentasjon: Søknaddokumentasjon = mockk() - val tekstPåSpråk = mapOf( - "nb" to "Norge", - "nn" to "Noreg", - "en" to "Norway", - ) - val teksterTilPdf = mapOf( - "testApiNavn" to TekstPåSpråkMap( - tekstPåSpråk, - ), - ) + val tekstPåSpråk = + mapOf( + "nb" to "Norge", + "nn" to "Noreg", + "en" to "Norway", + ) + val teksterTilPdf = + mapOf( + "testApiNavn" to + TekstPåSpråkMap( + tekstPåSpråk, + ), + ) every { barn.teksterTilPdf } returns teksterTilPdf - every { kontantstøtteSøknad.barn } returns listOf( - barn, - ) + every { kontantstøtteSøknad.barn } returns + listOf( + barn, + ) every { kontantstøtteSøknad.teksterTilPdf } returns teksterTilPdf - every { kontantstøtteSøknad.erBarnAdoptert } returns Søknadsfelt( - label = tekstPåSpråk, - verdi = tekstPåSpråk, - ) + every { kontantstøtteSøknad.erBarnAdoptert } returns + Søknadsfelt( + label = tekstPåSpråk, + verdi = tekstPåSpråk, + ) every { dokumentasjon.dokumentasjonSpråkTittel } returns TekstPåSpråkMap(tekstPåSpråk) - every { kontantstøtteSøknad.dokumentasjon } returns listOf( - dokumentasjon, - ) + every { kontantstøtteSøknad.dokumentasjon } returns + listOf( + dokumentasjon, + ) val versjonertKontantstøtteSøknad = KontantstøtteSøknadV4(kontantstøtteSøknad = kontantstøtteSøknad) diff --git "a/src/test/kotlin/no/nav/familie/baks/mottak/s\303\270knad/S\303\270knadTest.kt" "b/src/test/kotlin/no/nav/familie/baks/mottak/s\303\270knad/S\303\270knadTest.kt" index c5f3547b7..afb7ae07a 100644 --- "a/src/test/kotlin/no/nav/familie/baks/mottak/s\303\270knad/S\303\270knadTest.kt" +++ "b/src/test/kotlin/no/nav/familie/baks/mottak/s\303\270knad/S\303\270knadTest.kt" @@ -27,7 +27,6 @@ import kotlin.test.assertEquals class SøknadTest( @Autowired val barnetrygdSøknadService: BarnetrygdSøknadService, ) { - val søknadV8 = SøknadTestData.søknadV8() @Test @@ -44,13 +43,14 @@ class SøknadTest( @Test fun `Få riktig versjon v8 ved mapping fra DBSøknad`() { val dbSøknadFraMapper = søknadV8.tilDBSøknad() - val versjon: Int? = when (val versjonertSøknad = dbSøknadFraMapper.hentVersjonertSøknad()) { - is SøknadV7 -> versjonertSøknad.søknad.kontraktVersjon - is SøknadV8 -> versjonertSøknad.søknad.kontraktVersjon - else -> { - null + val versjon: Int? = + when (val versjonertSøknad = dbSøknadFraMapper.hentVersjonertSøknad()) { + is SøknadV7 -> versjonertSøknad.søknad.kontraktVersjon + is SøknadV8 -> versjonertSøknad.søknad.kontraktVersjon + else -> { + null + } } - } assertEquals(søknadV8.kontraktVersjon, versjon) val dbSøknadFraDB = barnetrygdSøknadService.lagreDBSøknad(dbSøknadFraMapper) @@ -62,11 +62,12 @@ class SøknadTest( @Test fun `Version detection ved henting av søknad fra database`() { val lagraV8SøknadData = objectMapper.writeValueAsString(SøknadTestData.søknadV8()) - val v8dbSøknad = DBSøknad( - id = 2L, - søknadJson = lagraV8SøknadData, - fnr = "1234123412", - ) + val v8dbSøknad = + DBSøknad( + id = 2L, + søknadJson = lagraV8SøknadData, + fnr = "1234123412", + ) assertThat(v8dbSøknad.hentVersjonertSøknad() is SøknadV8).isTrue } } diff --git "a/src/test/kotlin/no/nav/familie/baks/mottak/s\303\270knad/S\303\270knadTestData.kt" "b/src/test/kotlin/no/nav/familie/baks/mottak/s\303\270knad/S\303\270knadTestData.kt" index 5ce42d7aa..759d12b8b 100644 --- "a/src/test/kotlin/no/nav/familie/baks/mottak/s\303\270knad/S\303\270knadTestData.kt" +++ "b/src/test/kotlin/no/nav/familie/baks/mottak/s\303\270knad/S\303\270knadTestData.kt" @@ -12,12 +12,14 @@ import no.nav.familie.kontrakter.ba.søknad.v8.Barn as BarnV8 import no.nav.familie.kontrakter.ba.søknad.v8.Søker as SøkerV8 import no.nav.familie.kontrakter.ba.søknad.v8.Søknad as SøknadV8 -fun søknadsfelt(label: String, verdi: T): SøknadsfeltV4 { +fun søknadsfelt( + label: String, + verdi: T, +): SøknadsfeltV4 { return SøknadsfeltV4(label = mapOf("nb" to label), verdi = mapOf("nb" to verdi)) } object SøknadTestData { - private fun søkerV8(): SøkerV8 { return SøkerV8( harEøsSteg = true, @@ -25,17 +27,18 @@ object SøknadTestData { ident = søknadsfelt("fødselsnummer", "1234578901"), statsborgerskap = søknadsfelt("statsborgerskap", listOf("NOR")), adressebeskyttelse = false, - adresse = søknadsfelt( - "adresse", - SøknadAdresse( - adressenavn = null, - postnummer = null, - husbokstav = null, - bruksenhetsnummer = null, - husnummer = null, - poststed = null, + adresse = + søknadsfelt( + "adresse", + SøknadAdresse( + adressenavn = null, + postnummer = null, + husbokstav = null, + bruksenhetsnummer = null, + husnummer = null, + poststed = null, + ), ), - ), sivilstand = søknadsfelt("sivilstand", SIVILSTANDTYPE.GIFT), spørsmål = mapOf(), nåværendeSamboer = null, @@ -79,28 +82,31 @@ object SøknadTestData { ) } - fun søknadV8(): SøknadV8 = SøknadV8( - antallEøsSteg = 3, - kontraktVersjon = 8, - søknadstype = Søknadstype.ORDINÆR, - søker = søkerV8(), - barn = barnV8(), - spørsmål = mapOf(), - dokumentasjon = listOf( - Søknaddokumentasjon( - dokumentasjonsbehov = Dokumentasjonsbehov.ANNEN_DOKUMENTASJON, - harSendtInn = false, - opplastedeVedlegg = listOf( - Søknadsvedlegg( - dokumentId = "en-slags-uuid", - navn = "IMG 1337.png", - tittel = Dokumentasjonsbehov.ANNEN_DOKUMENTASJON, + fun søknadV8(): SøknadV8 = + SøknadV8( + antallEøsSteg = 3, + kontraktVersjon = 8, + søknadstype = Søknadstype.ORDINÆR, + søker = søkerV8(), + barn = barnV8(), + spørsmål = mapOf(), + dokumentasjon = + listOf( + Søknaddokumentasjon( + dokumentasjonsbehov = Dokumentasjonsbehov.ANNEN_DOKUMENTASJON, + harSendtInn = false, + opplastedeVedlegg = + listOf( + Søknadsvedlegg( + dokumentId = "en-slags-uuid", + navn = "IMG 1337.png", + tittel = Dokumentasjonsbehov.ANNEN_DOKUMENTASJON, + ), + ), + dokumentasjonSpråkTittel = mapOf("nb" to "Bekreftelse fra barnevernet"), ), ), - dokumentasjonSpråkTittel = mapOf("nb" to "Bekreftelse fra barnevernet"), - ), - ), - originalSpråk = "nb", - teksterUtenomSpørsmål = mapOf(), - ) + originalSpråk = "nb", + teksterUtenomSpørsmål = mapOf(), + ) } diff --git "a/src/test/kotlin/no/nav/familie/baks/mottak/s\303\270knad/S\303\270knadsfeltSpr\303\245kTest.kt" "b/src/test/kotlin/no/nav/familie/baks/mottak/s\303\270knad/S\303\270knadsfeltSpr\303\245kTest.kt" index b07f3a697..228c807c1 100644 --- "a/src/test/kotlin/no/nav/familie/baks/mottak/s\303\270knad/S\303\270knadsfeltSpr\303\245kTest.kt" +++ "b/src/test/kotlin/no/nav/familie/baks/mottak/s\303\270knad/S\303\270knadsfeltSpr\303\245kTest.kt" @@ -32,18 +32,22 @@ class SøknadsfeltSpråkTest( fun `Kan velge språk for søknadsfelter`() { val søknad: Søknad = mockk() every { søknad.originalSpråk } returns "nb" - every { søknad.spørsmål } returns mapOf( - "testSpørsmål" to Søknadsfelt( - label = mapOf( - "nb" to "TestSpørsmål", - "en" to "TestQuestion", - ), - verdi = mapOf( - "nb" to "TestSvar", - "en" to "TestAnswer", - ), - ), - ) + every { søknad.spørsmål } returns + mapOf( + "testSpørsmål" to + Søknadsfelt( + label = + mapOf( + "nb" to "TestSpørsmål", + "en" to "TestQuestion", + ), + verdi = + mapOf( + "nb" to "TestSvar", + "en" to "TestAnswer", + ), + ), + ) every { søknad.teksterUtenomSpørsmål } returns mapOf() var barnetrygdSøknadMap = søknadSpråkvelgerService.konverterBarnetrygdSøknadTilMapForSpråk(SøknadV8(søknad = søknad), "en") @@ -59,18 +63,22 @@ class SøknadsfeltSpråkTest( fun `Påvirker ikke global objectmapping`() { val søknad: Søknad = mockk() every { søknad.originalSpråk } returns "nb" - every { søknad.spørsmål } returns mapOf( - "testSpørsmål" to Søknadsfelt( - label = mapOf( - "nb" to "TestSpørsmål", - "en" to "TestQuestion", - ), - verdi = mapOf( - "nb" to "TestSvar", - "en" to "TestAnswer", - ), - ), - ) + every { søknad.spørsmål } returns + mapOf( + "testSpørsmål" to + Søknadsfelt( + label = + mapOf( + "nb" to "TestSpørsmål", + "en" to "TestQuestion", + ), + verdi = + mapOf( + "nb" to "TestSvar", + "en" to "TestAnswer", + ), + ), + ) val asJson = objectMapper.writeValueAsString(søknad) assertNotEquals(-1, asJson.indexOf("TestSpørsmål")) @@ -83,36 +91,46 @@ class SøknadsfeltSpråkTest( fun `Håndterer nested SøknadsFelter korrekt`() { val søknad: Søknad = mockk() every { søknad.originalSpråk } returns "nb" - every { søknad.spørsmål } returns mapOf( - "testSpørsmål" to Søknadsfelt( - label = mapOf( - "nb" to "TestSpørsmål", - "en" to "TestQuestion", - ), - verdi = mapOf( - "nb" to Søknadsfelt( - label = mapOf( - "nb" to "TestNøstetLabel", - "en" to "TestNestedLabel", - ), - verdi = mapOf( - "nb" to "TestNøstetVerdi", - "en" to "TestNestedValue", - ), + every { søknad.spørsmål } returns + mapOf( + "testSpørsmål" to + Søknadsfelt( + label = + mapOf( + "nb" to "TestSpørsmål", + "en" to "TestQuestion", + ), + verdi = + mapOf( + "nb" to + Søknadsfelt( + label = + mapOf( + "nb" to "TestNøstetLabel", + "en" to "TestNestedLabel", + ), + verdi = + mapOf( + "nb" to "TestNøstetVerdi", + "en" to "TestNestedValue", + ), + ), + "en" to + Søknadsfelt( + label = + mapOf( + "nb" to "TestNøstetLabel", + "en" to "TestNestedLabel", + ), + verdi = + mapOf( + "nb" to "TestNøstetVerdi", + "en" to "TestNestedValue", + ), + ), + ), ), - "en" to Søknadsfelt( - label = mapOf( - "nb" to "TestNøstetLabel", - "en" to "TestNestedLabel", - ), - verdi = mapOf( - "nb" to "TestNøstetVerdi", - "en" to "TestNestedValue", - ), - ), - ), - ), - ) + ) every { søknad.teksterUtenomSpørsmål } returns mapOf() val barnetrygdSøknadMap = søknadSpråkvelgerService.konverterBarnetrygdSøknadTilMapForSpråk(SøknadV8(søknad = søknad), "nb") @@ -124,12 +142,14 @@ class SøknadsfeltSpråkTest( fun `Håndterer språkvalg for ekstratekster`() { val søknad: Søknad = mockk() every { søknad.originalSpråk } returns "nb" - every { søknad.teksterUtenomSpørsmål } returns mapOf( - "test.tekst" to mapOf( - "nb" to "TestTekst", - "en" to "TestText", - ), - ) + every { søknad.teksterUtenomSpørsmål } returns + mapOf( + "test.tekst" to + mapOf( + "nb" to "TestTekst", + "en" to "TestText", + ), + ) val barnetrygdSøknadMap = søknadSpråkvelgerService.konverterBarnetrygdSøknadTilMapForSpråk(SøknadV8(søknad = søknad), "nb") val barnetrygdSøknadJsonNode = objectMapper.valueToTree(barnetrygdSøknadMap) diff --git "a/src/test/kotlin/no/nav/familie/baks/mottak/s\303\270knad/kontantst\303\270tte/Kontantst\303\270tteS\303\270knadTestData.kt" "b/src/test/kotlin/no/nav/familie/baks/mottak/s\303\270knad/kontantst\303\270tte/Kontantst\303\270tteS\303\270knadTestData.kt" index 5fd2ac503..50ccfd334 100644 --- "a/src/test/kotlin/no/nav/familie/baks/mottak/s\303\270knad/kontantst\303\270tte/Kontantst\303\270tteS\303\270knadTestData.kt" +++ "b/src/test/kotlin/no/nav/familie/baks/mottak/s\303\270knad/kontantst\303\270tte/Kontantst\303\270tteS\303\270knadTestData.kt" @@ -5,55 +5,60 @@ import no.nav.familie.kontrakter.ks.søknad.v1.Søknadsfelt import no.nav.familie.kontrakter.ks.søknad.v4.KontantstøtteSøknad import no.nav.familie.kontrakter.ks.søknad.v4.Søker -fun søknadsfelt(label: String, verdi: T): Søknadsfelt { +fun søknadsfelt( + label: String, + verdi: T, +): Søknadsfelt { return Søknadsfelt(label = mapOf("nb" to label), verdi = mapOf("nb" to verdi)) } object KontantstøtteSøknadTestData { - fun kontantstøtteSøknad(): KontantstøtteSøknad = KontantstøtteSøknad( - kontraktVersjon = 0, - antallEøsSteg = 2, - søker = lagSøker(), - barn = emptyList(), - dokumentasjon = emptyList(), - teksterTilPdf = emptyMap(), - originalSpråk = "nb", - erNoenAvBarnaFosterbarn = søknadsfelt("Noen fosterbarn", "NEI"), - søktAsylForBarn = søknadsfelt("Søkt asyl for barn", "NEI"), - oppholderBarnSegIInstitusjon = søknadsfelt("Barn i institusjon", "NEI"), - barnOppholdtSegTolvMndSammenhengendeINorge = søknadsfelt("Sammenhengende i Norge i 12 mnd", "JA"), - erBarnAdoptert = søknadsfelt("Er barn adoptert", "NEI"), - mottarKontantstøtteForBarnFraAnnetEøsland = søknadsfelt("Kontantstøtte annet land", "NEI"), - harEllerTildeltBarnehageplass = søknadsfelt("Har barnehageplass", "NEI"), - erAvdødPartnerForelder = null, - ) + fun kontantstøtteSøknad(): KontantstøtteSøknad = + KontantstøtteSøknad( + kontraktVersjon = 0, + antallEøsSteg = 2, + søker = lagSøker(), + barn = emptyList(), + dokumentasjon = emptyList(), + teksterTilPdf = emptyMap(), + originalSpråk = "nb", + erNoenAvBarnaFosterbarn = søknadsfelt("Noen fosterbarn", "NEI"), + søktAsylForBarn = søknadsfelt("Søkt asyl for barn", "NEI"), + oppholderBarnSegIInstitusjon = søknadsfelt("Barn i institusjon", "NEI"), + barnOppholdtSegTolvMndSammenhengendeINorge = søknadsfelt("Sammenhengende i Norge i 12 mnd", "JA"), + erBarnAdoptert = søknadsfelt("Er barn adoptert", "NEI"), + mottarKontantstøtteForBarnFraAnnetEøsland = søknadsfelt("Kontantstøtte annet land", "NEI"), + harEllerTildeltBarnehageplass = søknadsfelt("Har barnehageplass", "NEI"), + erAvdødPartnerForelder = null, + ) - private fun lagSøker(): Søker = Søker( - harEøsSteg = false, - ident = søknadsfelt("Fødselsnummer", "12345678910"), - navn = søknadsfelt("Navn", "Ola Norman"), - statsborgerskap = søknadsfelt("Statsborgerskap", listOf("Norge")), - adresse = søknadsfelt("Adresse", null), - adressebeskyttelse = false, - sivilstand = søknadsfelt("Sivilstand", SIVILSTANDTYPE.SEPARERT), - borPåRegistrertAdresse = søknadsfelt("Bor på registrert adresse", "JA"), - værtINorgeITolvMåneder = søknadsfelt("Norge 12 mnd", "JA"), - utenlandsoppholdUtenArbeid = søknadsfelt("Opphold i utlandet uten arbeid", "JA"), - utenlandsperioder = emptyList(), - planleggerÅBoINorgeTolvMnd = søknadsfelt("Planlegger å bo i Norge i 12 mnd", "JA"), - yrkesaktivFemÅr = søknadsfelt("Yrkesaktiv 5 år", "JA"), - erAsylsøker = søknadsfelt("Er asylsøker", "NEI"), - arbeidIUtlandet = søknadsfelt("Arbeid i utlandet", "NEI"), - mottarUtenlandspensjon = søknadsfelt("Mottar pensjon fra utlandet", "NEI"), - arbeidsperioderUtland = emptyList(), - pensjonsperioderUtland = emptyList(), - arbeidINorge = søknadsfelt("Arbeid i Norge", "JA"), - arbeidsperioderNorge = emptyList(), - pensjonNorge = søknadsfelt("Pensjon i Norge", "NEI"), - pensjonsperioderNorge = emptyList(), - andreUtbetalingsperioder = emptyList(), - idNummer = emptyList(), - andreUtbetalinger = søknadsfelt("Andre utbetalinger", "NEI"), - adresseISøkeperiode = søknadsfelt("Adresse i søknadsperiode", "Testgate 123"), - ) + private fun lagSøker(): Søker = + Søker( + harEøsSteg = false, + ident = søknadsfelt("Fødselsnummer", "12345678910"), + navn = søknadsfelt("Navn", "Ola Norman"), + statsborgerskap = søknadsfelt("Statsborgerskap", listOf("Norge")), + adresse = søknadsfelt("Adresse", null), + adressebeskyttelse = false, + sivilstand = søknadsfelt("Sivilstand", SIVILSTANDTYPE.SEPARERT), + borPåRegistrertAdresse = søknadsfelt("Bor på registrert adresse", "JA"), + værtINorgeITolvMåneder = søknadsfelt("Norge 12 mnd", "JA"), + utenlandsoppholdUtenArbeid = søknadsfelt("Opphold i utlandet uten arbeid", "JA"), + utenlandsperioder = emptyList(), + planleggerÅBoINorgeTolvMnd = søknadsfelt("Planlegger å bo i Norge i 12 mnd", "JA"), + yrkesaktivFemÅr = søknadsfelt("Yrkesaktiv 5 år", "JA"), + erAsylsøker = søknadsfelt("Er asylsøker", "NEI"), + arbeidIUtlandet = søknadsfelt("Arbeid i utlandet", "NEI"), + mottarUtenlandspensjon = søknadsfelt("Mottar pensjon fra utlandet", "NEI"), + arbeidsperioderUtland = emptyList(), + pensjonsperioderUtland = emptyList(), + arbeidINorge = søknadsfelt("Arbeid i Norge", "JA"), + arbeidsperioderNorge = emptyList(), + pensjonNorge = søknadsfelt("Pensjon i Norge", "NEI"), + pensjonsperioderNorge = emptyList(), + andreUtbetalingsperioder = emptyList(), + idNummer = emptyList(), + andreUtbetalinger = søknadsfelt("Andre utbetalinger", "NEI"), + adresseISøkeperiode = søknadsfelt("Adresse i søknadsperiode", "Testgate 123"), + ) } diff --git "a/src/test/kotlin/no/nav/familie/baks/mottak/task/JournalhendelseKontantst\303\270tteRutingTaskTest.kt" "b/src/test/kotlin/no/nav/familie/baks/mottak/task/JournalhendelseKontantst\303\270tteRutingTaskTest.kt" index 7fd478e7f..5fbec58a7 100644 --- "a/src/test/kotlin/no/nav/familie/baks/mottak/task/JournalhendelseKontantst\303\270tteRutingTaskTest.kt" +++ "b/src/test/kotlin/no/nav/familie/baks/mottak/task/JournalhendelseKontantst\303\270tteRutingTaskTest.kt" @@ -23,51 +23,46 @@ import org.junit.jupiter.api.Test import org.junit.jupiter.api.extension.ExtendWith import org.springframework.core.env.Environment import java.time.YearMonth -import java.util.* +import java.util.Properties import kotlin.test.assertEquals @ExtendWith(MockKExtension::class) class JournalhendelseKontantstøtteRutingTaskTest { + @MockK private lateinit var pdlClient: PdlClient - @MockK - private lateinit var pdlClient: PdlClient + @MockK private lateinit var infotrygdKontantstøtteClient: InfotrygdKontantstøtteClient - @MockK - private lateinit var infotrygdKontantstøtteClient: InfotrygdKontantstøtteClient + @MockK private lateinit var taskService: TaskService - @MockK - private lateinit var taskService: TaskService + @MockK private lateinit var environment: Environment - @MockK - private lateinit var environment: Environment - - @InjectMockKs - private lateinit var journalhendelseKontantstøtteRutingTask: JournalhendelseKontantstøtteRutingTask + @InjectMockKs private lateinit var journalhendelseKontantstøtteRutingTask: JournalhendelseKontantstøtteRutingTask val søkerFnr = "12345678910" val barn1Fnr = "11223344556" val barn2Fnr = "11223344557" - @Test - fun `doTask - skal opprette OpprettJournalføringOppgaveTask med informasjon om at det finnes løpende sak i Infotrygd når et eller flere av barna har løpende sak i Infotrygd`() { + @Test fun `doTask - skal opprette OpprettJournalføringOppgaveTask med informasjon om at det finnes løpende sak i Infotrygd når et eller flere av barna har løpende sak i Infotrygd`() { val taskSlot = slot() setupPDLMocks() every { environment.getActiveProfiles() } returns arrayOf("dev") every { infotrygdKontantstøtteClient.harKontantstøtteIInfotrygd(any()) } returns true - every { infotrygdKontantstøtteClient.hentPerioderMedKontantstøtteIInfotrygd(any()) } returns InnsynResponse( - data = listOf( - StonadDto( - fnr = Foedselsnummer(søkerFnr), - YearMonth.now().minusMonths(5), - YearMonth.now().plusMonths(1), - belop = 1000, + every { infotrygdKontantstøtteClient.hentPerioderMedKontantstøtteIInfotrygd(any()) } returns + InnsynResponse( + data = listOf( - BarnDto(Foedselsnummer(barn1Fnr)), - BarnDto(Foedselsnummer(barn2Fnr)), + StonadDto( + fnr = Foedselsnummer(søkerFnr), + YearMonth.now().minusMonths(5), + YearMonth.now().plusMonths(1), + belop = 1000, + listOf( + BarnDto(Foedselsnummer(barn1Fnr)), + BarnDto(Foedselsnummer(barn2Fnr)), + ), + ), ), - ), - ), - ) + ) every { taskService.save(capture(taskSlot)) } returns mockk() journalhendelseKontantstøtteRutingTask.doTask( @@ -81,26 +76,27 @@ class JournalhendelseKontantstøtteRutingTaskTest { assertEquals("Et eller flere av barna har løpende sak i Infotrygd", taskSlot.captured.payload) } - @Test - fun `doTask - skal opprette OpprettJournalføringOppgaveTask med tom sakssystem-markering når et eller flere av barna har sak i Infotrygd men ingen løpende`() { + @Test fun `doTask - skal opprette OpprettJournalføringOppgaveTask med tom sakssystem-markering når et eller flere av barna har sak i Infotrygd men ingen løpende`() { val taskSlot = slot() setupPDLMocks() every { environment.getActiveProfiles() } returns arrayOf("dev") every { infotrygdKontantstøtteClient.harKontantstøtteIInfotrygd(any()) } returns true - every { infotrygdKontantstøtteClient.hentPerioderMedKontantstøtteIInfotrygd(any()) } returns InnsynResponse( - data = listOf( - StonadDto( - fnr = Foedselsnummer(søkerFnr), - YearMonth.now().minusMonths(8), - YearMonth.now().minusMonths(1), - belop = 1000, + every { infotrygdKontantstøtteClient.hentPerioderMedKontantstøtteIInfotrygd(any()) } returns + InnsynResponse( + data = listOf( - BarnDto(Foedselsnummer(barn1Fnr)), - BarnDto(Foedselsnummer(barn2Fnr)), + StonadDto( + fnr = Foedselsnummer(søkerFnr), + YearMonth.now().minusMonths(8), + YearMonth.now().minusMonths(1), + belop = 1000, + listOf( + BarnDto(Foedselsnummer(barn1Fnr)), + BarnDto(Foedselsnummer(barn2Fnr)), + ), + ), ), - ), - ), - ) + ) every { taskService.save(capture(taskSlot)) } returns mockk() journalhendelseKontantstøtteRutingTask.doTask( @@ -114,8 +110,7 @@ class JournalhendelseKontantstøtteRutingTaskTest { assertEquals("", taskSlot.captured.payload) } - @Test - fun `doTask - skal opprette OpprettJournalføringOppgaveTask med tom sakssystem-markering når ingen av barna har sak i Infotrygd`() { + @Test fun `doTask - skal opprette OpprettJournalføringOppgaveTask med tom sakssystem-markering når ingen av barna har sak i Infotrygd`() { val taskSlot = slot() setupPDLMocks() every { environment.getActiveProfiles() } returns arrayOf("dev") @@ -135,26 +130,30 @@ class JournalhendelseKontantstøtteRutingTaskTest { } private fun setupPDLMocks() { - every { pdlClient.hentPersonMedRelasjoner(any(), any()) } returns Person( - navn = "Ola Norman", - forelderBarnRelasjoner = setOf( - ForelderBarnRelasjon(barn1Fnr, FORELDERBARNRELASJONROLLE.BARN), - ForelderBarnRelasjon(barn2Fnr, FORELDERBARNRELASJONROLLE.BARN), - ), - ) - every { pdlClient.hentIdenter(barn1Fnr, any()) } returns listOf( - IdentInformasjon( - ident = barn1Fnr, - gruppe = IdentGruppe.FOLKEREGISTERIDENT.name, - historisk = false, - ), - ) - every { pdlClient.hentIdenter(barn2Fnr, any()) } returns listOf( - IdentInformasjon( - ident = barn2Fnr, - gruppe = IdentGruppe.FOLKEREGISTERIDENT.name, - historisk = false, - ), - ) + every { pdlClient.hentPersonMedRelasjoner(any(), any()) } returns + Person( + navn = "Ola Norman", + forelderBarnRelasjoner = + setOf( + ForelderBarnRelasjon(barn1Fnr, FORELDERBARNRELASJONROLLE.BARN), + ForelderBarnRelasjon(barn2Fnr, FORELDERBARNRELASJONROLLE.BARN), + ), + ) + every { pdlClient.hentIdenter(barn1Fnr, any()) } returns + listOf( + IdentInformasjon( + ident = barn1Fnr, + gruppe = IdentGruppe.FOLKEREGISTERIDENT.name, + historisk = false, + ), + ) + every { pdlClient.hentIdenter(barn2Fnr, any()) } returns + listOf( + IdentInformasjon( + ident = barn2Fnr, + gruppe = IdentGruppe.FOLKEREGISTERIDENT.name, + historisk = false, + ), + ) } } diff --git "a/src/test/kotlin/no/nav/familie/baks/mottak/task/MottaAnnullerF\303\270dselTaskTest.kt" "b/src/test/kotlin/no/nav/familie/baks/mottak/task/MottaAnnullerF\303\270dselTaskTest.kt" index 246b08f13..f333a2868 100644 --- "a/src/test/kotlin/no/nav/familie/baks/mottak/task/MottaAnnullerF\303\270dselTaskTest.kt" +++ "b/src/test/kotlin/no/nav/familie/baks/mottak/task/MottaAnnullerF\303\270dselTaskTest.kt" @@ -20,27 +20,30 @@ import org.slf4j.MDC @TestInstance(TestInstance.Lifecycle.PER_CLASS) class MottaAnnullerFødselTaskTest { - @Test fun `Skal endre status av Task med riktig type`() { val taskService = mockk() val restTaskService = mockk() MDC.put(MDCConstants.MDC_CALL_ID, "ooo") - val journalførSøknadTask = Task(type = JournalførSøknadTask.JOURNALFØR_SØKNAD, payload = "").copy( - id = 0, - ) - val sendTilSakTask = Task(type = SendTilSakTask.TASK_STEP_TYPE, payload = "").copy( - id = 1, - ) - val mottaFødselshendelseTask = Task(type = MottaFødselshendelseTask.TASK_STEP_TYPE, payload = "").copy( - id = 2, - ) - every { taskService.finnTasksMedStatus(any(), any(), any()) } returns listOf( - journalførSøknadTask, - sendTilSakTask, - mottaFødselshendelseTask, - ) + val journalførSøknadTask = + Task(type = JournalførSøknadTask.JOURNALFØR_SØKNAD, payload = "").copy( + id = 0, + ) + val sendTilSakTask = + Task(type = SendTilSakTask.TASK_STEP_TYPE, payload = "").copy( + id = 1, + ) + val mottaFødselshendelseTask = + Task(type = MottaFødselshendelseTask.TASK_STEP_TYPE, payload = "").copy( + id = 2, + ) + every { taskService.finnTasksMedStatus(any(), any(), any()) } returns + listOf( + journalførSøknadTask, + sendTilSakTask, + mottaFødselshendelseTask, + ) every { taskService.findById(eq(0)) } returns journalførSøknadTask every { taskService.findById(eq(1)) } returns sendTilSakTask every { taskService.findById(eq(2)) } returns mottaFødselshendelseTask @@ -65,18 +68,21 @@ class MottaAnnullerFødselTaskTest { val restTaskService = mockk() MDC.put(MDCConstants.MDC_CALL_ID, "xxx") - val task0 = Task(type = SendTilSakTask.TASK_STEP_TYPE, payload = "").copy( - id = 0, - ) + val task0 = + Task(type = SendTilSakTask.TASK_STEP_TYPE, payload = "").copy( + id = 0, + ) MDC.put(MDCConstants.MDC_CALL_ID, "ooo") - val task1 = Task(type = SendTilSakTask.TASK_STEP_TYPE, payload = "").copy( - id = 1, - ) + val task1 = + Task(type = SendTilSakTask.TASK_STEP_TYPE, payload = "").copy( + id = 1, + ) - every { taskService.finnTasksMedStatus(any(), any(), any()) } returns listOf( - task0, - task1, - ) + every { taskService.finnTasksMedStatus(any(), any(), any()) } returns + listOf( + task0, + task1, + ) every { taskService.findById(eq(0)) } returns task0 every { taskService.findById(eq(1)) } returns task1 diff --git "a/src/test/kotlin/no/nav/familie/baks/mottak/task/MottaF\303\270dselshendelseTaskTest.kt" "b/src/test/kotlin/no/nav/familie/baks/mottak/task/MottaF\303\270dselshendelseTaskTest.kt" index 2ecfe19b2..ca29ce94e 100644 --- "a/src/test/kotlin/no/nav/familie/baks/mottak/task/MottaF\303\270dselshendelseTaskTest.kt" +++ "b/src/test/kotlin/no/nav/familie/baks/mottak/task/MottaF\303\270dselshendelseTaskTest.kt" @@ -51,7 +51,6 @@ import java.util.UUID @AutoConfigureWireMock(port = 28085) @TestInstance(TestInstance.Lifecycle.PER_CLASS) class MottaFødselshendelseTaskTest { - @Autowired lateinit var taskService: TaskService @@ -71,17 +70,19 @@ class MottaFødselshendelseTaskTest { mockResponseForPdlQuery( pdlRequestBody = gyldigRequest("hentperson-med-relasjoner.graphql", fnrBarn), - mockResponse = PdlHentPersonResponse( - data = PdlPerson(lagTestPdlPerson()), - errors = emptyList(), - extensions = null, - ), + mockResponse = + PdlHentPersonResponse( + data = PdlPerson(lagTestPdlPerson()), + errors = emptyList(), + extensions = null, + ), ) mottaFødselshendelseTask.doTask(Task(type = MottaFødselshendelseTask.TASK_STEP_TYPE, payload = fnrBarn)) - val taskerMedCallId = taskService.finnTasksMedStatus(listOf(Status.UBEHANDLET), null, Pageable.unpaged()) - .filter { it.callId == MDC.get(MDCConstants.MDC_CALL_ID) } + val taskerMedCallId = + taskService.finnTasksMedStatus(listOf(Status.UBEHANDLET), null, Pageable.unpaged()) + .filter { it.callId == MDC.get(MDCConstants.MDC_CALL_ID) } assertThat(taskerMedCallId).hasSize(1).extracting("type").containsOnly(SendTilSakTask.TASK_STEP_TYPE) assertThat(objectMapper.readValue(taskerMedCallId.first().payload, NyBehandling::class.java)) @@ -96,26 +97,30 @@ class MottaFødselshendelseTaskTest { mockResponseForPdlQuery( pdlRequestBody = gyldigRequest("hentperson-med-relasjoner.graphql", fnrBarn), - mockResponse = PdlHentPersonResponse( - data = PdlPerson( - lagTestPdlPerson().copy( - bostedsadresse = emptyList(), - adressebeskyttelse = listOf( - Adressebeskyttelse( - Adressebeskyttelsesgradering.STRENGT_FORTROLIG, + mockResponse = + PdlHentPersonResponse( + data = + PdlPerson( + lagTestPdlPerson().copy( + bostedsadresse = emptyList(), + adressebeskyttelse = + listOf( + Adressebeskyttelse( + Adressebeskyttelsesgradering.STRENGT_FORTROLIG, + ), + ), ), ), - ), + errors = emptyList(), + extensions = null, ), - errors = emptyList(), - extensions = null, - ), ) mottaFødselshendelseTask.doTask(Task(type = MottaFødselshendelseTask.TASK_STEP_TYPE, fnrBarn)) - val taskerMedCallId = taskService.finnTasksMedStatus(listOf(Status.UBEHANDLET), null, Pageable.unpaged()) - .filter { it.callId == MDC.get(MDCConstants.MDC_CALL_ID) } + val taskerMedCallId = + taskService.finnTasksMedStatus(listOf(Status.UBEHANDLET), null, Pageable.unpaged()) + .filter { it.callId == MDC.get(MDCConstants.MDC_CALL_ID) } assertThat(taskerMedCallId).hasSize(1).extracting("type").containsOnly(SendTilSakTask.TASK_STEP_TYPE) assertThat(objectMapper.readValue(taskerMedCallId.first().payload, NyBehandling::class.java)) @@ -131,8 +136,9 @@ class MottaFødselshendelseTaskTest { mottaFødselshendelseTask.doTask(task) - val taskerMedCallId = taskService.finnTasksMedStatus(listOf(Status.UBEHANDLET), null, Pageable.unpaged()) - .filter { it.callId == MDC.get(MDCConstants.MDC_CALL_ID) } + val taskerMedCallId = + taskService.finnTasksMedStatus(listOf(Status.UBEHANDLET), null, Pageable.unpaged()) + .filter { it.callId == MDC.get(MDCConstants.MDC_CALL_ID) } assertThat(taskerMedCallId).isEmpty() assertThat(mottaFødselshendelseTask.barnHarDnrCounter.count()).isGreaterThan(barnHarDnrCountFørTest) @@ -146,28 +152,32 @@ class MottaFødselshendelseTaskTest { mockResponseForPdlQuery( pdlRequestBody = gyldigRequest("hentperson-med-relasjoner.graphql", fnrBarn), - mockResponse = PdlHentPersonResponse( - data = PdlPerson( - lagTestPdlPerson().copy( - forelderBarnRelasjon = listOf( - PdlForeldreBarnRelasjon( - "40107678901", - FORELDERBARNRELASJONROLLE.MOR, + mockResponse = + PdlHentPersonResponse( + data = + PdlPerson( + lagTestPdlPerson().copy( + forelderBarnRelasjon = + listOf( + PdlForeldreBarnRelasjon( + "40107678901", + FORELDERBARNRELASJONROLLE.MOR, + ), + ), ), ), - ), + errors = emptyList(), + extensions = null, ), - errors = emptyList(), - extensions = null, - ), ) val task = Task(type = MottaFødselshendelseTask.TASK_STEP_TYPE, payload = fnrBarn) mottaFødselshendelseTask.doTask(task) - val taskerMedCallId = taskService.finnTasksMedStatus(listOf(Status.UBEHANDLET), null, Pageable.unpaged()) - .filter { it.callId == MDC.get(MDCConstants.MDC_CALL_ID) } + val taskerMedCallId = + taskService.finnTasksMedStatus(listOf(Status.UBEHANDLET), null, Pageable.unpaged()) + .filter { it.callId == MDC.get(MDCConstants.MDC_CALL_ID) } assertThat(taskerMedCallId).isEmpty() assertThat(mottaFødselshendelseTask.forsørgerHarDnrCounter.count()).isGreaterThan(forsørgerHarDnrCountFørTest) @@ -180,29 +190,32 @@ class MottaFødselshendelseTaskTest { mockResponseForPdlQuery( pdlRequestBody = gyldigRequest("hentperson-med-relasjoner.graphql", fnrBarn), - mockResponse = PdlHentPersonResponse( - data = PdlPerson( - lagTestPdlPerson().copy( - forelderBarnRelasjon = - listOf( - PdlForeldreBarnRelasjon( - "20107678901", - FORELDERBARNRELASJONROLLE.FAR, + mockResponse = + PdlHentPersonResponse( + data = + PdlPerson( + lagTestPdlPerson().copy( + forelderBarnRelasjon = + listOf( + PdlForeldreBarnRelasjon( + "20107678901", + FORELDERBARNRELASJONROLLE.FAR, + ), + ), ), ), - ), + errors = emptyList(), + extensions = null, ), - errors = emptyList(), - extensions = null, - ), ) val task = Task(type = MottaFødselshendelseTask.TASK_STEP_TYPE, payload = fnrBarn) mottaFødselshendelseTask.doTask(task) - val taskerMedCallId = taskService.finnTasksMedStatus(listOf(Status.UBEHANDLET), null, Pageable.unpaged()) - .filter { it.callId == MDC.get(MDCConstants.MDC_CALL_ID) } + val taskerMedCallId = + taskService.finnTasksMedStatus(listOf(Status.UBEHANDLET), null, Pageable.unpaged()) + .filter { it.callId == MDC.get(MDCConstants.MDC_CALL_ID) } assertThat(taskerMedCallId).isEmpty() } @@ -215,19 +228,21 @@ class MottaFødselshendelseTaskTest { mockResponseForPdlQuery( pdlRequestBody = gyldigRequest("hentperson-med-relasjoner.graphql", fnrBarn), - mockResponse = PdlHentPersonResponse( - data = PdlPerson(lagTestPdlPerson().copy(bostedsadresse = emptyList())), - errors = emptyList(), - extensions = null, - ), + mockResponse = + PdlHentPersonResponse( + data = PdlPerson(lagTestPdlPerson().copy(bostedsadresse = emptyList())), + errors = emptyList(), + extensions = null, + ), ) val task = Task(type = MottaFødselshendelseTask.TASK_STEP_TYPE, payload = fnrBarn) mottaFødselshendelseTask.doTask(task) - val taskerMedCallId = taskService.finnTasksMedStatus(listOf(Status.UBEHANDLET), null, Pageable.unpaged()) - .filter { it.callId == MDC.get(MDCConstants.MDC_CALL_ID) } + val taskerMedCallId = + taskService.finnTasksMedStatus(listOf(Status.UBEHANDLET), null, Pageable.unpaged()) + .filter { it.callId == MDC.get(MDCConstants.MDC_CALL_ID) } assertThat(taskerMedCallId).isEmpty() assertThat(mottaFødselshendelseTask.barnetManglerBostedsadresse.count()).isGreaterThan(barnetManglerBostedsadresseCountFørTest) @@ -239,20 +254,23 @@ class MottaFødselshendelseTaskTest { mockResponseForPdlQuery( pdlRequestBody = gyldigRequest("hentperson-med-relasjoner.graphql", "02091901252"), - mockResponse = PdlHentPersonResponse( - data = PdlPerson( - lagTestPdlPerson().copy( - forelderBarnRelasjon = listOf( - PdlForeldreBarnRelasjon( - "40107678901", - FORELDERBARNRELASJONROLLE.MOR, + mockResponse = + PdlHentPersonResponse( + data = + PdlPerson( + lagTestPdlPerson().copy( + forelderBarnRelasjon = + listOf( + PdlForeldreBarnRelasjon( + "40107678901", + FORELDERBARNRELASJONROLLE.MOR, + ), + ), ), ), - ), + errors = listOf(PdlError("Feilmelding", null)), + extensions = null, ), - errors = listOf(PdlError("Feilmelding", null)), - extensions = null, - ), ) val task = Task(type = MottaFødselshendelseTask.TASK_STEP_TYPE, payload = "02091901252") @@ -263,19 +281,22 @@ class MottaFødselshendelseTaskTest { private fun lagTestPdlPerson(): PdlPersonData { return PdlPersonData( - forelderBarnRelasjon = listOf( - PdlForeldreBarnRelasjon( - "20107678901", - FORELDERBARNRELASJONROLLE.MOR, + forelderBarnRelasjon = + listOf( + PdlForeldreBarnRelasjon( + "20107678901", + FORELDERBARNRELASJONROLLE.MOR, + ), ), - ), bostedsadresse = listOf(Bostedsadresse(matrikkeladresse = Matrikkeladresse(1, "1", null, "0576", "3000"))), ) } companion object { - - private fun mockResponseForPdlQuery(pdlRequestBody: String, mockResponse: PdlHentPersonResponse) { + private fun mockResponseForPdlQuery( + pdlRequestBody: String, + mockResponse: PdlHentPersonResponse, + ) { stubFor( post(urlEqualTo("/api/graphql")) .withRequestBody(WireMock.equalToJson(pdlRequestBody)) @@ -287,7 +308,10 @@ class MottaFødselshendelseTaskTest { ) } - private fun gyldigRequest(queryFilnavn: String, ident: String): String { + private fun gyldigRequest( + queryFilnavn: String, + ident: String, + ): String { return "{\"variables\":{\"ident\":\"$ident\"},\"query\":\"${readfile(queryFilnavn).graphqlCompatible()}\"}" } diff --git "a/src/test/kotlin/no/nav/familie/baks/mottak/task/NavnoHendelseTaskL\303\270ypeTest.kt" "b/src/test/kotlin/no/nav/familie/baks/mottak/task/NavnoHendelseTaskL\303\270ypeTest.kt" index ccf0f5c47..5aadf1ccd 100644 --- "a/src/test/kotlin/no/nav/familie/baks/mottak/task/NavnoHendelseTaskL\303\270ypeTest.kt" +++ "b/src/test/kotlin/no/nav/familie/baks/mottak/task/NavnoHendelseTaskL\303\270ypeTest.kt" @@ -33,7 +33,6 @@ import no.nav.familie.kontrakter.ba.infotrygd.Stønad as StønadDto @TestInstance(TestInstance.Lifecycle.PER_CLASS) class NavnoHendelseTaskLøypeTest { - private val mockJournalpostClient: JournalpostClient = mockk() private val mockSakClient: SakClient = mockk() private val mockOppgaveClient: OppgaveClient = mockk(relaxed = true) @@ -41,17 +40,19 @@ class NavnoHendelseTaskLøypeTest { private val mockPdlClient: PdlClient = mockk(relaxed = true) private val mockInfotrygdBarnetrygdClient: InfotrygdBarnetrygdClient = mockk() - private val rutingSteg = JournalhendelseRutingTask( - mockPdlClient, - mockSakClient, - mockInfotrygdBarnetrygdClient, - mockTaskService, - ) + private val rutingSteg = + JournalhendelseRutingTask( + mockPdlClient, + mockSakClient, + mockInfotrygdBarnetrygdClient, + mockTaskService, + ) - private val journalføringSteg = OpprettJournalføringOppgaveTask( - mockJournalpostClient, - mockOppgaveClient, - ) + private val journalføringSteg = + OpprettJournalføringOppgaveTask( + mockJournalpostClient, + mockOppgaveClient, + ) @BeforeEach internal fun setUp() { @@ -59,18 +60,19 @@ class NavnoHendelseTaskLøypeTest { // Inngående digital, Mottatt every { mockJournalpostClient.hentJournalpost(any()) - } returns Journalpost( - journalpostId = JOURNALPOST_ID, - journalposttype = Journalposttype.I, - journalstatus = Journalstatus.MOTTATT, - bruker = Bruker("123456789012", BrukerIdType.AKTOERID), - tema = "BAR", - kanal = MOTTAK_KANAL, - behandlingstema = null, - dokumenter = null, - journalforendeEnhet = null, - sak = null, - ) + } returns + Journalpost( + journalpostId = JOURNALPOST_ID, + journalposttype = Journalposttype.I, + journalstatus = Journalstatus.MOTTATT, + bruker = Bruker("123456789012", BrukerIdType.AKTOERID), + tema = "BAR", + kanal = MOTTAK_KANAL, + behandlingstema = null, + dokumenter = null, + journalforendeEnhet = null, + sak = null, + ) every { mockTaskService.save(any()) @@ -176,16 +178,17 @@ class NavnoHendelseTaskLøypeTest { every { mockInfotrygdBarnetrygdClient.hentSaker(any(), any()) - } returns InfotrygdSøkResponse( - listOf( - SakDto( - status = StatusKode.FB.name, - vedtaksdato = LocalDate.now(), - stønad = StønadDto(opphørsgrunn = MIGRERT.kode), + } returns + InfotrygdSøkResponse( + listOf( + SakDto( + status = StatusKode.FB.name, + vedtaksdato = LocalDate.now(), + stønad = StønadDto(opphørsgrunn = MIGRERT.kode), + ), ), - ), - emptyList(), - ) + emptyList(), + ) kjørRutingTaskOgReturnerNesteTask().run { journalføringSteg.doTask(this) } @@ -208,12 +211,13 @@ class NavnoHendelseTaskLøypeTest { }, ) - val nesteTask = slot().let { nyTask -> - verify(atMost = 1) { - mockTaskService.save(capture(nyTask)) + val nesteTask = + slot().let { nyTask -> + verify(atMost = 1) { + mockTaskService.save(capture(nyTask)) + } + nyTask.captured } - nyTask.captured - } return nesteTask } diff --git a/src/test/kotlin/no/nav/familie/baks/mottak/task/OpprettBehandleSakOppgaveTaskTest.kt b/src/test/kotlin/no/nav/familie/baks/mottak/task/OpprettBehandleSakOppgaveTaskTest.kt index f47f77e4a..435f1aef1 100644 --- a/src/test/kotlin/no/nav/familie/baks/mottak/task/OpprettBehandleSakOppgaveTaskTest.kt +++ b/src/test/kotlin/no/nav/familie/baks/mottak/task/OpprettBehandleSakOppgaveTaskTest.kt @@ -26,7 +26,6 @@ import org.junit.jupiter.api.TestInstance @TestInstance(TestInstance.Lifecycle.PER_CLASS) class OpprettBehandleSakOppgaveTaskTest { - private val mockJournalpostClient: JournalpostClient = mockk() private val mockOppgaveClient: OppgaveClient = mockk() private val mockTaskService: TaskService = mockk(relaxed = true) @@ -113,23 +112,25 @@ class OpprettBehandleSakOppgaveTaskTest { assertThat(task.metadata["oppgaveId"]).isEqualTo("321") } - private fun lagTestJournalpost(status: Journalstatus) = Journalpost( - journalpostId = JournalføringHendelseServiceTest.JOURNALPOST_PAPIRSØKNAD, - journalposttype = Journalposttype.I, - journalstatus = status, - bruker = Bruker("123456789012", BrukerIdType.AKTOERID), - tema = "BAR", - kanal = "NAV_NO", - behandlingstema = null, - dokumenter = listOf( - DokumentInfo( - "Tittel", - "", - Dokumentstatus.FERDIGSTILT, - emptyList(), - ), - ), - journalforendeEnhet = null, - sak = null, - ) + private fun lagTestJournalpost(status: Journalstatus) = + Journalpost( + journalpostId = JournalføringHendelseServiceTest.JOURNALPOST_PAPIRSØKNAD, + journalposttype = Journalposttype.I, + journalstatus = status, + bruker = Bruker("123456789012", BrukerIdType.AKTOERID), + tema = "BAR", + kanal = "NAV_NO", + behandlingstema = null, + dokumenter = + listOf( + DokumentInfo( + "Tittel", + "", + Dokumentstatus.FERDIGSTILT, + emptyList(), + ), + ), + journalforendeEnhet = null, + sak = null, + ) } diff --git "a/src/test/kotlin/no/nav/familie/baks/mottak/task/SkanHendelseTaskL\303\270ypeTest.kt" "b/src/test/kotlin/no/nav/familie/baks/mottak/task/SkanHendelseTaskL\303\270ypeTest.kt" index 4999d30d4..ad7ed6000 100644 --- "a/src/test/kotlin/no/nav/familie/baks/mottak/task/SkanHendelseTaskL\303\270ypeTest.kt" +++ "b/src/test/kotlin/no/nav/familie/baks/mottak/task/SkanHendelseTaskL\303\270ypeTest.kt" @@ -33,7 +33,6 @@ import no.nav.familie.kontrakter.ba.infotrygd.Stønad as StønadDto @TestInstance(TestInstance.Lifecycle.PER_CLASS) class SkanHendelseTaskLøypeTest { - private val mockJournalpostClient: JournalpostClient = mockk() private val mockOppgaveClient: OppgaveClient = mockk() private val mockSakClient: SakClient = mockk() @@ -41,17 +40,19 @@ class SkanHendelseTaskLøypeTest { private val mockPdlClient: PdlClient = mockk(relaxed = true) private val mockInfotrygdBarnetrygdClient: InfotrygdBarnetrygdClient = mockk() - private val rutingSteg = JournalhendelseRutingTask( - mockPdlClient, - mockSakClient, - mockInfotrygdBarnetrygdClient, - mockTaskService, - ) + private val rutingSteg = + JournalhendelseRutingTask( + mockPdlClient, + mockSakClient, + mockInfotrygdBarnetrygdClient, + mockTaskService, + ) - private val journalføringSteg = OpprettJournalføringOppgaveTask( - mockJournalpostClient, - mockOppgaveClient, - ) + private val journalføringSteg = + OpprettJournalføringOppgaveTask( + mockJournalpostClient, + mockOppgaveClient, + ) @BeforeEach internal fun setUp() { @@ -59,18 +60,19 @@ class SkanHendelseTaskLøypeTest { // Inngående papirsøknad, Mottatt every { mockJournalpostClient.hentJournalpost(any()) - } returns Journalpost( - journalpostId = JournalføringHendelseServiceTest.JOURNALPOST_PAPIRSØKNAD, - journalposttype = Journalposttype.I, - journalstatus = Journalstatus.MOTTATT, - bruker = Bruker("123456789012", BrukerIdType.AKTOERID), - tema = "BAR", - kanal = MOTTAK_KANAL, - behandlingstema = null, - dokumenter = null, - journalforendeEnhet = null, - sak = null, - ) + } returns + Journalpost( + journalpostId = JournalføringHendelseServiceTest.JOURNALPOST_PAPIRSØKNAD, + journalposttype = Journalposttype.I, + journalstatus = Journalstatus.MOTTATT, + bruker = Bruker("123456789012", BrukerIdType.AKTOERID), + tema = "BAR", + kanal = MOTTAK_KANAL, + behandlingstema = null, + dokumenter = null, + journalforendeEnhet = null, + sak = null, + ) every { mockOppgaveClient.finnOppgaver(any(), any()) @@ -206,17 +208,17 @@ class SkanHendelseTaskLøypeTest { }, ) - val nesteTask = slot().let { nyTask -> - verify(exactly = 1) { - mockTaskService.save(capture(nyTask)) + val nesteTask = + slot().let { nyTask -> + verify(exactly = 1) { + mockTaskService.save(capture(nyTask)) + } + nyTask.captured } - nyTask.captured - } return nesteTask } companion object { - private val MOTTAK_KANAL = "SKAN_NETS" } } diff --git a/src/test/kotlin/no/nav/familie/baks/mottak/task/VurderLivshendelseTaskTest.kt b/src/test/kotlin/no/nav/familie/baks/mottak/task/VurderLivshendelseTaskTest.kt index c5ec68422..63faee668 100644 --- a/src/test/kotlin/no/nav/familie/baks/mottak/task/VurderLivshendelseTaskTest.kt +++ b/src/test/kotlin/no/nav/familie/baks/mottak/task/VurderLivshendelseTaskTest.kt @@ -49,7 +49,6 @@ import java.time.YearMonth @TestInstance(TestInstance.Lifecycle.PER_CLASS) class VurderLivshendelseTaskTest { - private val mockOppgaveClient: OppgaveClient = mockk() private val mockSakClient: SakClient = mockk() private val mockPdlClient: PdlClient = mockk(relaxed = true) @@ -98,32 +97,35 @@ class VurderLivshendelseTaskTest { any(), any(), ) - } returns PdlPersonData( - forelderBarnRelasjon = listOf( - PdlForeldreBarnRelasjon( - minRolleForPerson = FORELDERBARNRELASJONROLLE.BARN, - relatertPersonsIdent = PERSONIDENT_MOR, - relatertPersonsRolle = FORELDERBARNRELASJONROLLE.MOR, - ), - PdlForeldreBarnRelasjon( - minRolleForPerson = FORELDERBARNRELASJONROLLE.BARN, - relatertPersonsIdent = PERSONIDENT_FAR, - relatertPersonsRolle = FORELDERBARNRELASJONROLLE.FAR, - ), - ), - dødsfall = listOf(Dødsfall(dødsdato = LocalDate.now())), - fødsel = listOf(Fødsel(LocalDate.of(1980, 8, 3))), - ) + } returns + PdlPersonData( + forelderBarnRelasjon = + listOf( + PdlForeldreBarnRelasjon( + minRolleForPerson = FORELDERBARNRELASJONROLLE.BARN, + relatertPersonsIdent = PERSONIDENT_MOR, + relatertPersonsRolle = FORELDERBARNRELASJONROLLE.MOR, + ), + PdlForeldreBarnRelasjon( + minRolleForPerson = FORELDERBARNRELASJONROLLE.BARN, + relatertPersonsIdent = PERSONIDENT_FAR, + relatertPersonsRolle = FORELDERBARNRELASJONROLLE.FAR, + ), + ), + dødsfall = listOf(Dødsfall(dødsdato = LocalDate.now())), + fødsel = listOf(Fødsel(LocalDate.of(1980, 8, 3))), + ) vurderLivshendelseTask.doTask( Task( type = VurderLivshendelseTask.TASK_STEP_TYPE, - payload = objectMapper.writeValueAsString( - VurderLivshendelseTaskDTO( - PERSONIDENT_BARN, - livshendelseType, + payload = + objectMapper.writeValueAsString( + VurderLivshendelseTaskDTO( + PERSONIDENT_BARN, + livshendelseType, + ), ), - ), ), ) @@ -144,9 +146,10 @@ class VurderLivshendelseTaskTest { listOf(RestFagsakIdOgTilknyttetAktørId(PERSONIDENT_MOR + "00", SAKS_ID)) } else -> { - every { mockSakClient.hentFagsakerHvorPersonErSøkerEllerMottarOrdinærBarnetrygd(any()) } returns listOf( - RestFagsakIdOgTilknyttetAktørId(PERSONIDENT_MOR + "00", SAKS_ID), - ) + every { mockSakClient.hentFagsakerHvorPersonErSøkerEllerMottarOrdinærBarnetrygd(any()) } returns + listOf( + RestFagsakIdOgTilknyttetAktørId(PERSONIDENT_MOR + "00", SAKS_ID), + ) } } @@ -156,34 +159,38 @@ class VurderLivshendelseTaskTest { any(), any(), ) - } returns PdlPersonData( - forelderBarnRelasjon = listOf( - PdlForeldreBarnRelasjon( - minRolleForPerson = FORELDERBARNRELASJONROLLE.MOR, - relatertPersonsIdent = PERSONIDENT_BARN, - relatertPersonsRolle = FORELDERBARNRELASJONROLLE.BARN, - ), - ), - dødsfall = listOf(Dødsfall(dødsdato = LocalDate.now())), - sivilstand = listOf( - Sivilstand( - type = GIFT, - gyldigFraOgMed = LocalDate.now(), - ), - ), - ) + } returns + PdlPersonData( + forelderBarnRelasjon = + listOf( + PdlForeldreBarnRelasjon( + minRolleForPerson = FORELDERBARNRELASJONROLLE.MOR, + relatertPersonsIdent = PERSONIDENT_BARN, + relatertPersonsRolle = FORELDERBARNRELASJONROLLE.BARN, + ), + ), + dødsfall = listOf(Dødsfall(dødsdato = LocalDate.now())), + sivilstand = + listOf( + Sivilstand( + type = GIFT, + gyldigFraOgMed = LocalDate.now(), + ), + ), + ) every { mockSakClient.hentRestFagsak(SAKS_ID) } returns lagAktivUtvidet() vurderLivshendelseTask.doTask( Task( type = VurderLivshendelseTask.TASK_STEP_TYPE, - payload = objectMapper.writeValueAsString( - VurderLivshendelseTaskDTO( - PERSONIDENT_MOR, - livshendelseType, + payload = + objectMapper.writeValueAsString( + VurderLivshendelseTaskDTO( + PERSONIDENT_MOR, + livshendelseType, + ), ), - ), ), ) @@ -210,9 +217,10 @@ class VurderLivshendelseTaskTest { names = ["UTFLYTTING", "DØDSFALL"], ) fun `Livshendelser på barnet som har sak i ba-sak`(livshendelseType: VurderLivshendelseType) { - every { mockSakClient.hentFagsakerHvorPersonErSøkerEllerMottarOrdinærBarnetrygd(any()) } returns listOf( - RestFagsakIdOgTilknyttetAktørId(PERSONIDENT_MOR + "00", SAKS_ID), - ) + every { mockSakClient.hentFagsakerHvorPersonErSøkerEllerMottarOrdinærBarnetrygd(any()) } returns + listOf( + RestFagsakIdOgTilknyttetAktørId(PERSONIDENT_MOR + "00", SAKS_ID), + ) every { mockPdlClient.hentPerson( @@ -220,34 +228,38 @@ class VurderLivshendelseTaskTest { any(), any(), ) - } returns PdlPersonData( - forelderBarnRelasjon = listOf( - PdlForeldreBarnRelasjon( - minRolleForPerson = FORELDERBARNRELASJONROLLE.MOR, - relatertPersonsIdent = PERSONIDENT_BARN, - relatertPersonsRolle = FORELDERBARNRELASJONROLLE.BARN, - ), - ), - dødsfall = listOf(Dødsfall(dødsdato = LocalDate.now())), - sivilstand = listOf( - Sivilstand( - type = GIFT, - gyldigFraOgMed = LocalDate.now(), - ), - ), - ) + } returns + PdlPersonData( + forelderBarnRelasjon = + listOf( + PdlForeldreBarnRelasjon( + minRolleForPerson = FORELDERBARNRELASJONROLLE.MOR, + relatertPersonsIdent = PERSONIDENT_BARN, + relatertPersonsRolle = FORELDERBARNRELASJONROLLE.BARN, + ), + ), + dødsfall = listOf(Dødsfall(dødsdato = LocalDate.now())), + sivilstand = + listOf( + Sivilstand( + type = GIFT, + gyldigFraOgMed = LocalDate.now(), + ), + ), + ) every { mockSakClient.hentRestFagsak(SAKS_ID) } returns lagAktivUtvidet() vurderLivshendelseTask.doTask( Task( type = VurderLivshendelseTask.TASK_STEP_TYPE, - payload = objectMapper.writeValueAsString( - VurderLivshendelseTaskDTO( - PERSONIDENT_BARN, - livshendelseType, + payload = + objectMapper.writeValueAsString( + VurderLivshendelseTaskDTO( + PERSONIDENT_BARN, + livshendelseType, + ), ), - ), ), ) @@ -275,31 +287,34 @@ class VurderLivshendelseTaskTest { any(), any(), ) - } returns PdlPersonData( - sivilstand = listOf( - Sivilstand(type = GIFT), - Sivilstand( - type = GIFT, - gyldigFraOgMed = LocalDate.now().minusYears(10), - ), - Sivilstand( - type = GIFT, - bekreftelsesdato = LocalDate.now(), - ), - ), - ) + } returns + PdlPersonData( + sivilstand = + listOf( + Sivilstand(type = GIFT), + Sivilstand( + type = GIFT, + gyldigFraOgMed = LocalDate.now().minusYears(10), + ), + Sivilstand( + type = GIFT, + bekreftelsesdato = LocalDate.now(), + ), + ), + ) every { mockSakClient.hentRestFagsak(SAKS_ID) } returns lagAktivUtvidet() vurderLivshendelseTask.doTask( Task( type = VurderLivshendelseTask.TASK_STEP_TYPE, - payload = objectMapper.writeValueAsString( - VurderLivshendelseTaskDTO( - PERSONIDENT_MOR, - SIVILSTAND, + payload = + objectMapper.writeValueAsString( + VurderLivshendelseTaskDTO( + PERSONIDENT_MOR, + SIVILSTAND, + ), ), - ), ), ) @@ -334,12 +349,13 @@ class VurderLivshendelseTaskTest { vurderLivshendelseTask.doTask( Task( type = VurderLivshendelseTask.TASK_STEP_TYPE, - payload = objectMapper.writeValueAsString( - VurderLivshendelseTaskDTO( - PERSONIDENT_MOR, - SIVILSTAND, + payload = + objectMapper.writeValueAsString( + VurderLivshendelseTaskDTO( + PERSONIDENT_MOR, + SIVILSTAND, + ), ), - ), ), ) } @@ -355,32 +371,36 @@ class VurderLivshendelseTaskTest { @Test fun `Skal sett riktig beskrivelsestekster når oppdater dødsfall oppgave`() { - every { mockSakClient.hentFagsakerHvorPersonErSøkerEllerMottarOrdinærBarnetrygd(any()) } returns listOf( - RestFagsakIdOgTilknyttetAktørId(PERSONIDENT_MOR + "00", SAKS_ID), - ) + every { mockSakClient.hentFagsakerHvorPersonErSøkerEllerMottarOrdinærBarnetrygd(any()) } returns + listOf( + RestFagsakIdOgTilknyttetAktørId(PERSONIDENT_MOR + "00", SAKS_ID), + ) every { mockSakClient.hentRestFagsak(SAKS_ID) } returns lagAktivUtvidet() val oppgavebeskrivelseSlot = slot() - every { mockOppgaveClient.oppdaterOppgaveBeskrivelse(any(), capture(oppgavebeskrivelseSlot)) } returns OppgaveResponse( - oppgaveId = 1, - ) + every { mockOppgaveClient.oppdaterOppgaveBeskrivelse(any(), capture(oppgavebeskrivelseSlot)) } returns + OppgaveResponse( + oppgaveId = 1, + ) setupPdlMockForDødsfallshendelse(true, false, false) vurderLivshendelseTask.doTask( Task( type = VurderLivshendelseTask.TASK_STEP_TYPE, - payload = objectMapper.writeValueAsString( - VurderLivshendelseTaskDTO( - PERSONIDENT_MOR, - DØDSFALL, + payload = + objectMapper.writeValueAsString( + VurderLivshendelseTaskDTO( + PERSONIDENT_MOR, + DØDSFALL, + ), ), - ), ), ) - every { mockOppgaveClient.finnOppgaverPåAktørId(any(), any()) } returns listOf( - Oppgave(beskrivelse = DØDSFALL.beskrivelse + ": bruker"), - ) + every { mockOppgaveClient.finnOppgaverPåAktørId(any(), any()) } returns + listOf( + Oppgave(beskrivelse = DØDSFALL.beskrivelse + ": bruker"), + ) every { mockSakClient.hentRestFagsakDeltagerListe(PERSONIDENT_MOR, listOf(PERSONIDENT_BARN)) } returns listOf( @@ -392,20 +412,22 @@ class VurderLivshendelseTaskTest { vurderLivshendelseTask.doTask( Task( type = VurderLivshendelseTask.TASK_STEP_TYPE, - payload = objectMapper.writeValueAsString( - VurderLivshendelseTaskDTO( - PERSONIDENT_BARN, - DØDSFALL, + payload = + objectMapper.writeValueAsString( + VurderLivshendelseTaskDTO( + PERSONIDENT_BARN, + DØDSFALL, + ), ), - ), ), ) assertThat(oppgavebeskrivelseSlot.captured).isEqualTo(DØDSFALL.beskrivelse + ": bruker og barn $PERSONIDENT_BARN") - every { mockOppgaveClient.finnOppgaverPåAktørId(any(), any()) } returns listOf( - Oppgave(beskrivelse = DØDSFALL.beskrivelse + ": bruker og barn $PERSONIDENT_BARN"), - ) + every { mockOppgaveClient.finnOppgaverPåAktørId(any(), any()) } returns + listOf( + Oppgave(beskrivelse = DØDSFALL.beskrivelse + ": bruker og barn $PERSONIDENT_BARN"), + ) every { mockSakClient.hentRestFagsakDeltagerListe(PERSONIDENT_MOR, listOf(PERSONIDENT_BARN2)) } returns listOf( @@ -417,42 +439,48 @@ class VurderLivshendelseTaskTest { vurderLivshendelseTask.doTask( Task( type = VurderLivshendelseTask.TASK_STEP_TYPE, - payload = objectMapper.writeValueAsString( - VurderLivshendelseTaskDTO( - PERSONIDENT_BARN2, - DØDSFALL, + payload = + objectMapper.writeValueAsString( + VurderLivshendelseTaskDTO( + PERSONIDENT_BARN2, + DØDSFALL, + ), ), - ), ), ) assertThat(oppgavebeskrivelseSlot.captured).isEqualTo(DØDSFALL.beskrivelse + ": bruker og 2 barn $PERSONIDENT_BARN $PERSONIDENT_BARN2") } - private fun setupPdlMockForDødsfallshendelse(morDød: Boolean, barn1Død: Boolean, barn2Død: Boolean) { + private fun setupPdlMockForDødsfallshendelse( + morDød: Boolean, + barn1Død: Boolean, + barn2Død: Boolean, + ) { every { mockPdlClient.hentPerson( PERSONIDENT_MOR, any(), any(), ) - } returns PdlPersonData( - forelderBarnRelasjon = listOf( - PdlForeldreBarnRelasjon( - minRolleForPerson = FORELDERBARNRELASJONROLLE.MOR, - relatertPersonsIdent = PERSONIDENT_BARN, - relatertPersonsRolle = FORELDERBARNRELASJONROLLE.BARN, - ), - PdlForeldreBarnRelasjon( - minRolleForPerson = FORELDERBARNRELASJONROLLE.MOR, - relatertPersonsIdent = PERSONIDENT_BARN2, - relatertPersonsRolle = FORELDERBARNRELASJONROLLE.BARN, - ), - - ), - dødsfall = if (morDød) listOf(Dødsfall(dødsdato = LocalDate.now())) else emptyList(), - fødsel = listOf(Fødsel(LocalDate.now().minusYears(22))), - ) + } returns + PdlPersonData( + forelderBarnRelasjon = + listOf( + PdlForeldreBarnRelasjon( + minRolleForPerson = FORELDERBARNRELASJONROLLE.MOR, + relatertPersonsIdent = PERSONIDENT_BARN, + relatertPersonsRolle = FORELDERBARNRELASJONROLLE.BARN, + ), + PdlForeldreBarnRelasjon( + minRolleForPerson = FORELDERBARNRELASJONROLLE.MOR, + relatertPersonsIdent = PERSONIDENT_BARN2, + relatertPersonsRolle = FORELDERBARNRELASJONROLLE.BARN, + ), + ), + dødsfall = if (morDød) listOf(Dødsfall(dødsdato = LocalDate.now())) else emptyList(), + fødsel = listOf(Fødsel(LocalDate.now().minusYears(22))), + ) every { mockPdlClient.hentPerson( @@ -460,17 +488,19 @@ class VurderLivshendelseTaskTest { any(), any(), ) - } returns PdlPersonData( - forelderBarnRelasjon = listOf( - PdlForeldreBarnRelasjon( - minRolleForPerson = FORELDERBARNRELASJONROLLE.BARN, - relatertPersonsIdent = PERSONIDENT_MOR, - relatertPersonsRolle = FORELDERBARNRELASJONROLLE.MOR, - ), - ), - dødsfall = if (barn1Død) listOf(Dødsfall(dødsdato = LocalDate.now())) else emptyList(), - fødsel = listOf(Fødsel(LocalDate.now().minusYears(3))), - ) + } returns + PdlPersonData( + forelderBarnRelasjon = + listOf( + PdlForeldreBarnRelasjon( + minRolleForPerson = FORELDERBARNRELASJONROLLE.BARN, + relatertPersonsIdent = PERSONIDENT_MOR, + relatertPersonsRolle = FORELDERBARNRELASJONROLLE.MOR, + ), + ), + dødsfall = if (barn1Død) listOf(Dødsfall(dødsdato = LocalDate.now())) else emptyList(), + fødsel = listOf(Fødsel(LocalDate.now().minusYears(3))), + ) every { mockPdlClient.hentPerson( @@ -478,46 +508,50 @@ class VurderLivshendelseTaskTest { any(), any(), ) - } returns PdlPersonData( - forelderBarnRelasjon = listOf( - PdlForeldreBarnRelasjon( - minRolleForPerson = FORELDERBARNRELASJONROLLE.BARN, - relatertPersonsIdent = PERSONIDENT_MOR, - relatertPersonsRolle = FORELDERBARNRELASJONROLLE.MOR, - ), - ), - dødsfall = if (barn2Død) listOf(Dødsfall(dødsdato = LocalDate.now())) else emptyList(), - fødsel = listOf(Fødsel(LocalDate.now().minusYears(3))), - ) + } returns + PdlPersonData( + forelderBarnRelasjon = + listOf( + PdlForeldreBarnRelasjon( + minRolleForPerson = FORELDERBARNRELASJONROLLE.BARN, + relatertPersonsIdent = PERSONIDENT_MOR, + relatertPersonsRolle = FORELDERBARNRELASJONROLLE.MOR, + ), + ), + dødsfall = if (barn2Død) listOf(Dødsfall(dødsdato = LocalDate.now())) else emptyList(), + fødsel = listOf(Fødsel(LocalDate.now().minusYears(3))), + ) } - private fun lagAktivUtvidet() = RestFagsak( - SAKS_ID, - listOf( - RestUtvidetBehandling( - true, - RestArbeidsfordelingPåBehandling(ENHET_ID), - 321, - BehandlingKategori.NASJONAL, - LocalDateTime.now(), - "INNVILGET", - "BEHANDLING_AVSLUTTET", - "MIGRERING_FRA_INFOTRYGD", - BehandlingUnderkategori.UTVIDET, + private fun lagAktivUtvidet() = + RestFagsak( + SAKS_ID, + listOf( + RestUtvidetBehandling( + true, + RestArbeidsfordelingPåBehandling(ENHET_ID), + 321, + BehandlingKategori.NASJONAL, + LocalDateTime.now(), + "INNVILGET", + "BEHANDLING_AVSLUTTET", + "MIGRERING_FRA_INFOTRYGD", + BehandlingUnderkategori.UTVIDET, + ), ), - ), - ) + ) - private fun lagInfotrygdResponse() = InfotrygdSøkResponse( - bruker = listOf( - Stønad(iverksattFom = YearMonth.now().minusYears(2).tilSeqFormat), - Stønad(iverksattFom = YearMonth.now().minusYears(5).tilSeqFormat), - ), - barn = listOf(), - ) + private fun lagInfotrygdResponse() = + InfotrygdSøkResponse( + bruker = + listOf( + Stønad(iverksattFom = YearMonth.now().minusYears(2).tilSeqFormat), + Stønad(iverksattFom = YearMonth.now().minusYears(5).tilSeqFormat), + ), + barn = listOf(), + ) companion object { - private val PERSONIDENT_BARN = "12345654321" private val PERSONIDENT_BARN2 = "12345654322" private val PERSONIDENT_MOR = "12345678901" diff --git a/src/test/kotlin/no/nav/familie/baks/mottak/util/DateUtilsTest.kt b/src/test/kotlin/no/nav/familie/baks/mottak/util/DateUtilsTest.kt index 5b70f85ea..eefe50538 100644 --- a/src/test/kotlin/no/nav/familie/baks/mottak/util/DateUtilsTest.kt +++ b/src/test/kotlin/no/nav/familie/baks/mottak/util/DateUtilsTest.kt @@ -11,19 +11,28 @@ import java.time.LocalDate import java.time.LocalDateTime class DateUtilsTest { - @ParameterizedTest @CsvSource( - "2020-04-01T00:00:00, 2020-04-01", // før kl 14 skal returnere samme dag - "2020-04-01T14:00:01, 2020-04-02", // etter kl 14 skal returnere neste dag - "2020-04-04T00:00:00, 2020-04-06", // lørdag skal returnere mandag - "2020-04-04T00:00:00, 2020-04-06", // søndag skal returnere mandag - "2021-05-15T00:00:00, 2021-05-18", // 14 mai er fredag, 17 mai er mandag og fridag, skal returnere 18 mai - "2020-12-25T00:00:00, 2020-12-28", // første arbeidsdag er mandag 28 - "2020-12-26T00:00:00, 2020-12-28", // første arbeidsdag er mandag 28 + "2020-04-01T00:00:00, 2020-04-01", + // før kl 14 skal returnere samme dag + "2020-04-01T14:00:01, 2020-04-02", + // etter kl 14 skal returnere neste dag + "2020-04-04T00:00:00, 2020-04-06", + // lørdag skal returnere mandag + "2020-04-04T00:00:00, 2020-04-06", + // søndag skal returnere mandag + "2021-05-15T00:00:00, 2021-05-18", + // 14 mai er fredag, 17 mai er mandag og fridag, skal returnere 18 mai + "2020-12-25T00:00:00, 2020-12-28", + // første arbeidsdag er mandag 28 + "2020-12-26T00:00:00, 2020-12-28", + // første arbeidsdag er mandag 28 "2020-01-01T00:00:00, 2020-01-02", ) - fun `fristFerdigstillelese skal returnere neste arbeidsdag`(input: LocalDateTime, expected: LocalDate) { + fun `fristFerdigstillelese skal returnere neste arbeidsdag`( + input: LocalDateTime, + expected: LocalDate, + ) { mockkStatic(LocalDateTime::class) every { LocalDateTime.now() } returns input @@ -33,14 +42,23 @@ class DateUtilsTest { @ParameterizedTest @CsvSource( - "2020-06-09T13:37:00, 2020-06-10T13:37", // Neste dag er en arbeidsdag - "2020-06-12T13:37:00, 2020-06-15T13:37", // Neste dag er en lørdag. Venter til mandag samme tid - "2020-06-13T13:37:00, 2020-06-15T13:37", // Neste dag er en søndag. Venter til mandag samme tid - "2020-06-13T06:37:00, 2020-06-15T10:37", // Ikke kjøre før kl 10 mandag - "2020-06-11T16:01:00, 2020-06-15T10:01", // Ikke kjøre fredag etter 16. Vent til mandag - "2021-05-14T00:00:00, 2021-05-18T10:00", // 14 mai er fredag, 17 mai er mandag og fridag, skal returnere 18 mai + "2020-06-09T13:37:00, 2020-06-10T13:37", + // Neste dag er en arbeidsdag + "2020-06-12T13:37:00, 2020-06-15T13:37", + // Neste dag er en lørdag. Venter til mandag samme tid + "2020-06-13T13:37:00, 2020-06-15T13:37", + // Neste dag er en søndag. Venter til mandag samme tid + "2020-06-13T06:37:00, 2020-06-15T10:37", + // Ikke kjøre før kl 10 mandag + "2020-06-11T16:01:00, 2020-06-15T10:01", + // Ikke kjøre fredag etter 16. Vent til mandag + "2021-05-14T00:00:00, 2021-05-18T10:00", + // 14 mai er fredag, 17 mai er mandag og fridag, skal returnere 18 mai ) - fun `skal returnere neste arbeidsdag `(input: LocalDateTime, expected: LocalDateTime) { + fun `skal returnere neste arbeidsdag `( + input: LocalDateTime, + expected: LocalDateTime, + ) { mockkStatic(LocalDateTime::class) mockk(relaxed = true) diff --git a/src/test/kotlin/no/nav/familie/baks/mottak/util/DbContainerInitializer.kt b/src/test/kotlin/no/nav/familie/baks/mottak/util/DbContainerInitializer.kt index 0bc6fa3c9..e53a40ac9 100644 --- a/src/test/kotlin/no/nav/familie/baks/mottak/util/DbContainerInitializer.kt +++ b/src/test/kotlin/no/nav/familie/baks/mottak/util/DbContainerInitializer.kt @@ -7,7 +7,6 @@ import org.springframework.core.env.Profiles import org.testcontainers.containers.PostgreSQLContainer class DbContainerInitializer : ApplicationContextInitializer { - override fun initialize(applicationContext: ConfigurableApplicationContext) { // Only start Postgres when not running in CI if (!applicationContext.environment.acceptsProfiles(Profiles.of("ci"))) {