mirror of
https://github.com/Dannecron/spring-boot-demo.git
synced 2025-12-25 16:22:35 +03:00
move dependency description and version to gradle version catalog
bump kotlin version up to 2.1.10
This commit is contained in:
@@ -1,22 +1,17 @@
|
||||
plugins {
|
||||
id("io.spring.dependency-management") version "1.1.6"
|
||||
id("org.springframework.boot") version "3.2.10"
|
||||
alias(libs.plugins.kotlin.jpa)
|
||||
alias(libs.plugins.kotlin.jvm)
|
||||
alias(libs.plugins.kotlin.serialization)
|
||||
alias(libs.plugins.kotlin.spring)
|
||||
alias(libs.plugins.spring.boot)
|
||||
alias(libs.plugins.spring.dependencyManagement)
|
||||
|
||||
jacoco
|
||||
|
||||
kotlin("jvm") version "2.0.20"
|
||||
kotlin("plugin.jpa") version "1.9.23"
|
||||
kotlin("plugin.serialization") version "2.0.20"
|
||||
kotlin("plugin.spring") version "1.9.23"
|
||||
}
|
||||
|
||||
group = "com.github.dannecron.demo"
|
||||
version = "single-version"
|
||||
|
||||
val ktorVersion: String by project
|
||||
val springVersion: String by project
|
||||
val testContainersVersion: String by project
|
||||
|
||||
java {
|
||||
sourceCompatibility = JavaVersion.VERSION_17
|
||||
}
|
||||
@@ -26,46 +21,44 @@ repositories {
|
||||
}
|
||||
|
||||
dependencies {
|
||||
api("org.springframework.boot:spring-boot-starter-data-jdbc:$springVersion")
|
||||
runtimeOnly(libs.micrometer.registry.prometheus)
|
||||
|
||||
implementation("com.fasterxml.jackson.module:jackson-module-kotlin:2.15.4")
|
||||
implementation("com.fasterxml.jackson.datatype:jackson-datatype-jsr310:2.15.4")
|
||||
implementation("io.github.optimumcode:json-schema-validator:0.2.3")
|
||||
implementation("io.micrometer:micrometer-tracing-bridge-otel")
|
||||
implementation("io.opentelemetry:opentelemetry-exporter-otlp")
|
||||
implementation("net.logstash.logback:logstash-logback-encoder:8.0")
|
||||
implementation("io.ktor:ktor-client-core:$ktorVersion")
|
||||
implementation("io.ktor:ktor-client-cio:$ktorVersion")
|
||||
implementation("org.flywaydb:flyway-core:9.22.3")
|
||||
implementation("org.jetbrains.kotlin:kotlin-reflect:2.0.20")
|
||||
implementation("org.jetbrains.kotlinx:kotlinx-serialization-json:1.6.3")
|
||||
implementation("org.postgresql:postgresql:42.6.2")
|
||||
implementation("org.springdoc:springdoc-openapi-starter-webmvc-ui:2.6.0")
|
||||
implementation("org.springframework:spring-aspects")
|
||||
implementation("org.springframework.boot:spring-boot-starter-actuator:$springVersion")
|
||||
implementation("org.springframework.boot:spring-boot-starter-mustache:$springVersion")
|
||||
implementation("org.springframework.boot:spring-boot-starter-validation:$springVersion")
|
||||
implementation("org.springframework.boot:spring-boot-starter-web:$springVersion")
|
||||
implementation("org.springframework.kafka:spring-kafka:3.1.3")
|
||||
implementation(libs.bundles.tracing)
|
||||
implementation(libs.flyway.core)
|
||||
implementation(libs.jackson.datatype.jsr)
|
||||
implementation(libs.jackson.module.kotlin)
|
||||
implementation(libs.json.schema.validator)
|
||||
implementation(libs.kotlin.reflect)
|
||||
implementation(libs.kotlinx.serialization.json)
|
||||
implementation(libs.ktor.client.cio)
|
||||
implementation(libs.ktor.client.core)
|
||||
implementation(libs.logback.encoder)
|
||||
implementation(libs.postgres)
|
||||
implementation(libs.spring.aspects)
|
||||
implementation(libs.spring.boot.starter.actuator)
|
||||
implementation(libs.spring.boot.starter.jdbc)
|
||||
implementation(libs.spring.boot.starter.mustache)
|
||||
implementation(libs.spring.boot.starter.validation)
|
||||
implementation(libs.spring.boot.starter.web)
|
||||
implementation(libs.spring.doc.openapi.starter)
|
||||
implementation(libs.spring.kafka)
|
||||
|
||||
runtimeOnly("io.micrometer:micrometer-registry-prometheus")
|
||||
testImplementation(libs.kotlin.test.junit)
|
||||
testImplementation(libs.mockito.kotlin)
|
||||
testImplementation(libs.spring.boot.starter.test)
|
||||
testImplementation(libs.spring.kafka.test)
|
||||
testImplementation(libs.testcontainers)
|
||||
testImplementation(libs.testcontainers.junit.jupiter)
|
||||
testImplementation(libs.testcontainers.postgresql)
|
||||
testImplementation(libs.ktor.client.mock)
|
||||
|
||||
developmentOnly("org.springframework.boot:spring-boot-devtools")
|
||||
|
||||
testImplementation("org.jetbrains.kotlin:kotlin-test-junit5:2.0.20")
|
||||
testImplementation("org.mockito.kotlin:mockito-kotlin:5.4.0")
|
||||
testImplementation("org.springframework.boot:spring-boot-starter-test:$springVersion")
|
||||
testImplementation("org.springframework.kafka:spring-kafka-test:3.1.3")
|
||||
testImplementation("org.testcontainers:junit-jupiter:$testContainersVersion")
|
||||
testImplementation("org.testcontainers:testcontainers:$testContainersVersion")
|
||||
testImplementation("org.testcontainers:postgresql:$testContainersVersion")
|
||||
testImplementation("io.ktor:ktor-client-mock:$ktorVersion")
|
||||
developmentOnly(libs.spring.boot.devtools)
|
||||
}
|
||||
|
||||
kotlin {
|
||||
compilerOptions {
|
||||
freeCompilerArgs.addAll("-Xjsr305=strict")
|
||||
apiVersion.set(org.jetbrains.kotlin.gradle.dsl.KotlinVersion.KOTLIN_1_7)
|
||||
apiVersion.set(org.jetbrains.kotlin.gradle.dsl.KotlinVersion.KOTLIN_2_1)
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -1,3 +0,0 @@
|
||||
ktorVersion=3.0.0
|
||||
springVersion=3.2.10
|
||||
testContainersVersion=1.19.7
|
||||
50
gradle/libs.versions.toml
Normal file
50
gradle/libs.versions.toml
Normal file
@@ -0,0 +1,50 @@
|
||||
[versions]
|
||||
jackson = "2.15.4"
|
||||
kotlin = "2.1.10"
|
||||
ktor = "3.0.0"
|
||||
spring-boot = "3.2.10"
|
||||
spring-kafka = "3.1.3"
|
||||
testcontainers = "1.19.7"
|
||||
|
||||
[libraries]
|
||||
flyway-core = { module = "org.flywaydb:flyway-core", version = "9.22.3" }
|
||||
jackson-datatype-jsr = { module = "com.fasterxml.jackson.datatype:jackson-datatype-jsr310", version.ref = "jackson" }
|
||||
jackson-module-kotlin = { module = "com.fasterxml.jackson.module:jackson-module-kotlin", version.ref = "jackson" }
|
||||
json-schema-validator = { module = "io.github.optimumcode:json-schema-validator", version = "0.2.3"}
|
||||
kotlin-reflect = { module = "org.jetbrains.kotlin:kotlin-reflect", version.ref = "kotlin" }
|
||||
kotlin-test-junit = { module = "org.jetbrains.kotlin:kotlin-test-junit5", version.ref = "kotlin" }
|
||||
kotlinx-serialization-json = "org.jetbrains.kotlinx:kotlinx-serialization-json:1.6.3"
|
||||
ktor-client-cio = { module = "io.ktor:ktor-client-cio", version.ref = "ktor"}
|
||||
ktor-client-core = { module = "io.ktor:ktor-client-core", version.ref = "ktor"}
|
||||
ktor-client-mock = { module = "io.ktor:ktor-client-mock", version.ref = "ktor"}
|
||||
logback-encoder = { module = "net.logstash.logback:logstash-logback-encoder", version = "8.0" }
|
||||
micrometer-bridge-otel = { module = "io.micrometer:micrometer-tracing-bridge-otel"}
|
||||
micrometer-registry-prometheus = { module = "io.micrometer:micrometer-registry-prometheus" }
|
||||
mockito-kotlin = { module = "org.mockito.kotlin:mockito-kotlin", version = "5.4.0" }
|
||||
otel-exporter = { module = "io.opentelemetry:opentelemetry-exporter-otlp" }
|
||||
postgres = { module = "org.postgresql:postgresql", version = "42.6.2" }
|
||||
spring-aspects = { module = "org.springframework:spring-aspects" }
|
||||
spring-boot-devtools = { module = "org.springframework.boot:spring-boot-devtools" }
|
||||
spring-boot-starter-actuator = { module = "org.springframework.boot:spring-boot-starter-actuator", version.ref = "spring-boot" }
|
||||
spring-boot-starter-jdbc = { module = "org.springframework.boot:spring-boot-starter-data-jdbc", version.ref = "spring-boot"}
|
||||
spring-boot-starter-mustache = { module = "org.springframework.boot:spring-boot-starter-mustache", version.ref = "spring-boot" }
|
||||
spring-boot-starter-test = { module = "org.springframework.boot:spring-boot-starter-test", version.ref = "spring-boot" }
|
||||
spring-boot-starter-validation = { module = "org.springframework.boot:spring-boot-starter-validation", version.ref = "spring-boot" }
|
||||
spring-boot-starter-web = { module = "org.springframework.boot:spring-boot-starter-web", version.ref = "spring-boot" }
|
||||
spring-doc-openapi-starter = "org.springdoc:springdoc-openapi-starter-webmvc-ui:2.6.0"
|
||||
spring-kafka = { module = "org.springframework.kafka:spring-kafka", version.ref = "spring-kafka"}
|
||||
spring-kafka-test = { module = "org.springframework.kafka:spring-kafka-test", version.ref = "spring-kafka"}
|
||||
testcontainers = { module = "org.testcontainers:testcontainers", version.ref = "testcontainers"}
|
||||
testcontainers-junit-jupiter = { module = "org.testcontainers:junit-jupiter", version.ref = "testcontainers"}
|
||||
testcontainers-postgresql = { module = "org.testcontainers:postgresql", version.ref = "testcontainers"}
|
||||
|
||||
[bundles]
|
||||
tracing = ["micrometer-bridge-otel", "otel-exporter"]
|
||||
|
||||
[plugins]
|
||||
kotlin-jvm = { id = "org.jetbrains.kotlin.jvm", version.ref = "kotlin" }
|
||||
kotlin-serialization = { id = "org.jetbrains.kotlin.plugin.serialization", version.ref = "kotlin" }
|
||||
kotlin-jpa = { id = "org.jetbrains.kotlin.plugin.jpa", version.ref = "kotlin" }
|
||||
kotlin-spring = { id = "org.jetbrains.kotlin.plugin.spring", version.ref = "kotlin" }
|
||||
spring-boot = { id = "org.springframework.boot", version.ref = "spring-boot" }
|
||||
spring-dependencyManagement = { id = "io.spring.dependency-management", version = "1.1.6"}
|
||||
@@ -7,6 +7,7 @@ import io.micrometer.core.instrument.MeterRegistry
|
||||
import kotlinx.serialization.encodeToString
|
||||
import kotlinx.serialization.json.Json
|
||||
import org.mockito.kotlin.after
|
||||
import org.mockito.kotlin.any
|
||||
import org.mockito.kotlin.doReturn
|
||||
import org.mockito.kotlin.verify
|
||||
import org.mockito.kotlin.whenever
|
||||
@@ -22,7 +23,7 @@ import org.springframework.test.annotation.DirtiesContext
|
||||
import org.springframework.test.context.ActiveProfiles
|
||||
import java.time.OffsetDateTime
|
||||
import java.time.format.DateTimeFormatter
|
||||
import java.util.*
|
||||
import java.util.UUID
|
||||
import kotlin.test.Test
|
||||
import kotlin.test.assertEquals
|
||||
|
||||
@@ -34,10 +35,14 @@ import kotlin.test.assertEquals
|
||||
partitions = 1,
|
||||
)
|
||||
@DirtiesContext
|
||||
class ConsumerKfkTest(
|
||||
@Autowired private val kafkaTemplate: KafkaTemplate<String, Any>,
|
||||
@Autowired private val metricRegistry: MeterRegistry,
|
||||
) {
|
||||
class ConsumerKfkTest {
|
||||
|
||||
@Autowired
|
||||
private lateinit var kafkaTemplate: KafkaTemplate<String, Any>
|
||||
|
||||
@Autowired
|
||||
private lateinit var metricRegistry: MeterRegistry
|
||||
|
||||
@MockBean
|
||||
private lateinit var cityService: CityService
|
||||
|
||||
@@ -54,7 +59,7 @@ class ConsumerKfkTest(
|
||||
deletedAt = null,
|
||||
)
|
||||
|
||||
whenever(cityService.create(cityCreateDto)) doReturn City(
|
||||
whenever(cityService.create(any<CityCreateDto>())) doReturn City(
|
||||
id = 123,
|
||||
guid = cityGuid,
|
||||
name = cityName,
|
||||
|
||||
Reference in New Issue
Block a user