From d1b1a4b2ebb5c3419ed9271947df775937a0251e Mon Sep 17 00:00:00 2001 From: Anders Rognstad <79838644+andersrognstad@users.noreply.github.com> Date: Tue, 25 Jun 2024 13:14:19 +0200 Subject: [PATCH] IS-2477: Remove kafka embedded (#382) * Remove kafka embedded usage * Fix dependabot * Flatten versions --- .github/dependabot.yaml | 12 +- build.gradle.kts | 114 ++++++++---------- .../syfo/testutil/ExternalMockEnvironment.kt | 3 - .../kotlin/no/nav/syfo/testutil/TestKafka.kt | 14 --- 4 files changed, 60 insertions(+), 83 deletions(-) delete mode 100644 src/test/kotlin/no/nav/syfo/testutil/TestKafka.kt diff --git a/.github/dependabot.yaml b/.github/dependabot.yaml index 3752d822..b78aa3d3 100644 --- a/.github/dependabot.yaml +++ b/.github/dependabot.yaml @@ -10,6 +10,12 @@ updates: - package-ecosystem: gradle directory: "/" schedule: - interval: daily - time: "07:00" - open-pull-requests-limit: 10 \ No newline at end of file + interval: weekly + open-pull-requests-limit: 10 + groups: + minor-and-patch: + patterns: + - "*" + update-types: + - "minor" + - "patch" diff --git a/build.gradle.kts b/build.gradle.kts index 5cbcba53..e06dbf32 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -5,28 +5,25 @@ import org.jetbrains.kotlin.gradle.tasks.KotlinCompile group = "no.nav.syfo" version = "1.0-SNAPSHOT" -object Versions { - const val confluent = "7.5.1" - const val flyway = "9.22.3" - const val hikari = "5.1.0" - const val isdialogmoteSchema = "1.0.5" - const val jacksonDataType = "2.15.3" - const val jedis = "5.0.1" - const val json = "20231013" - const val kafka = "3.7.0" - const val kafkaEmbedded = "3.2.8" - const val kluent = "1.73" - const val ktor = "2.3.8" - const val logback = "1.4.14" - const val logstashEncoder = "7.4" - const val mockk = "1.13.8" - const val micrometerRegistry = "1.12.2" - const val nimbusjosejwt = "9.37.2" - val postgresEmbedded = if (Os.isFamily(Os.FAMILY_MAC)) "1.0.0" else "0.13.4" - const val postgres = "42.7.2" - const val redisEmbedded = "0.7.3" - const val spek = "2.0.19" -} +val confluent = "7.5.1" +val flyway = "9.22.3" +val hikari = "5.1.0" +val isdialogmoteSchema = "1.0.5" +val jacksonDataType = "2.15.3" +val jedis = "5.0.1" +val json = "20231013" +val kafka = "3.7.0" +val kluent = "1.73" +val ktor = "2.3.8" +val logback = "1.4.14" +val logstashEncoder = "7.4" +val mockk = "1.13.8" +val micrometerRegistry = "1.12.2" +val nimbusjosejwt = "9.37.2" +val postgresEmbedded = if (Os.isFamily(Os.FAMILY_MAC)) "1.0.0" else "0.13.4" +val postgres = "42.7.2" +val redisEmbedded = "0.7.3" +val spek = "2.0.19" plugins { kotlin("jvm") version "1.9.22" @@ -54,53 +51,53 @@ dependencies { implementation(kotlin("stdlib")) implementation(kotlin("reflect")) - implementation("io.ktor:ktor-server-auth-jwt:${Versions.ktor}") - implementation("io.ktor:ktor-client-apache:${Versions.ktor}") - implementation("io.ktor:ktor-client-cio:${Versions.ktor}") - implementation("io.ktor:ktor-client-content-negotiation:${Versions.ktor}") - implementation("io.ktor:ktor-serialization-jackson:${Versions.ktor}") - implementation("io.ktor:ktor-server-call-id:${Versions.ktor}") - implementation("io.ktor:ktor-server-content-negotiation:${Versions.ktor}") - implementation("io.ktor:ktor-server-netty:${Versions.ktor}") - implementation("io.ktor:ktor-server-status-pages:${Versions.ktor}") + implementation("io.ktor:ktor-server-auth-jwt:$ktor") + implementation("io.ktor:ktor-client-apache:$ktor") + implementation("io.ktor:ktor-client-cio:$ktor") + implementation("io.ktor:ktor-client-content-negotiation:$ktor") + implementation("io.ktor:ktor-serialization-jackson:$ktor") + implementation("io.ktor:ktor-server-call-id:$ktor") + implementation("io.ktor:ktor-server-content-negotiation:$ktor") + implementation("io.ktor:ktor-server-netty:$ktor") + implementation("io.ktor:ktor-server-status-pages:$ktor") // Logging - implementation("ch.qos.logback:logback-classic:${Versions.logback}") - implementation("net.logstash.logback:logstash-logback-encoder:${Versions.logstashEncoder}") - implementation("org.json:json:${Versions.json}") + implementation("ch.qos.logback:logback-classic:$logback") + implementation("net.logstash.logback:logstash-logback-encoder:$logstashEncoder") + implementation("org.json:json:$json") // Metrics and Prometheus - implementation("io.ktor:ktor-server-metrics-micrometer:${Versions.ktor}") - implementation("io.micrometer:micrometer-registry-prometheus:${Versions.micrometerRegistry}") + implementation("io.ktor:ktor-server-metrics-micrometer:$ktor") + implementation("io.micrometer:micrometer-registry-prometheus:$micrometerRegistry") // Cache - implementation("redis.clients:jedis:${Versions.jedis}") - testImplementation("it.ozimov:embedded-redis:${Versions.redisEmbedded}") + implementation("redis.clients:jedis:$jedis") + testImplementation("it.ozimov:embedded-redis:$redisEmbedded") // (De-)serialization - implementation("com.fasterxml.jackson.datatype:jackson-datatype-jsr310:${Versions.jacksonDataType}") + implementation("com.fasterxml.jackson.datatype:jackson-datatype-jsr310:$jacksonDataType") // Database - implementation("org.postgresql:postgresql:${Versions.postgres}") - implementation("com.zaxxer:HikariCP:${Versions.hikari}") - implementation("org.flywaydb:flyway-core:${Versions.flyway}") - testImplementation("com.opentable.components:otj-pg-embedded:${Versions.postgresEmbedded}") + implementation("org.postgresql:postgresql:$postgres") + implementation("com.zaxxer:HikariCP:$hikari") + implementation("org.flywaydb:flyway-core:$flyway") + testImplementation("com.opentable.components:otj-pg-embedded:$postgresEmbedded") // Kafka val excludeLog4j = fun ExternalModuleDependency.() { exclude(group = "log4j") } - implementation("org.apache.kafka:kafka_2.13:${Versions.kafka}", excludeLog4j) - implementation("io.confluent:kafka-avro-serializer:${Versions.confluent}", excludeLog4j) + implementation("org.apache.kafka:kafka_2.13:$kafka", excludeLog4j) + implementation("io.confluent:kafka-avro-serializer:$confluent", excludeLog4j) constraints { implementation("org.apache.zookeeper:zookeeper") { - because("io.confluent:kafka-schema-registry:${Versions.confluent} -> https://www.cve.org/CVERecord?id=CVE-2023-44981") + because("io.confluent:kafka-schema-registry:$confluent -> https://www.cve.org/CVERecord?id=CVE-2023-44981") version { require("3.9.1") } } implementation("org.apache.avro:avro") { - because("io.confluent:kafka-schema-registry:${Versions.confluent} -> https://www.cve.org/CVERecord?id=CVE-2023-39410") + because("io.confluent:kafka-schema-registry:$confluent -> https://www.cve.org/CVERecord?id=CVE-2023-39410") version { require("1.11.3") } @@ -112,25 +109,16 @@ dependencies { } } } - implementation("no.nav.syfo.dialogmote.avro:isdialogmote-schema:${Versions.isdialogmoteSchema}") - testImplementation("no.nav:kafka-embedded-env:${Versions.kafkaEmbedded}", excludeLog4j) - constraints { - implementation("org.eclipse.jetty.http2:http2-server") { - because("no.nav:kafka-embedded-env:${Versions.kafkaEmbedded} -> https://advisory.checkmarx.net/advisory/vulnerability/CVE-2022-2048/") - version { - require("9.4.54.v20240208") - } - } - } + implementation("no.nav.syfo.dialogmote.avro:isdialogmote-schema:$isdialogmoteSchema") - testImplementation("com.nimbusds:nimbus-jose-jwt:${Versions.nimbusjosejwt}") - testImplementation("io.ktor:ktor-server-test-host:${Versions.ktor}") - testImplementation("io.mockk:mockk:${Versions.mockk}") - testImplementation("org.amshove.kluent:kluent:${Versions.kluent}") - testImplementation("org.spekframework.spek2:spek-dsl-jvm:${Versions.spek}") { + testImplementation("com.nimbusds:nimbus-jose-jwt:$nimbusjosejwt") + testImplementation("io.ktor:ktor-server-test-host:$ktor") + testImplementation("io.mockk:mockk:$mockk") + testImplementation("org.amshove.kluent:kluent:$kluent") + testImplementation("org.spekframework.spek2:spek-dsl-jvm:$spek") { exclude(group = "org.jetbrains.kotlin") } - testRuntimeOnly("org.spekframework.spek2:spek-runner-junit5:${Versions.spek}") { + testRuntimeOnly("org.spekframework.spek2:spek-runner-junit5:$spek") { exclude(group = "org.jetbrains.kotlin") } } diff --git a/src/test/kotlin/no/nav/syfo/testutil/ExternalMockEnvironment.kt b/src/test/kotlin/no/nav/syfo/testutil/ExternalMockEnvironment.kt index be51c12b..560288f5 100644 --- a/src/test/kotlin/no/nav/syfo/testutil/ExternalMockEnvironment.kt +++ b/src/test/kotlin/no/nav/syfo/testutil/ExternalMockEnvironment.kt @@ -9,7 +9,6 @@ import no.nav.syfo.testutil.mock.* class ExternalMockEnvironment private constructor() { val applicationState: ApplicationState = testAppState() val database = TestDatabase() - val embeddedEnvironment = testKafka() private val azureAdMock = AzureAdMock() private val eregMock = EregMock() @@ -36,7 +35,6 @@ class ExternalMockEnvironment private constructor() { syfobehandlendeenhetUrl = syfobehandlendeenhetMock.url, arbeidsuforhetvurderingUrl = arbeidsuforhetvurderingMock.url, istilgangskontrollUrl = tilgangskontrollMock.url, - kafkaBootstrapServers = embeddedEnvironment.brokersURL, ishuskelappUrl = oppfolgingsoppgaveMock.url, ) val redisServer = testRedis( @@ -63,7 +61,6 @@ class ExternalMockEnvironment private constructor() { } private fun ExternalMockEnvironment.startExternalMocks() { - this.embeddedEnvironment.start() this.externalApplicationMockMap.forEach { (_, externalMock) -> externalMock.start() } this.redisServer.start() } diff --git a/src/test/kotlin/no/nav/syfo/testutil/TestKafka.kt b/src/test/kotlin/no/nav/syfo/testutil/TestKafka.kt deleted file mode 100644 index ff149146..00000000 --- a/src/test/kotlin/no/nav/syfo/testutil/TestKafka.kt +++ /dev/null @@ -1,14 +0,0 @@ -package no.nav.syfo.testutil - -import no.nav.common.KafkaEnvironment -import no.nav.syfo.identhendelse.kafka.PDL_AKTOR_TOPIC - -fun testKafka( - autoStart: Boolean = false, - topicNames: List = listOf( - PDL_AKTOR_TOPIC, - ) -) = KafkaEnvironment( - autoStart = autoStart, - topicNames = topicNames -)