diff --git a/.github/workflows/build-examples.yml b/.github/workflows/build-examples.yml index 1e01114a21..5dcab9dc13 100644 --- a/.github/workflows/build-examples.yml +++ b/.github/workflows/build-examples.yml @@ -17,10 +17,10 @@ jobs: - name: Validate Gradle wrapper uses: gradle/wrapper-validation-action@v1 - - name: Set up Java 11 + - name: Set up Java 17 uses: actions/setup-java@v3 with: - java-version: 11 + java-version: 17 distribution: 'zulu' - name: Set up Gradle cache diff --git a/.github/workflows/build-libraries.yml b/.github/workflows/build-libraries.yml index 0e7e0db3d2..fd08940814 100644 --- a/.github/workflows/build-libraries.yml +++ b/.github/workflows/build-libraries.yml @@ -14,10 +14,10 @@ jobs: - name: Validate Gradle wrapper uses: gradle/wrapper-validation-action@v1 - - name: Set up Java 11 + - name: Set up Java 17 uses: actions/setup-java@v3 with: - java-version: 11 + java-version: 17 distribution: 'zulu' - name: Set up Gradle cache diff --git a/.github/workflows/federation-compatibility.yml b/.github/workflows/federation-compatibility.yml index e3ef0baa41..81cb5b9f5f 100644 --- a/.github/workflows/federation-compatibility.yml +++ b/.github/workflows/federation-compatibility.yml @@ -20,10 +20,10 @@ jobs: - name: Validate Gradle wrapper uses: gradle/wrapper-validation-action@v1 - - name: Set up Java 11 + - name: Set up Java 17 uses: actions/setup-java@v3 with: - java-version: 11 + java-version: 17 distribution: 'zulu' - name: Set up Gradle cache diff --git a/.github/workflows/federation-composition.yml b/.github/workflows/federation-composition.yml index f35d9adf7a..099d597cc7 100644 --- a/.github/workflows/federation-composition.yml +++ b/.github/workflows/federation-composition.yml @@ -14,10 +14,10 @@ jobs: steps: - uses: actions/checkout@v3 - - name: Set up Java 11 + - name: Set up Java 17 uses: actions/setup-java@v3 with: - java-version: 11 + java-version: 17 distribution: 'zulu' - name: Set up Gradle cache diff --git a/.github/workflows/plugin-it.yml b/.github/workflows/plugin-it.yml index 5b2d7e5324..0569067aba 100644 --- a/.github/workflows/plugin-it.yml +++ b/.github/workflows/plugin-it.yml @@ -15,10 +15,10 @@ jobs: - uses: actions/checkout@v3 - name: Validate Gradle wrapper uses: gradle/wrapper-validation-action@v1 - - name: Set up Java 11 + - name: Set up Java 17 uses: actions/setup-java@v3 with: - java-version: 11 + java-version: 17 distribution: 'zulu' - name: Set up Gradle cache uses: gradle/gradle-build-action@v2 @@ -36,10 +36,10 @@ jobs: - uses: actions/checkout@v3 - name: Validate Gradle wrapper uses: gradle/wrapper-validation-action@v1 - - name: Set up Java 11 + - name: Set up Java 17 uses: actions/setup-java@v3 with: - java-version: 11 + java-version: 17 distribution: 'zulu' - name: Set up Gradle cache uses: gradle/gradle-build-action@v2 diff --git a/.github/workflows/pr-check-federation.yml b/.github/workflows/pr-check-federation.yml index b828181fde..877ce95764 100644 --- a/.github/workflows/pr-check-federation.yml +++ b/.github/workflows/pr-check-federation.yml @@ -6,6 +6,7 @@ on: - master paths: - 'generator/graphql-kotlin-federation/**' + - 'integration/federation-compatibility/**' jobs: federation-compatibility: diff --git a/.github/workflows/release-code.yml b/.github/workflows/release-code.yml index e2b77d8a92..d743649755 100644 --- a/.github/workflows/release-code.yml +++ b/.github/workflows/release-code.yml @@ -15,10 +15,10 @@ jobs: - uses: gradle/wrapper-validation-action@v1 - - name: Set up Java 11 + - name: Set up Java 17 uses: actions/setup-java@v3 with: - java-version: 11 + java-version: 17 distribution: 'zulu' - name: Build library with Gradle diff --git a/buildSrc/src/main/kotlin/com.expediagroup.graphql.conventions.gradle.kts b/buildSrc/src/main/kotlin/com.expediagroup.graphql.conventions.gradle.kts index 31bfb52556..b7847280b3 100644 --- a/buildSrc/src/main/kotlin/com.expediagroup.graphql.conventions.gradle.kts +++ b/buildSrc/src/main/kotlin/com.expediagroup.graphql.conventions.gradle.kts @@ -19,9 +19,13 @@ plugins { // see https://github.com/gradle/gradle/issues/15383#issuecomment-779893192 val libs = the() tasks { + kotlin { + jvmToolchain(17) + } val kotlinJvmVersion: String by project withType { kotlinOptions { + // intellij gets confused without it jvmTarget = kotlinJvmVersion freeCompilerArgs = listOf("-Xjsr305=strict") } @@ -53,12 +57,6 @@ tasks { // NOTE: in order to run gradle and maven plugin integration tests we need to have our build artifacts available in local repo finalizedBy("publishToMavenLocal") } - java { - // even though we don't have any Java code, since we are building using Java LTS version, - // this is required for Gradle to set the correct JVM versions in the module metadata - targetCompatibility = JavaVersion.VERSION_1_8 - sourceCompatibility = JavaVersion.VERSION_1_8 - } // published sources and javadoc artifacts val jarComponent = project.components.getByName("java") diff --git a/examples/buildSrc/src/main/kotlin/com.expediagroup.graphql.examples.conventions.gradle.kts b/examples/buildSrc/src/main/kotlin/com.expediagroup.graphql.examples.conventions.gradle.kts index f30fc0f6e1..ea8a9321c4 100644 --- a/examples/buildSrc/src/main/kotlin/com.expediagroup.graphql.examples.conventions.gradle.kts +++ b/examples/buildSrc/src/main/kotlin/com.expediagroup.graphql.examples.conventions.gradle.kts @@ -27,9 +27,9 @@ dependencies { testImplementation(libs.junit.engine) } -tasks.withType { +tasks.withType { kotlinOptions { - jvmTarget = "1.8" + jvmTarget = "17" freeCompilerArgs = listOf("-Xjsr305=strict") } } @@ -39,6 +39,9 @@ tasks { toolVersion = libs.versions.detekt.get() config = files(File(rootDir.parent, "detekt.yml").absolutePath) } + kotlin { + jvmToolchain(17) + } ktlint { version.set(libs.versions.ktlint.core.get()) } diff --git a/examples/server/spring-server/src/main/kotlin/com/expediagroup/graphql/examples/server/spring/exceptions/ValidationException.kt b/examples/server/spring-server/src/main/kotlin/com/expediagroup/graphql/examples/server/spring/exceptions/ValidationException.kt index 1ba41e9855..c7f93bdae6 100644 --- a/examples/server/spring-server/src/main/kotlin/com/expediagroup/graphql/examples/server/spring/exceptions/ValidationException.kt +++ b/examples/server/spring-server/src/main/kotlin/com/expediagroup/graphql/examples/server/spring/exceptions/ValidationException.kt @@ -1,5 +1,5 @@ /* - * Copyright 2021 Expedia, Inc + * Copyright 2023 Expedia, Inc * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -16,7 +16,7 @@ package com.expediagroup.graphql.examples.server.spring.exceptions -import javax.validation.ConstraintViolation +import jakarta.validation.ConstraintViolation class ValidationException(val constraintErrors: List) : RuntimeException("Validation error") diff --git a/examples/server/spring-server/src/main/kotlin/com/expediagroup/graphql/examples/server/spring/query/ValidatedQuery.kt b/examples/server/spring-server/src/main/kotlin/com/expediagroup/graphql/examples/server/spring/query/ValidatedQuery.kt index 5d425e958e..a62a7c4fb3 100644 --- a/examples/server/spring-server/src/main/kotlin/com/expediagroup/graphql/examples/server/spring/query/ValidatedQuery.kt +++ b/examples/server/spring-server/src/main/kotlin/com/expediagroup/graphql/examples/server/spring/query/ValidatedQuery.kt @@ -1,5 +1,5 @@ /* - * Copyright 2021 Expedia, Inc + * Copyright 2023 Expedia, Inc * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -19,8 +19,8 @@ package com.expediagroup.graphql.examples.server.spring.query import com.expediagroup.graphql.server.operations.Query import org.springframework.stereotype.Component import org.springframework.validation.annotation.Validated -import javax.validation.Valid -import javax.validation.constraints.Pattern +import jakarta.validation.Valid +import jakarta.validation.constraints.Pattern @Validated @Component diff --git a/examples/server/spring-server/src/test/kotlin/com/expediagroup/graphql/examples/server/spring/subscriptions/SimpleSubscriptionIT.kt b/examples/server/spring-server/src/test/kotlin/com/expediagroup/graphql/examples/server/spring/subscriptions/SimpleSubscriptionIT.kt index a6c5e329ee..b1b5eca9d5 100644 --- a/examples/server/spring-server/src/test/kotlin/com/expediagroup/graphql/examples/server/spring/subscriptions/SimpleSubscriptionIT.kt +++ b/examples/server/spring-server/src/test/kotlin/com/expediagroup/graphql/examples/server/spring/subscriptions/SimpleSubscriptionIT.kt @@ -1,5 +1,5 @@ /* - * Copyright 2021 Expedia, Inc + * Copyright 2023 Expedia, Inc * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -31,7 +31,7 @@ import org.junit.jupiter.api.TestInstance import org.junit.jupiter.api.TestMethodOrder import org.springframework.boot.autoconfigure.EnableAutoConfiguration import org.springframework.boot.test.context.SpringBootTest -import org.springframework.boot.web.server.LocalServerPort +import org.springframework.boot.test.web.server.LocalServerPort import org.springframework.web.reactive.socket.WebSocketSession import org.springframework.web.reactive.socket.client.ReactorNettyWebSocketClient import reactor.core.publisher.Flux diff --git a/gradle.properties b/gradle.properties index fa9a5ec16f..7ec07ec5c4 100644 --- a/gradle.properties +++ b/gradle.properties @@ -13,4 +13,4 @@ systemProp.org.gradle.internal.publish.checksums.insecure=true # See: https://github.com/gradle/gradle/issues/8139 org.gradle.jvmargs=-Xmx2g -XX:+HeapDumpOnOutOfMemoryError -kotlinJvmVersion = 1.8 +kotlinJvmVersion = 17 diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index 7ebef551e8..8878b64e3f 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -1,10 +1,10 @@ [versions] -android-plugin = "7.1.2" +android-plugin = "8.0.0-alpha11" classgraph = "4.8.149" dataloader = "3.2.0" federation = "2.2.0" graphql-java = "19.2" -jackson = "2.13.3" +jackson = "2.14.1" kotlin = "1.7.21" kotlinx-benchmark = "0.4.4" kotlinx-coroutines = "1.6.4" @@ -15,11 +15,11 @@ maven-plugin-api = "3.6.3" maven-project = "2.2.1" poet = "1.12.0" ## reactorVersion should be the same reactor-core version pulled from spring-boot-starter-webflux -reactor-core = "3.4.26" -reactor-extensions = "1.1.9" +reactor-core = "3.5.1" +reactor-extensions = "1.2.1" slf4j = "1.7.36" -spring = "5.3.24" -spring-boot = "2.7.7" +spring = "6.0.3" +spring-boot = "3.0.1" # test dependencies # kotlin-compile-testing has to be using the same kotlin version as the kotlinx-serialization compiler @@ -27,9 +27,9 @@ spring-boot = "2.7.7" # versions of kotlin, switching to a fork https://github.com/ZacSweers/kotlin-compile-testing compile-testing = "0.1.0" icu = "71.1" -junit = "5.8.2" +junit = "5.9.1" logback = "1.2.1" -mockk = "1.12.5" +mockk = "1.13.3" rxjava = "3.1.5" wiremock = "2.33.2" @@ -40,7 +40,7 @@ jacoco = "0.8.8" # klint gradle plugin breaks with 0.46.x+ ktlint-core = "0.45.2" ktlint-plugin = "10.3.0" -maven-plugin-development = "0.4.0" +maven-plugin-development = "0.4.1" nexus-publish-plugin = "1.1.0" plugin-publish = "0.21.0" diff --git a/integration/federation-compatibility/build.gradle.kts b/integration/federation-compatibility/build.gradle.kts index 0b3eddac7a..c5f209357e 100644 --- a/integration/federation-compatibility/build.gradle.kts +++ b/integration/federation-compatibility/build.gradle.kts @@ -10,7 +10,6 @@ plugins { } group = "com.expediagroup.federation.compatibility" -java.sourceCompatibility = JavaVersion.VERSION_11 repositories { mavenCentral() @@ -28,15 +27,19 @@ dependencies { graphqlSDL("com.expediagroup", "graphql-kotlin-federated-hooks-provider") } -tasks.withType { - kotlinOptions { - freeCompilerArgs = listOf("-Xjsr305=strict") - jvmTarget = "11" - } -} - -tasks.withType { - useJUnitPlatform() +tasks { + kotlin { + jvmToolchain(17) + } + withType { + kotlinOptions { + jvmTarget = "17" + freeCompilerArgs = listOf("-Xjsr305=strict") + } + } + withType { + useJUnitPlatform() + } } graphql { diff --git a/integration/gradle-plugin-android-test/app/build.gradle.kts b/integration/gradle-plugin-android-test/app/build.gradle.kts index 8a6caaf294..02146e7318 100644 --- a/integration/gradle-plugin-android-test/app/build.gradle.kts +++ b/integration/gradle-plugin-android-test/app/build.gradle.kts @@ -8,12 +8,13 @@ plugins { android { compileSdk = 30 compileOptions { - sourceCompatibility = JavaVersion.VERSION_1_8 - targetCompatibility = JavaVersion.VERSION_1_8 + sourceCompatibility = JavaVersion.VERSION_17 + targetCompatibility = JavaVersion.VERSION_17 } kotlinOptions { - jvmTarget = "1.8" + jvmTarget = "17" } + namespace = "com.expediagroup.graphqlkotlin" } dependencies { diff --git a/integration/gradle-plugin-android-test/app/src/main/AndroidManifest.xml b/integration/gradle-plugin-android-test/app/src/main/AndroidManifest.xml index 90a023bff9..8bdb7e14b3 100644 --- a/integration/gradle-plugin-android-test/app/src/main/AndroidManifest.xml +++ b/integration/gradle-plugin-android-test/app/src/main/AndroidManifest.xml @@ -1,4 +1,4 @@ - + diff --git a/integration/gradle-plugin-android-test/gradle/wrapper/gradle-wrapper.jar b/integration/gradle-plugin-android-test/gradle/wrapper/gradle-wrapper.jar index 249e5832f0..943f0cbfa7 100644 Binary files a/integration/gradle-plugin-android-test/gradle/wrapper/gradle-wrapper.jar and b/integration/gradle-plugin-android-test/gradle/wrapper/gradle-wrapper.jar differ diff --git a/integration/gradle-plugin-android-test/gradle/wrapper/gradle-wrapper.properties b/integration/gradle-plugin-android-test/gradle/wrapper/gradle-wrapper.properties index 070cb702f0..f398c33c4b 100644 --- a/integration/gradle-plugin-android-test/gradle/wrapper/gradle-wrapper.properties +++ b/integration/gradle-plugin-android-test/gradle/wrapper/gradle-wrapper.properties @@ -1,5 +1,6 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists distributionUrl=https\://services.gradle.org/distributions/gradle-7.6-bin.zip +networkTimeout=10000 zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists diff --git a/integration/gradle-plugin-android-test/gradlew b/integration/gradle-plugin-android-test/gradlew index a69d9cb6c2..65dcd68d65 100755 --- a/integration/gradle-plugin-android-test/gradlew +++ b/integration/gradle-plugin-android-test/gradlew @@ -55,7 +55,7 @@ # Darwin, MinGW, and NonStop. # # (3) This script is generated from the Groovy template -# https://github.com/gradle/gradle/blob/master/subprojects/plugins/src/main/resources/org/gradle/api/internal/plugins/unixStartScript.txt +# https://github.com/gradle/gradle/blob/HEAD/subprojects/plugins/src/main/resources/org/gradle/api/internal/plugins/unixStartScript.txt # within the Gradle project. # # You can find Gradle at https://github.com/gradle/gradle/. @@ -80,10 +80,10 @@ do esac done -APP_HOME=$( cd "${APP_HOME:-./}" && pwd -P ) || exit - -APP_NAME="Gradle" +# This is normally unused +# shellcheck disable=SC2034 APP_BASE_NAME=${0##*/} +APP_HOME=$( cd "${APP_HOME:-./}" && pwd -P ) || exit # Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"' @@ -143,12 +143,16 @@ fi if ! "$cygwin" && ! "$darwin" && ! "$nonstop" ; then case $MAX_FD in #( max*) + # In POSIX sh, ulimit -H is undefined. That's why the result is checked to see if it worked. + # shellcheck disable=SC3045 MAX_FD=$( ulimit -H -n ) || warn "Could not query maximum file descriptor limit" esac case $MAX_FD in #( '' | soft) :;; #( *) + # In POSIX sh, ulimit -n is undefined. That's why the result is checked to see if it worked. + # shellcheck disable=SC3045 ulimit -n "$MAX_FD" || warn "Could not set maximum file descriptor limit to $MAX_FD" esac diff --git a/integration/gradle-plugin-android-test/gradlew.bat b/integration/gradle-plugin-android-test/gradlew.bat index 53a6b238d4..6689b85bee 100644 --- a/integration/gradle-plugin-android-test/gradlew.bat +++ b/integration/gradle-plugin-android-test/gradlew.bat @@ -26,6 +26,7 @@ if "%OS%"=="Windows_NT" setlocal set DIRNAME=%~dp0 if "%DIRNAME%"=="" set DIRNAME=. +@rem This is normally unused set APP_BASE_NAME=%~n0 set APP_HOME=%DIRNAME% diff --git a/integration/gradle-plugin-integration-tests/build.gradle.kts b/integration/gradle-plugin-integration-tests/build.gradle.kts index 6a368572ce..64a60a21d5 100644 --- a/integration/gradle-plugin-integration-tests/build.gradle.kts +++ b/integration/gradle-plugin-integration-tests/build.gradle.kts @@ -75,7 +75,7 @@ tasks { } for (projectName in listOf(":download-sdl-groovy-it", ":download-sdl-kotlin-it")) { - project("$projectName") { + project(projectName) { ext.set("wireMockServerPort", extension.port) project.afterEvaluate { @@ -88,7 +88,7 @@ for (projectName in listOf(":download-sdl-groovy-it", ":download-sdl-kotlin-it") } for (projectName in listOf(":introspection-groovy-it", ":introspection-kotlin-it")) { - project("$projectName") { + project(projectName) { ext.set("wireMockServerPort", extension.port) project.afterEvaluate { diff --git a/integration/gradle-plugin-integration-tests/buildSrc/build.gradle.kts b/integration/gradle-plugin-integration-tests/buildSrc/build.gradle.kts index 855c290d44..ab7bc08479 100644 --- a/integration/gradle-plugin-integration-tests/buildSrc/build.gradle.kts +++ b/integration/gradle-plugin-integration-tests/buildSrc/build.gradle.kts @@ -1,13 +1,13 @@ -import org.gradle.kotlin.dsl.`kotlin-dsl` - plugins { `kotlin-dsl` } repositories { mavenCentral() + gradlePluginPortal() } dependencies { implementation(libs.kotlin.gradle.api) + implementation(libs.kotlin.gradle.plugin) } diff --git a/integration/gradle-plugin-integration-tests/buildSrc/src/main/kotlin/com.expediagroup.it-conventions.gradle.kts b/integration/gradle-plugin-integration-tests/buildSrc/src/main/kotlin/com.expediagroup.it-conventions.gradle.kts new file mode 100644 index 0000000000..f7453c4fb6 --- /dev/null +++ b/integration/gradle-plugin-integration-tests/buildSrc/src/main/kotlin/com.expediagroup.it-conventions.gradle.kts @@ -0,0 +1,19 @@ +import org.jetbrains.kotlin.gradle.tasks.KotlinCompile + +plugins { + kotlin("jvm") +} + +tasks { + kotlin { + jvmToolchain(17) + } + val kotlinJvmVersion: String by project + withType { + kotlinOptions { + // intellij gets confused without it + jvmTarget = kotlinJvmVersion + freeCompilerArgs = listOf("-Xjsr305=strict") + } + } +} diff --git a/integration/gradle-plugin-integration-tests/buildSrc/src/main/kotlin/com/expediagroup/it/VerifyFileExistsTask.kt b/integration/gradle-plugin-integration-tests/buildSrc/src/main/kotlin/com/expediagroup/it/VerifyFileExistsTask.kt deleted file mode 100644 index 3602e9a924..0000000000 --- a/integration/gradle-plugin-integration-tests/buildSrc/src/main/kotlin/com/expediagroup/it/VerifyFileExistsTask.kt +++ /dev/null @@ -1,28 +0,0 @@ -package com.expediagroup.it - -import org.gradle.api.DefaultTask -import org.gradle.api.file.RegularFileProperty -import org.gradle.api.tasks.InputFile -import org.gradle.api.tasks.TaskAction - -abstract class VerifyFileExistsTask : DefaultTask() { - - @get:InputFile - abstract val actualSchema: RegularFileProperty - - @get:InputFile - abstract val expectedSchema: RegularFileProperty - - @TaskAction - fun test() { - if (!actualSchema.get().asFile.exists()) { - throw RuntimeException("schema file was not generated") - } - - val expected = expectedSchema.get().asFile.readText() - val actual = actualSchema.get().asFile.readText() - if (expected != actual) { - throw RuntimeException("generated schema file was different.\n---expected---\n$expected\n\n---actual---\n$actual") - } - } -} diff --git a/integration/gradle-plugin-integration-tests/client-generator/custom-scalars-jackson/build.gradle.kts b/integration/gradle-plugin-integration-tests/client-generator/custom-scalars-jackson/build.gradle.kts index d6f3b60145..7d2819b626 100644 --- a/integration/gradle-plugin-integration-tests/client-generator/custom-scalars-jackson/build.gradle.kts +++ b/integration/gradle-plugin-integration-tests/client-generator/custom-scalars-jackson/build.gradle.kts @@ -4,8 +4,8 @@ import com.expediagroup.graphql.plugin.gradle.tasks.GraphQLGenerateTestClientTas @Suppress("DSL_SCOPE_VIOLATION") // TODO: remove once KTIJ-19369 / Gradle#22797 is fixed plugins { + id("com.expediagroup.it-conventions") id("com.expediagroup.graphql") - alias(libs.plugins.kotlin.jvm) alias(libs.plugins.kotlin.spring) alias(libs.plugins.spring.boot) } diff --git a/integration/gradle-plugin-integration-tests/client-generator/custom-scalars-kotlinx/build.gradle.kts b/integration/gradle-plugin-integration-tests/client-generator/custom-scalars-kotlinx/build.gradle.kts index 0af31e3b38..01ef49610d 100644 --- a/integration/gradle-plugin-integration-tests/client-generator/custom-scalars-kotlinx/build.gradle.kts +++ b/integration/gradle-plugin-integration-tests/client-generator/custom-scalars-kotlinx/build.gradle.kts @@ -4,8 +4,8 @@ import com.expediagroup.graphql.plugin.gradle.tasks.GraphQLGenerateTestClientTas @Suppress("DSL_SCOPE_VIOLATION") // TODO: remove once KTIJ-19369 / Gradle#22797 is fixed plugins { + id("com.expediagroup.it-conventions") id("com.expediagroup.graphql") - alias(libs.plugins.kotlin.jvm) alias(libs.plugins.kotlin.serialization) } diff --git a/integration/gradle-plugin-integration-tests/client-generator/groovy-extension/build.gradle b/integration/gradle-plugin-integration-tests/client-generator/groovy-extension/build.gradle index c230acc528..7a40db6f7f 100644 --- a/integration/gradle-plugin-integration-tests/client-generator/groovy-extension/build.gradle +++ b/integration/gradle-plugin-integration-tests/client-generator/groovy-extension/build.gradle @@ -1,8 +1,8 @@ import com.expediagroup.graphql.plugin.gradle.config.GraphQLSerializer plugins { + id 'com.expediagroup.it-conventions' id 'com.expediagroup.graphql' - alias(libs.plugins.kotlin.jvm) } dependencies { diff --git a/integration/gradle-plugin-integration-tests/client-generator/groovy-task/build.gradle b/integration/gradle-plugin-integration-tests/client-generator/groovy-task/build.gradle index 4f28b4f394..f084baeabf 100644 --- a/integration/gradle-plugin-integration-tests/client-generator/groovy-task/build.gradle +++ b/integration/gradle-plugin-integration-tests/client-generator/groovy-task/build.gradle @@ -1,8 +1,8 @@ import com.expediagroup.graphql.plugin.gradle.config.GraphQLSerializer plugins { + id 'com.expediagroup.it-conventions' id 'com.expediagroup.graphql' - alias(libs.plugins.kotlin.jvm) } dependencies { diff --git a/integration/gradle-plugin-integration-tests/client-generator/jacoco/build.gradle.kts b/integration/gradle-plugin-integration-tests/client-generator/jacoco/build.gradle.kts index 197de7c79b..c43da4fed6 100644 --- a/integration/gradle-plugin-integration-tests/client-generator/jacoco/build.gradle.kts +++ b/integration/gradle-plugin-integration-tests/client-generator/jacoco/build.gradle.kts @@ -2,8 +2,8 @@ import com.expediagroup.graphql.plugin.gradle.graphql @Suppress("DSL_SCOPE_VIOLATION") // TODO: remove once KTIJ-19369 / Gradle#22797 is fixed plugins { + id("com.expediagroup.it-conventions") id("com.expediagroup.graphql") - alias(libs.plugins.kotlin.jvm) jacoco } diff --git a/integration/gradle-plugin-integration-tests/client-generator/kotlin-extension/build.gradle.kts b/integration/gradle-plugin-integration-tests/client-generator/kotlin-extension/build.gradle.kts index dacf11eca7..5f2d8d2ea0 100644 --- a/integration/gradle-plugin-integration-tests/client-generator/kotlin-extension/build.gradle.kts +++ b/integration/gradle-plugin-integration-tests/client-generator/kotlin-extension/build.gradle.kts @@ -1,10 +1,9 @@ -import com.expediagroup.graphql.plugin.gradle.config.GraphQLSerializer import com.expediagroup.graphql.plugin.gradle.graphql @Suppress("DSL_SCOPE_VIOLATION") // TODO: remove once KTIJ-19369 / Gradle#22797 is fixed plugins { + id("com.expediagroup.it-conventions") id("com.expediagroup.graphql") - alias(libs.plugins.kotlin.jvm) } dependencies { diff --git a/integration/gradle-plugin-integration-tests/client-generator/kotlin-task/build.gradle.kts b/integration/gradle-plugin-integration-tests/client-generator/kotlin-task/build.gradle.kts index 099ba010be..eb361c61a3 100644 --- a/integration/gradle-plugin-integration-tests/client-generator/kotlin-task/build.gradle.kts +++ b/integration/gradle-plugin-integration-tests/client-generator/kotlin-task/build.gradle.kts @@ -1,10 +1,9 @@ -import com.expediagroup.graphql.plugin.gradle.config.GraphQLSerializer import com.expediagroup.graphql.plugin.gradle.tasks.GraphQLGenerateClientTask @Suppress("DSL_SCOPE_VIOLATION") // TODO: remove once KTIJ-19369 / Gradle#22797 is fixed plugins { + id("com.expediagroup.it-conventions") id("com.expediagroup.graphql") - alias(libs.plugins.kotlin.jvm) } dependencies { diff --git a/integration/gradle-plugin-integration-tests/client-generator/ktor-jackson/build.gradle.kts b/integration/gradle-plugin-integration-tests/client-generator/ktor-jackson/build.gradle.kts index cd3c89e8e0..1ff2cdff6d 100644 --- a/integration/gradle-plugin-integration-tests/client-generator/ktor-jackson/build.gradle.kts +++ b/integration/gradle-plugin-integration-tests/client-generator/ktor-jackson/build.gradle.kts @@ -4,9 +4,8 @@ import com.expediagroup.graphql.plugin.gradle.tasks.GraphQLGenerateTestClientTas @Suppress("DSL_SCOPE_VIOLATION") // TODO: remove once KTIJ-19369 / Gradle#22797 is fixed plugins { + id("com.expediagroup.it-conventions") id("com.expediagroup.graphql") - alias(libs.plugins.kotlin.jvm) - application } dependencies { diff --git a/integration/gradle-plugin-integration-tests/client-generator/ktor-kotlinx/build.gradle.kts b/integration/gradle-plugin-integration-tests/client-generator/ktor-kotlinx/build.gradle.kts index 34b6e184b7..6c52fddd22 100644 --- a/integration/gradle-plugin-integration-tests/client-generator/ktor-kotlinx/build.gradle.kts +++ b/integration/gradle-plugin-integration-tests/client-generator/ktor-kotlinx/build.gradle.kts @@ -4,8 +4,8 @@ import com.expediagroup.graphql.plugin.gradle.tasks.GraphQLGenerateTestClientTas @Suppress("DSL_SCOPE_VIOLATION") // TODO: remove once KTIJ-19369 / Gradle#22797 is fixed plugins { + id("com.expediagroup.it-conventions") id("com.expediagroup.graphql") - alias(libs.plugins.kotlin.jvm) alias(libs.plugins.kotlin.serialization) } diff --git a/integration/gradle-plugin-integration-tests/client-generator/multiple-tasks/build.gradle.kts b/integration/gradle-plugin-integration-tests/client-generator/multiple-tasks/build.gradle.kts index bc1a81cb47..a800e9d58b 100644 --- a/integration/gradle-plugin-integration-tests/client-generator/multiple-tasks/build.gradle.kts +++ b/integration/gradle-plugin-integration-tests/client-generator/multiple-tasks/build.gradle.kts @@ -2,8 +2,8 @@ import com.expediagroup.graphql.plugin.gradle.tasks.GraphQLGenerateClientTask @Suppress("DSL_SCOPE_VIOLATION") // TODO: remove once KTIJ-19369 / Gradle#22797 is fixed plugins { + id("com.expediagroup.it-conventions") id("com.expediagroup.graphql") - alias(libs.plugins.kotlin.jvm) } dependencies { diff --git a/integration/gradle-plugin-integration-tests/client-generator/polymorphic-types-jackson/build.gradle.kts b/integration/gradle-plugin-integration-tests/client-generator/polymorphic-types-jackson/build.gradle.kts index cd6de5a615..0b9fcec884 100644 --- a/integration/gradle-plugin-integration-tests/client-generator/polymorphic-types-jackson/build.gradle.kts +++ b/integration/gradle-plugin-integration-tests/client-generator/polymorphic-types-jackson/build.gradle.kts @@ -3,8 +3,8 @@ import com.expediagroup.graphql.plugin.gradle.tasks.GraphQLGenerateTestClientTas @Suppress("DSL_SCOPE_VIOLATION") // TODO: remove once KTIJ-19369 / Gradle#22797 is fixed plugins { + id("com.expediagroup.it-conventions") id("com.expediagroup.graphql") - alias(libs.plugins.kotlin.jvm) alias(libs.plugins.kotlin.spring) alias(libs.plugins.spring.boot) } diff --git a/integration/gradle-plugin-integration-tests/client-generator/polymorphic-types-kotlinx/build.gradle.kts b/integration/gradle-plugin-integration-tests/client-generator/polymorphic-types-kotlinx/build.gradle.kts index 2b2db3de65..5acff8d13e 100644 --- a/integration/gradle-plugin-integration-tests/client-generator/polymorphic-types-kotlinx/build.gradle.kts +++ b/integration/gradle-plugin-integration-tests/client-generator/polymorphic-types-kotlinx/build.gradle.kts @@ -3,8 +3,8 @@ import com.expediagroup.graphql.plugin.gradle.tasks.GraphQLGenerateTestClientTas @Suppress("DSL_SCOPE_VIOLATION") // TODO: remove once KTIJ-19369 / Gradle#22797 is fixed plugins { + id("com.expediagroup.it-conventions") id("com.expediagroup.graphql") - alias(libs.plugins.kotlin.jvm) alias(libs.plugins.kotlin.serialization) } diff --git a/integration/gradle-plugin-integration-tests/client-generator/skip-include/build.gradle.kts b/integration/gradle-plugin-integration-tests/client-generator/skip-include/build.gradle.kts index a9801816b2..9c3b6816d0 100644 --- a/integration/gradle-plugin-integration-tests/client-generator/skip-include/build.gradle.kts +++ b/integration/gradle-plugin-integration-tests/client-generator/skip-include/build.gradle.kts @@ -3,8 +3,8 @@ import com.expediagroup.graphql.plugin.gradle.tasks.GraphQLGenerateTestClientTas @Suppress("DSL_SCOPE_VIOLATION") // TODO: remove once KTIJ-19369 / Gradle#22797 is fixed plugins { + id("com.expediagroup.it-conventions") id("com.expediagroup.graphql") - alias(libs.plugins.kotlin.jvm) alias(libs.plugins.kotlin.spring) alias(libs.plugins.spring.boot) } diff --git a/integration/gradle-plugin-integration-tests/client-generator/webclient-jackson/build.gradle.kts b/integration/gradle-plugin-integration-tests/client-generator/webclient-jackson/build.gradle.kts index cd08cde2fa..00af1d800f 100644 --- a/integration/gradle-plugin-integration-tests/client-generator/webclient-jackson/build.gradle.kts +++ b/integration/gradle-plugin-integration-tests/client-generator/webclient-jackson/build.gradle.kts @@ -4,8 +4,8 @@ import com.expediagroup.graphql.plugin.gradle.tasks.GraphQLGenerateTestClientTas @Suppress("DSL_SCOPE_VIOLATION") // TODO: remove once KTIJ-19369 / Gradle#22797 is fixed plugins { + id("com.expediagroup.it-conventions") id("com.expediagroup.graphql") - alias(libs.plugins.kotlin.jvm) alias(libs.plugins.kotlin.spring) alias(libs.plugins.spring.boot) } diff --git a/integration/gradle-plugin-integration-tests/client-generator/webclient-kotlinx/build.gradle.kts b/integration/gradle-plugin-integration-tests/client-generator/webclient-kotlinx/build.gradle.kts index 3ed3f2786d..e110ff614b 100644 --- a/integration/gradle-plugin-integration-tests/client-generator/webclient-kotlinx/build.gradle.kts +++ b/integration/gradle-plugin-integration-tests/client-generator/webclient-kotlinx/build.gradle.kts @@ -4,8 +4,8 @@ import com.expediagroup.graphql.plugin.gradle.tasks.GraphQLGenerateTestClientTas @Suppress("DSL_SCOPE_VIOLATION") // TODO: remove once KTIJ-19369 / Gradle#22797 is fixed plugins { + id("com.expediagroup.it-conventions") id("com.expediagroup.graphql") - alias(libs.plugins.kotlin.jvm) alias(libs.plugins.kotlin.serialization) // issue https://github.com/ExpediaGroup/graphql-kotlin/issues/1625 // alias(libs.plugins.kotlin.spring) diff --git a/integration/gradle-plugin-integration-tests/download-sdl/groovy/build.gradle b/integration/gradle-plugin-integration-tests/download-sdl/groovy/build.gradle index 2ca5bee52d..63a3ae40ca 100644 --- a/integration/gradle-plugin-integration-tests/download-sdl/groovy/build.gradle +++ b/integration/gradle-plugin-integration-tests/download-sdl/groovy/build.gradle @@ -1,6 +1,6 @@ plugins { + id 'com.expediagroup.it-conventions' id 'com.expediagroup.graphql' - alias(libs.plugins.kotlin.jvm) } dependencies { diff --git a/integration/gradle-plugin-integration-tests/download-sdl/kotlin/build.gradle.kts b/integration/gradle-plugin-integration-tests/download-sdl/kotlin/build.gradle.kts index 7ded75f851..a795bb0863 100644 --- a/integration/gradle-plugin-integration-tests/download-sdl/kotlin/build.gradle.kts +++ b/integration/gradle-plugin-integration-tests/download-sdl/kotlin/build.gradle.kts @@ -2,7 +2,7 @@ import com.expediagroup.graphql.plugin.gradle.tasks.GraphQLDownloadSDLTask @Suppress("DSL_SCOPE_VIOLATION") // TODO: remove once KTIJ-19369 / Gradle#22797 is fixed plugins { - alias(libs.plugins.kotlin.jvm) + id("com.expediagroup.it-conventions") id("com.expediagroup.graphql") } diff --git a/integration/gradle-plugin-integration-tests/introspection/groovy/build.gradle b/integration/gradle-plugin-integration-tests/introspection/groovy/build.gradle index f2a22bdaf2..dc41d4173f 100644 --- a/integration/gradle-plugin-integration-tests/introspection/groovy/build.gradle +++ b/integration/gradle-plugin-integration-tests/introspection/groovy/build.gradle @@ -1,6 +1,6 @@ plugins { + id 'com.expediagroup.it-conventions' id 'com.expediagroup.graphql' - alias(libs.plugins.kotlin.jvm) } dependencies { diff --git a/integration/gradle-plugin-integration-tests/introspection/kotlin/build.gradle.kts b/integration/gradle-plugin-integration-tests/introspection/kotlin/build.gradle.kts index d498e3aff5..ceb91d1936 100644 --- a/integration/gradle-plugin-integration-tests/introspection/kotlin/build.gradle.kts +++ b/integration/gradle-plugin-integration-tests/introspection/kotlin/build.gradle.kts @@ -2,7 +2,7 @@ import com.expediagroup.graphql.plugin.gradle.tasks.GraphQLIntrospectSchemaTask @Suppress("DSL_SCOPE_VIOLATION") // TODO: re plugins { - alias(libs.plugins.kotlin.jvm) + id("com.expediagroup.it-conventions") id("com.expediagroup.graphql") } diff --git a/integration/gradle-plugin-integration-tests/sdl/classpath-hooks/build.gradle.kts b/integration/gradle-plugin-integration-tests/sdl/classpath-hooks/build.gradle.kts index 104626a717..4a1345bf80 100644 --- a/integration/gradle-plugin-integration-tests/sdl/classpath-hooks/build.gradle.kts +++ b/integration/gradle-plugin-integration-tests/sdl/classpath-hooks/build.gradle.kts @@ -3,8 +3,8 @@ import com.expediagroup.it.VerifyGenerateSDLTask @Suppress("DSL_SCOPE_VIOLATION") // TODO: remove once KTIJ-19369 / Gradle#22797 is fixed plugins { + id("com.expediagroup.it-conventions") id("com.expediagroup.graphql") - alias(libs.plugins.kotlin.jvm) alias(libs.plugins.kotlin.spring) alias(libs.plugins.spring.boot) } diff --git a/integration/gradle-plugin-integration-tests/sdl/extension-groovy/build.gradle b/integration/gradle-plugin-integration-tests/sdl/extension-groovy/build.gradle index cfb2185263..bf030ba162 100644 --- a/integration/gradle-plugin-integration-tests/sdl/extension-groovy/build.gradle +++ b/integration/gradle-plugin-integration-tests/sdl/extension-groovy/build.gradle @@ -1,10 +1,10 @@ import com.expediagroup.it.VerifyGenerateSDLTask plugins { - id 'com.expediagroup.graphql' - alias(libs.plugins.kotlin.jvm) - alias(libs.plugins.kotlin.spring) - alias(libs.plugins.spring.boot) + id 'com.expediagroup.it-conventions' + id 'com.expediagroup.graphql' + alias(libs.plugins.kotlin.spring) + alias(libs.plugins.spring.boot) } dependencies { @@ -13,9 +13,9 @@ dependencies { } graphql { - schema { - packages = ["com.example"] - } + schema { + packages = ["com.example"] + } } // integration test diff --git a/integration/gradle-plugin-integration-tests/sdl/extension-kotlin/build.gradle.kts b/integration/gradle-plugin-integration-tests/sdl/extension-kotlin/build.gradle.kts index ced8eae18c..229cc5507e 100644 --- a/integration/gradle-plugin-integration-tests/sdl/extension-kotlin/build.gradle.kts +++ b/integration/gradle-plugin-integration-tests/sdl/extension-kotlin/build.gradle.kts @@ -3,8 +3,8 @@ import com.expediagroup.it.VerifyGenerateSDLTask @Suppress("DSL_SCOPE_VIOLATION") // TODO: remove once KTIJ-19369 / Gradle#22797 is fixed plugins { + id("com.expediagroup.it-conventions") id("com.expediagroup.graphql") - alias(libs.plugins.kotlin.jvm) alias(libs.plugins.kotlin.spring) alias(libs.plugins.spring.boot) } diff --git a/integration/gradle-plugin-integration-tests/sdl/federated-hooks/build.gradle.kts b/integration/gradle-plugin-integration-tests/sdl/federated-hooks/build.gradle.kts index f1b9681fec..2369ffb7fd 100644 --- a/integration/gradle-plugin-integration-tests/sdl/federated-hooks/build.gradle.kts +++ b/integration/gradle-plugin-integration-tests/sdl/federated-hooks/build.gradle.kts @@ -3,8 +3,8 @@ import com.expediagroup.it.VerifyGenerateSDLTask @Suppress("DSL_SCOPE_VIOLATION") // TODO: remove once KTIJ-19369 / Gradle#22797 is fixed plugins { + id("com.expediagroup.it-conventions") id("com.expediagroup.graphql") - alias(libs.plugins.kotlin.jvm) alias(libs.plugins.kotlin.spring) alias(libs.plugins.spring.boot) } diff --git a/integration/gradle-plugin-integration-tests/sdl/task-groovy/build.gradle b/integration/gradle-plugin-integration-tests/sdl/task-groovy/build.gradle index 87423cd5a2..ebf58ea8b4 100644 --- a/integration/gradle-plugin-integration-tests/sdl/task-groovy/build.gradle +++ b/integration/gradle-plugin-integration-tests/sdl/task-groovy/build.gradle @@ -1,8 +1,8 @@ import com.expediagroup.it.VerifyGenerateSDLTask plugins { + id 'com.expediagroup.it-conventions' id 'com.expediagroup.graphql' - alias(libs.plugins.kotlin.jvm) alias(libs.plugins.kotlin.spring) alias(libs.plugins.spring.boot) } diff --git a/integration/gradle-plugin-integration-tests/sdl/task-kotlin/build.gradle.kts b/integration/gradle-plugin-integration-tests/sdl/task-kotlin/build.gradle.kts index 592c92a423..655f960a01 100644 --- a/integration/gradle-plugin-integration-tests/sdl/task-kotlin/build.gradle.kts +++ b/integration/gradle-plugin-integration-tests/sdl/task-kotlin/build.gradle.kts @@ -3,8 +3,8 @@ import com.expediagroup.it.VerifyGenerateSDLTask @Suppress("DSL_SCOPE_VIOLATION") // TODO: remove once KTIJ-19369 / Gradle#22797 is fixed plugins { + id("com.expediagroup.it-conventions") id("com.expediagroup.graphql") - alias(libs.plugins.kotlin.jvm) alias(libs.plugins.kotlin.spring) alias(libs.plugins.spring.boot) } diff --git a/servers/graphql-kotlin-spring-server/src/main/kotlin/com/expediagroup/graphql/server/spring/GraphQLConfigurationProperties.kt b/servers/graphql-kotlin-spring-server/src/main/kotlin/com/expediagroup/graphql/server/spring/GraphQLConfigurationProperties.kt index bab3c0bada..5d622cf4f0 100644 --- a/servers/graphql-kotlin-spring-server/src/main/kotlin/com/expediagroup/graphql/server/spring/GraphQLConfigurationProperties.kt +++ b/servers/graphql-kotlin-spring-server/src/main/kotlin/com/expediagroup/graphql/server/spring/GraphQLConfigurationProperties.kt @@ -17,12 +17,10 @@ package com.expediagroup.graphql.server.spring import org.springframework.boot.context.properties.ConfigurationProperties -import org.springframework.boot.context.properties.ConstructorBinding /** * [ConfigurationProperties] bean that defines supported GraphQL configuration options. */ -@ConstructorBinding @ConfigurationProperties("graphql") data class GraphQLConfigurationProperties( /** GraphQL server endpoint, defaults to 'graphql' */ diff --git a/servers/graphql-kotlin-spring-server/src/main/kotlin/com/expediagroup/graphql/server/spring/execution/SpringGraphQLRequestParser.kt b/servers/graphql-kotlin-spring-server/src/main/kotlin/com/expediagroup/graphql/server/spring/execution/SpringGraphQLRequestParser.kt index b08e364e61..a1542a817e 100644 --- a/servers/graphql-kotlin-spring-server/src/main/kotlin/com/expediagroup/graphql/server/spring/execution/SpringGraphQLRequestParser.kt +++ b/servers/graphql-kotlin-spring-server/src/main/kotlin/com/expediagroup/graphql/server/spring/execution/SpringGraphQLRequestParser.kt @@ -42,7 +42,7 @@ open class SpringGraphQLRequestParser( override suspend fun parseRequest(request: ServerRequest): GraphQLServerRequest? = when { request.queryParam(REQUEST_PARAM_QUERY).isPresent -> { getRequestFromGet(request) } - request.method() == HttpMethod.POST -> { getRequestFromPost(request) } + request.method().equals(HttpMethod.POST) -> { getRequestFromPost(request) } else -> null } diff --git a/servers/graphql-kotlin-spring-server/src/main/resources/META-INF/spring.factories b/servers/graphql-kotlin-spring-server/src/main/resources/META-INF/spring.factories deleted file mode 100644 index 431c6e5139..0000000000 --- a/servers/graphql-kotlin-spring-server/src/main/resources/META-INF/spring.factories +++ /dev/null @@ -1 +0,0 @@ -org.springframework.boot.autoconfigure.EnableAutoConfiguration=com.expediagroup.graphql.server.spring.GraphQLAutoConfiguration diff --git a/servers/graphql-kotlin-spring-server/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports b/servers/graphql-kotlin-spring-server/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports new file mode 100644 index 0000000000..1aed4adf2b --- /dev/null +++ b/servers/graphql-kotlin-spring-server/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports @@ -0,0 +1 @@ +com.expediagroup.graphql.server.spring.GraphQLAutoConfiguration diff --git a/servers/graphql-kotlin-spring-server/src/test/kotlin/com/expediagroup/graphql/server/spring/routes/SubscriptionRoutesConfigurationIT.kt b/servers/graphql-kotlin-spring-server/src/test/kotlin/com/expediagroup/graphql/server/spring/routes/SubscriptionRoutesConfigurationIT.kt index 04161a1c7c..41ff7a43b4 100644 --- a/servers/graphql-kotlin-spring-server/src/test/kotlin/com/expediagroup/graphql/server/spring/routes/SubscriptionRoutesConfigurationIT.kt +++ b/servers/graphql-kotlin-spring-server/src/test/kotlin/com/expediagroup/graphql/server/spring/routes/SubscriptionRoutesConfigurationIT.kt @@ -30,7 +30,7 @@ import org.junit.jupiter.api.Test import org.springframework.beans.factory.annotation.Autowired import org.springframework.boot.autoconfigure.EnableAutoConfiguration import org.springframework.boot.test.context.SpringBootTest -import org.springframework.boot.web.server.LocalServerPort +import org.springframework.boot.test.web.server.LocalServerPort import org.springframework.context.annotation.Bean import org.springframework.context.annotation.Configuration import org.springframework.http.MediaType diff --git a/servers/graphql-kotlin-spring-server/src/test/kotlin/com/expediagroup/graphql/server/spring/subscriptions/SubscriptionWebSocketHandlerIT.kt b/servers/graphql-kotlin-spring-server/src/test/kotlin/com/expediagroup/graphql/server/spring/subscriptions/SubscriptionWebSocketHandlerIT.kt index fe34d8cec3..6c1062befd 100644 --- a/servers/graphql-kotlin-spring-server/src/test/kotlin/com/expediagroup/graphql/server/spring/subscriptions/SubscriptionWebSocketHandlerIT.kt +++ b/servers/graphql-kotlin-spring-server/src/test/kotlin/com/expediagroup/graphql/server/spring/subscriptions/SubscriptionWebSocketHandlerIT.kt @@ -29,7 +29,7 @@ import graphql.schema.DataFetchingEnvironment import org.junit.jupiter.api.Test import org.springframework.boot.autoconfigure.EnableAutoConfiguration import org.springframework.boot.test.context.SpringBootTest -import org.springframework.boot.web.server.LocalServerPort +import org.springframework.boot.test.web.server.LocalServerPort import org.springframework.context.annotation.Bean import org.springframework.context.annotation.Configuration import org.springframework.http.HttpHeaders