From 84d71db0f302e892445e538354aedf7d4b5e9039 Mon Sep 17 00:00:00 2001 From: Thomas Johansen Date: Wed, 4 Dec 2024 13:02:15 +0100 Subject: [PATCH] Endret impl av Kafka plugin i bekreftelse-api --- .../no/nav/paw/bekreftelse/api/Application.kt | 2 +- .../handler/KafkaConsumerExceptionHandler.kt | 1 + .../listener/NoopConsumerRebalanceListener.kt | 9 ++ .../nav/paw/bekreftelse/api/plugins/Kafka.kt | 15 +-- .../api/plugins/custom/KafkaConsumerPlugin.kt | 92 +++++++++++-------- .../api/services/BekreftelseService.kt | 42 +++++---- .../kafka_key_generator_client_config.toml | 4 +- .../api/test/KafkaTestDataProducer.kt | 16 ++-- ...fka-keys-hentEllerOpprett-01017012345.json | 21 +++++ ...fka-keys-hentEllerOpprett-02017012345.json | 21 +++++ ...fka-keys-hentEllerOpprett-03017012345.json | 21 +++++ ...fka-keys-hentEllerOpprett-04017012345.json | 21 +++++ ...fka-keys-hentEllerOpprett-05017012345.json | 21 +++++ docker/mocks/config/wiremock/kafka-keys.json | 16 ---- ....json => pdl-hentIdenter-01017012345.json} | 0 ....json => pdl-hentIdenter-02017012345.json} | 0 ....json => pdl-hentIdenter-03017012345.json} | 0 ....json => pdl-hentIdenter-04017012345.json} | 0 ....json => pdl-hentIdenter-05017012345.json} | 0 ...erson.json.bak => pdl-hentPerson.json.bak} | 0 20 files changed, 209 insertions(+), 93 deletions(-) create mode 100644 apps/bekreftelse-api/src/main/kotlin/no/nav/paw/bekreftelse/api/listener/NoopConsumerRebalanceListener.kt create mode 100644 docker/mocks/config/wiremock/kafka-keys-hentEllerOpprett-01017012345.json create mode 100644 docker/mocks/config/wiremock/kafka-keys-hentEllerOpprett-02017012345.json create mode 100644 docker/mocks/config/wiremock/kafka-keys-hentEllerOpprett-03017012345.json create mode 100644 docker/mocks/config/wiremock/kafka-keys-hentEllerOpprett-04017012345.json create mode 100644 docker/mocks/config/wiremock/kafka-keys-hentEllerOpprett-05017012345.json delete mode 100644 docker/mocks/config/wiremock/kafka-keys.json rename docker/mocks/config/wiremock/{pdl-hent-identer-01017012345.json => pdl-hentIdenter-01017012345.json} (100%) rename docker/mocks/config/wiremock/{pdl-hent-identer-02017012345.json => pdl-hentIdenter-02017012345.json} (100%) rename docker/mocks/config/wiremock/{pdl-hent-identer-03017012345.json => pdl-hentIdenter-03017012345.json} (100%) rename docker/mocks/config/wiremock/{pdl-hent-identer-04017012345.json => pdl-hentIdenter-04017012345.json} (100%) rename docker/mocks/config/wiremock/{pdl-hent-identer-05017012345.json => pdl-hentIdenter-05017012345.json} (100%) rename docker/mocks/config/wiremock/{pdl-hent-person.json.bak => pdl-hentPerson.json.bak} (100%) diff --git a/apps/bekreftelse-api/src/main/kotlin/no/nav/paw/bekreftelse/api/Application.kt b/apps/bekreftelse-api/src/main/kotlin/no/nav/paw/bekreftelse/api/Application.kt index fa48cf62..0f5a7171 100644 --- a/apps/bekreftelse-api/src/main/kotlin/no/nav/paw/bekreftelse/api/Application.kt +++ b/apps/bekreftelse-api/src/main/kotlin/no/nav/paw/bekreftelse/api/Application.kt @@ -30,7 +30,7 @@ fun main() { with(applicationContext.serverConfig) { logger.info("Starter $appName med hostname $host og port $port") - embeddedServer(Netty, port = port) { + embeddedServer(factory = Netty, port = port) { module(applicationContext) }.apply { addShutdownHook { diff --git a/apps/bekreftelse-api/src/main/kotlin/no/nav/paw/bekreftelse/api/handler/KafkaConsumerExceptionHandler.kt b/apps/bekreftelse-api/src/main/kotlin/no/nav/paw/bekreftelse/api/handler/KafkaConsumerExceptionHandler.kt index 77eafd6b..c8c28c5c 100644 --- a/apps/bekreftelse-api/src/main/kotlin/no/nav/paw/bekreftelse/api/handler/KafkaConsumerExceptionHandler.kt +++ b/apps/bekreftelse-api/src/main/kotlin/no/nav/paw/bekreftelse/api/handler/KafkaConsumerExceptionHandler.kt @@ -14,5 +14,6 @@ class KafkaConsumerExceptionHandler( errorLogger.error("Kafka Consumer opplevde en uhåndterbar feil", throwable) livenessIndicator.setUnhealthy() readinessIndicator.setUnhealthy() + throw throwable } } \ No newline at end of file diff --git a/apps/bekreftelse-api/src/main/kotlin/no/nav/paw/bekreftelse/api/listener/NoopConsumerRebalanceListener.kt b/apps/bekreftelse-api/src/main/kotlin/no/nav/paw/bekreftelse/api/listener/NoopConsumerRebalanceListener.kt new file mode 100644 index 00000000..e9c7b7c0 --- /dev/null +++ b/apps/bekreftelse-api/src/main/kotlin/no/nav/paw/bekreftelse/api/listener/NoopConsumerRebalanceListener.kt @@ -0,0 +1,9 @@ +package no.nav.paw.bekreftelse.api.listener + +import org.apache.kafka.clients.consumer.ConsumerRebalanceListener +import org.apache.kafka.common.TopicPartition + +class NoopConsumerRebalanceListener : ConsumerRebalanceListener { + override fun onPartitionsRevoked(partitions: MutableCollection?) {} + override fun onPartitionsAssigned(partitions: MutableCollection?) {} +} \ No newline at end of file diff --git a/apps/bekreftelse-api/src/main/kotlin/no/nav/paw/bekreftelse/api/plugins/Kafka.kt b/apps/bekreftelse-api/src/main/kotlin/no/nav/paw/bekreftelse/api/plugins/Kafka.kt index 798c193a..974fe2d0 100644 --- a/apps/bekreftelse-api/src/main/kotlin/no/nav/paw/bekreftelse/api/plugins/Kafka.kt +++ b/apps/bekreftelse-api/src/main/kotlin/no/nav/paw/bekreftelse/api/plugins/Kafka.kt @@ -4,19 +4,20 @@ package no.nav.paw.bekreftelse.api.plugins import io.ktor.server.application.Application import io.ktor.server.application.install import no.nav.paw.bekreftelse.api.context.ApplicationContext -import no.nav.paw.bekreftelse.api.plugins.custom.KafkaConsumerPlugin import no.nav.paw.bekreftelse.api.plugins.custom.KafkaProducerPlugin +import no.nav.paw.bekreftelse.api.plugins.custom.kafkaConsumerPlugin +import no.nav.paw.bekreftelse.internehendelser.BekreftelseHendelse fun Application.configureKafka(applicationContext: ApplicationContext) { with(applicationContext) { install(KafkaProducerPlugin) { kafkaProducers = listOf(bekreftelseKafkaProducer) } - install(KafkaConsumerPlugin) { - consumeFunction = bekreftelseService::processBekreftelseHendelse - errorFunction = kafkaConsumerExceptionHandler::handleException - consumer = bekreftelseKafkaConsumer - topic = applicationConfig.kafkaTopology.bekreftelseHendelsesloggTopic + install(kafkaConsumerPlugin()) { + this.consumeFunction = bekreftelseService::processBekreftelseHendelser + this.errorFunction = kafkaConsumerExceptionHandler::handleException + this.kafkaConsumer = bekreftelseKafkaConsumer + this.kafkaTopics = listOf(applicationConfig.kafkaTopology.bekreftelseHendelsesloggTopic) } } -} +} \ No newline at end of file diff --git a/apps/bekreftelse-api/src/main/kotlin/no/nav/paw/bekreftelse/api/plugins/custom/KafkaConsumerPlugin.kt b/apps/bekreftelse-api/src/main/kotlin/no/nav/paw/bekreftelse/api/plugins/custom/KafkaConsumerPlugin.kt index 499f33e7..adeb6670 100644 --- a/apps/bekreftelse-api/src/main/kotlin/no/nav/paw/bekreftelse/api/plugins/custom/KafkaConsumerPlugin.kt +++ b/apps/bekreftelse-api/src/main/kotlin/no/nav/paw/bekreftelse/api/plugins/custom/KafkaConsumerPlugin.kt @@ -12,77 +12,91 @@ import io.ktor.util.KtorDsl import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.Job import kotlinx.coroutines.launch -import no.nav.paw.bekreftelse.internehendelser.BekreftelseHendelse +import no.nav.paw.bekreftelse.api.listener.NoopConsumerRebalanceListener +import no.nav.paw.bekreftelse.api.utils.buildApplicationLogger import org.apache.kafka.clients.consumer.ConsumerRebalanceListener -import org.apache.kafka.clients.consumer.ConsumerRecord +import org.apache.kafka.clients.consumer.ConsumerRecords import org.apache.kafka.clients.consumer.KafkaConsumer import java.time.Duration import java.util.concurrent.atomic.AtomicBoolean +private val logger = buildApplicationLogger val KafkaConsumerReady: EventDefinition = EventDefinition() @KtorDsl -class KafkaConsumerPluginConfig { - var consumeFunction: ((ConsumerRecord) -> Unit)? = null +class KafkaConsumerPluginConfig { + var consumeFunction: ((ConsumerRecords) -> Unit)? = null + var successFunction: ((ConsumerRecords) -> Unit)? = null var errorFunction: ((throwable: Throwable) -> Unit)? = null - var consumer: KafkaConsumer? = null - var topic: String? = null - var pollTimeout: Duration = Duration.ofMillis(100) - var shutDownTimeout: Duration = Duration.ofMillis(500) + var kafkaConsumer: KafkaConsumer? = null + var kafkaTopics: Collection? = null + var pollTimeout: Duration? = null + var closeTimeout: Duration? = null var rebalanceListener: ConsumerRebalanceListener? = null - val pollingFlag = AtomicBoolean(true) + val shutdownFlag = AtomicBoolean(false) companion object { const val PLUGIN_NAME = "KafkaConsumerPlugin" } } -val KafkaConsumerPlugin: ApplicationPlugin = +private fun KafkaConsumer.defaultSuccessFunction(records: ConsumerRecords) { + if (!records.isEmpty) { + logger.debug("Kafka Consumer success. {} records processed", records.count()) + this.commitSync() + } +} + +private fun defaultErrorFunction(throwable: Throwable) { + logger.error("Kafka Consumer failed", throwable) + throw throwable +} + +fun kafkaConsumerPlugin(): ApplicationPlugin> = createApplicationPlugin(KafkaConsumerPluginConfig.PLUGIN_NAME, ::KafkaConsumerPluginConfig) { application.log.info("Oppretter {}", KafkaConsumerPluginConfig.PLUGIN_NAME) + val kafkaTopics = requireNotNull(pluginConfig.kafkaTopics) { "KafkaTopics er null" } + val kafkaConsumer = requireNotNull(pluginConfig.kafkaConsumer) { "KafkaConsumer er null" } val consumeFunction = requireNotNull(pluginConfig.consumeFunction) { "ConsumeFunction er null" } - val errorFunction = pluginConfig.errorFunction ?: { } - val consumer = requireNotNull(pluginConfig.consumer) { "KafkaConsumes er null" } - val topic = requireNotNull(pluginConfig.topic) { "Topic er null" } - val pollTimeout = requireNotNull(pluginConfig.pollTimeout) { "PollTimeout er null" } - val shutDownTimeout = requireNotNull(pluginConfig.shutDownTimeout) { "ShutDownTimeout er null" } - val rebalanceListener = pluginConfig.rebalanceListener - val pollingFlag = pluginConfig.pollingFlag + val successFunction = pluginConfig.successFunction ?: kafkaConsumer::defaultSuccessFunction + val errorFunction = pluginConfig.errorFunction ?: ::defaultErrorFunction + val pollTimeout = pluginConfig.pollTimeout ?: Duration.ofMillis(100) + val closeTimeout = pluginConfig.closeTimeout ?: Duration.ofMillis(500) + val rebalanceListener = pluginConfig.rebalanceListener ?: NoopConsumerRebalanceListener() + val shutdownFlag = pluginConfig.shutdownFlag var consumeJob: Job? = null on(MonitoringEvent(ApplicationStarted)) { application -> - application.log.info("Starter Kafka Consumer") - if (rebalanceListener == null) { - consumer.subscribe(listOf(topic)) - } else { - consumer.subscribe(listOf(topic), rebalanceListener) - } + logger.info("Kafka Consumer klargjøres") + kafkaConsumer.subscribe(kafkaTopics, rebalanceListener) application.environment.monitor.raise(KafkaConsumerReady, application) } - on(MonitoringEvent(ApplicationStopping)) { application -> - application.log.info("Stopper Kafka Consumer") - pollingFlag.set(false) + on(MonitoringEvent(ApplicationStopping)) { _ -> + logger.info("Kafka Consumer stopper") + kafkaConsumer.unsubscribe() + kafkaConsumer.close(closeTimeout) + shutdownFlag.set(true) consumeJob?.cancel() - consumer.unsubscribe() - consumer.close(shutDownTimeout) } on(MonitoringEvent(KafkaConsumerReady)) { application -> consumeJob = application.launch(Dispatchers.IO) { - try { - application.log.info("Starter Kafka Consumer polling") - while (pollingFlag.get()) { - application.log.trace("Polling Kafka Consumer for records") - val records = consumer.poll(pollTimeout) - records.forEach { consumeFunction(it) } - consumer.commitSync() + logger.info("Kafka Consumer starter") + while (!shutdownFlag.get()) { + try { + val records = kafkaConsumer.poll(pollTimeout) + consumeFunction(records) + successFunction(records) + } catch (throwable: Throwable) { + kafkaConsumer.unsubscribe() + kafkaConsumer.close(closeTimeout) + shutdownFlag.set(true) + errorFunction(throwable) } - application.log.info("Kafka Consumer polling avsluttet") - } catch (e: Exception) { - application.log.error("Kafka Consumer polling avbrutt med feil", e) - errorFunction(e) } + logger.info("Kafka Consumer avsluttet") + consumeJob?.cancel() } } } diff --git a/apps/bekreftelse-api/src/main/kotlin/no/nav/paw/bekreftelse/api/services/BekreftelseService.kt b/apps/bekreftelse-api/src/main/kotlin/no/nav/paw/bekreftelse/api/services/BekreftelseService.kt index 8b07f23f..98138152 100644 --- a/apps/bekreftelse-api/src/main/kotlin/no/nav/paw/bekreftelse/api/services/BekreftelseService.kt +++ b/apps/bekreftelse-api/src/main/kotlin/no/nav/paw/bekreftelse/api/services/BekreftelseService.kt @@ -35,6 +35,7 @@ import no.nav.paw.kafkakeygenerator.client.KafkaKeysClient import no.nav.paw.security.authentication.model.Bruker import no.nav.paw.security.authentication.model.Identitetsnummer import org.apache.kafka.clients.consumer.ConsumerRecord +import org.apache.kafka.clients.consumer.ConsumerRecords import org.jetbrains.exposed.sql.transactions.transaction class BekreftelseService( @@ -98,31 +99,34 @@ class BekreftelseService( } } - @WithSpan(value = "processBekreftelseHendelse") - fun processBekreftelseHendelse(record: ConsumerRecord) { + @WithSpan(value = "processBekreftelseHendelser") + fun processBekreftelseHendelser(records: ConsumerRecords) { transaction { - val hendelse = record.value() - - meterRegistry.receiveBekreftelseHendelseCounter(hendelse.hendelseType) + records.forEach(::processBekreftelseHendelse) + } + } - logger.debug("Mottok hendelse av type {}", hendelse.hendelseType) + @WithSpan(value = "processBekreftelseHendelse") + fun processBekreftelseHendelse(record: ConsumerRecord) { + val hendelse = record.value() + meterRegistry.receiveBekreftelseHendelseCounter(hendelse.hendelseType) + logger.debug("Mottok hendelse av type {}", hendelse.hendelseType) - when (hendelse) { - is BekreftelseTilgjengelig -> { - processBekreftelseTilgjengelig(record.partition(), record.offset(), record.key(), hendelse) - } + when (hendelse) { + is BekreftelseTilgjengelig -> { + processBekreftelseTilgjengelig(record.partition(), record.offset(), record.key(), hendelse) + } - is BekreftelseMeldingMottatt -> { - processBekreftelseMeldingMottatt(hendelse) - } + is BekreftelseMeldingMottatt -> { + processBekreftelseMeldingMottatt(hendelse) + } - is PeriodeAvsluttet -> { - processPeriodeAvsluttet(hendelse) - } + is PeriodeAvsluttet -> { + processPeriodeAvsluttet(hendelse) + } - else -> { - processAnnenHendelse(hendelse) - } + else -> { + processAnnenHendelse(hendelse) } } } diff --git a/apps/bekreftelse-api/src/main/resources/local/kafka_key_generator_client_config.toml b/apps/bekreftelse-api/src/main/resources/local/kafka_key_generator_client_config.toml index 46928d58..f2647484 100644 --- a/apps/bekreftelse-api/src/main/resources/local/kafka_key_generator_client_config.toml +++ b/apps/bekreftelse-api/src/main/resources/local/kafka_key_generator_client_config.toml @@ -1,3 +1,3 @@ -url = "http://localhost:8090/kafka-keys" -urlLokalInfo = "http://localhost:8090/lokal-info" +url = "http://localhost:8090/api/v2/hentEllerOpprett" +urlLokalInfo = "http://localhost:8090/api/v2/lokalInfo" scope = "api://test.test.kafka-keys/.default" diff --git a/apps/bekreftelse-api/src/test/kotlin/no/nav/paw/bekreftelse/api/test/KafkaTestDataProducer.kt b/apps/bekreftelse-api/src/test/kotlin/no/nav/paw/bekreftelse/api/test/KafkaTestDataProducer.kt index e712136a..736c8110 100644 --- a/apps/bekreftelse-api/src/test/kotlin/no/nav/paw/bekreftelse/api/test/KafkaTestDataProducer.kt +++ b/apps/bekreftelse-api/src/test/kotlin/no/nav/paw/bekreftelse/api/test/KafkaTestDataProducer.kt @@ -40,17 +40,15 @@ fun main() { gjelderTil = Instant.now().plus(Duration.ofDays(14)), ) - sendHendelse(kafkaProducer, topic, key, value) + kafkaProducer.sendBlocking(topic, key, value) } -fun sendHendelse( - producer: Producer, +fun Producer.sendBlocking( topic: String, key: Long, value: BekreftelseHendelse -) = - runBlocking { - launch { - producer.sendDeferred(ProducerRecord(topic, key, value)).await() - } - } \ No newline at end of file +) = runBlocking { + launch { + sendDeferred(ProducerRecord(topic, key, value)).await() + } +} \ No newline at end of file diff --git a/docker/mocks/config/wiremock/kafka-keys-hentEllerOpprett-01017012345.json b/docker/mocks/config/wiremock/kafka-keys-hentEllerOpprett-01017012345.json new file mode 100644 index 00000000..561ed248 --- /dev/null +++ b/docker/mocks/config/wiremock/kafka-keys-hentEllerOpprett-01017012345.json @@ -0,0 +1,21 @@ +{ + "request": { + "method": "POST", + "urlPathPattern": "/api/v2/hentEllerOpprett", + "bodyPatterns": [ + { + "matchesJsonPath": "$[?(@.ident == '01017012345')]" + } + ] + }, + "response": { + "status": 200, + "jsonBody": { + "id": 10001, + "key": -10001 + }, + "headers": { + "Content-Type": "application/json" + } + } +} diff --git a/docker/mocks/config/wiremock/kafka-keys-hentEllerOpprett-02017012345.json b/docker/mocks/config/wiremock/kafka-keys-hentEllerOpprett-02017012345.json new file mode 100644 index 00000000..5fa83519 --- /dev/null +++ b/docker/mocks/config/wiremock/kafka-keys-hentEllerOpprett-02017012345.json @@ -0,0 +1,21 @@ +{ + "request": { + "method": "POST", + "urlPathPattern": "/api/v2/hentEllerOpprett", + "bodyPatterns": [ + { + "matchesJsonPath": "$[?(@.ident == '02017012345')]" + } + ] + }, + "response": { + "status": 200, + "jsonBody": { + "id": 10002, + "key": -10002 + }, + "headers": { + "Content-Type": "application/json" + } + } +} diff --git a/docker/mocks/config/wiremock/kafka-keys-hentEllerOpprett-03017012345.json b/docker/mocks/config/wiremock/kafka-keys-hentEllerOpprett-03017012345.json new file mode 100644 index 00000000..d82a52a2 --- /dev/null +++ b/docker/mocks/config/wiremock/kafka-keys-hentEllerOpprett-03017012345.json @@ -0,0 +1,21 @@ +{ + "request": { + "method": "POST", + "urlPathPattern": "/api/v2/hentEllerOpprett", + "bodyPatterns": [ + { + "matchesJsonPath": "$[?(@.ident == '03017012345')]" + } + ] + }, + "response": { + "status": 200, + "jsonBody": { + "id": 10003, + "key": -10003 + }, + "headers": { + "Content-Type": "application/json" + } + } +} diff --git a/docker/mocks/config/wiremock/kafka-keys-hentEllerOpprett-04017012345.json b/docker/mocks/config/wiremock/kafka-keys-hentEllerOpprett-04017012345.json new file mode 100644 index 00000000..537e0617 --- /dev/null +++ b/docker/mocks/config/wiremock/kafka-keys-hentEllerOpprett-04017012345.json @@ -0,0 +1,21 @@ +{ + "request": { + "method": "POST", + "urlPathPattern": "/api/v2/hentEllerOpprett", + "bodyPatterns": [ + { + "matchesJsonPath": "$[?(@.ident == '04017012345')]" + } + ] + }, + "response": { + "status": 200, + "jsonBody": { + "id": 10004, + "key": -10004 + }, + "headers": { + "Content-Type": "application/json" + } + } +} diff --git a/docker/mocks/config/wiremock/kafka-keys-hentEllerOpprett-05017012345.json b/docker/mocks/config/wiremock/kafka-keys-hentEllerOpprett-05017012345.json new file mode 100644 index 00000000..b812b469 --- /dev/null +++ b/docker/mocks/config/wiremock/kafka-keys-hentEllerOpprett-05017012345.json @@ -0,0 +1,21 @@ +{ + "request": { + "method": "POST", + "urlPathPattern": "/api/v2/hentEllerOpprett", + "bodyPatterns": [ + { + "matchesJsonPath": "$[?(@.ident == '05017012345')]" + } + ] + }, + "response": { + "status": 200, + "jsonBody": { + "id": 10004, + "key": -10004 + }, + "headers": { + "Content-Type": "application/json" + } + } +} diff --git a/docker/mocks/config/wiremock/kafka-keys.json b/docker/mocks/config/wiremock/kafka-keys.json deleted file mode 100644 index 5f191f17..00000000 --- a/docker/mocks/config/wiremock/kafka-keys.json +++ /dev/null @@ -1,16 +0,0 @@ -{ - "request": { - "method": "POST", - "urlPathPattern": "/kafka-keys" - }, - "response": { - "status": 200, - "jsonBody": { - "id": 1, - "key": 1 - }, - "headers": { - "Content-Type": "application/json" - } - } -} diff --git a/docker/mocks/config/wiremock/pdl-hent-identer-01017012345.json b/docker/mocks/config/wiremock/pdl-hentIdenter-01017012345.json similarity index 100% rename from docker/mocks/config/wiremock/pdl-hent-identer-01017012345.json rename to docker/mocks/config/wiremock/pdl-hentIdenter-01017012345.json diff --git a/docker/mocks/config/wiremock/pdl-hent-identer-02017012345.json b/docker/mocks/config/wiremock/pdl-hentIdenter-02017012345.json similarity index 100% rename from docker/mocks/config/wiremock/pdl-hent-identer-02017012345.json rename to docker/mocks/config/wiremock/pdl-hentIdenter-02017012345.json diff --git a/docker/mocks/config/wiremock/pdl-hent-identer-03017012345.json b/docker/mocks/config/wiremock/pdl-hentIdenter-03017012345.json similarity index 100% rename from docker/mocks/config/wiremock/pdl-hent-identer-03017012345.json rename to docker/mocks/config/wiremock/pdl-hentIdenter-03017012345.json diff --git a/docker/mocks/config/wiremock/pdl-hent-identer-04017012345.json b/docker/mocks/config/wiremock/pdl-hentIdenter-04017012345.json similarity index 100% rename from docker/mocks/config/wiremock/pdl-hent-identer-04017012345.json rename to docker/mocks/config/wiremock/pdl-hentIdenter-04017012345.json diff --git a/docker/mocks/config/wiremock/pdl-hent-identer-05017012345.json b/docker/mocks/config/wiremock/pdl-hentIdenter-05017012345.json similarity index 100% rename from docker/mocks/config/wiremock/pdl-hent-identer-05017012345.json rename to docker/mocks/config/wiremock/pdl-hentIdenter-05017012345.json diff --git a/docker/mocks/config/wiremock/pdl-hent-person.json.bak b/docker/mocks/config/wiremock/pdl-hentPerson.json.bak similarity index 100% rename from docker/mocks/config/wiremock/pdl-hent-person.json.bak rename to docker/mocks/config/wiremock/pdl-hentPerson.json.bak