diff --git a/.github/native-tests.json b/.github/native-tests.json index 38a89f7cd0fc6..6d90e7b2f8b57 100644 --- a/.github/native-tests.json +++ b/.github/native-tests.json @@ -93,7 +93,7 @@ { "category": "HTTP", "timeout": 70, - "test-modules": "elytron-resteasy, resteasy-jackson, resteasy-mutiny, resteasy-reactive-kotlin, vertx, vertx-http, vertx-web, vertx-web-jackson, vertx-graphql, virtual-http, rest-client", + "test-modules": "elytron-resteasy, resteasy-jackson, resteasy-mutiny, resteasy-reactive-kotlin/standard, vertx, vertx-http, vertx-web, vertx-web-jackson, vertx-graphql, virtual-http, rest-client", "os-name": "ubuntu-latest" }, { diff --git a/integration-tests/resteasy-reactive-kotlin/pom.xml b/integration-tests/resteasy-reactive-kotlin/pom.xml index 4fc33fe3b7929..92515457261da 100644 --- a/integration-tests/resteasy-reactive-kotlin/pom.xml +++ b/integration-tests/resteasy-reactive-kotlin/pom.xml @@ -10,150 +10,15 @@ 999-SNAPSHOT - quarkus-integration-test-resteasy-reactive-kotlin + quarkus-integration-test-resteasy-reactive-kotlin-parent + Quarkus - Integration Tests - RESTEasy Reactive Kotlin - Parent + pom - Quarkus - Integration Tests - RESTEasy Reactive Kotlin + + standard + prod-mode + - - - io.quarkus - quarkus-resteasy-reactive - - - io.quarkus - quarkus-kotlin - - - io.quarkus - quarkus-arc - - - io.quarkus - quarkus-junit5 - test - - - io.rest-assured - rest-assured - test - - - org.jetbrains.kotlinx - kotlinx-coroutines-core-jvm - 1.4.2 - - - org.jetbrains.kotlin - kotlin-stdlib-jdk8 - ${kotlin.version} - - - org.jetbrains.kotlin - kotlin-reflect - ${kotlin.version} - - - io.rest-assured - kotlin-extensions - test - - - - - io.quarkus - quarkus-arc-deployment - ${project.version} - pom - test - - - * - * - - - - - io.quarkus - quarkus-kotlin-deployment - ${project.version} - pom - test - - - * - * - - - - - io.quarkus - quarkus-resteasy-reactive-deployment - ${project.version} - pom - test - - - * - * - - - - - - - - src/main/kotlin - src/test/kotlin - - - io.quarkus - quarkus-maven-plugin - - - - build - - - - - - org.jetbrains.kotlin - kotlin-maven-plugin - - - compile - - compile - - - - test-compile - - test-compile - - - - - - org.jetbrains.kotlin - kotlin-maven-allopen - ${kotlin.version} - - - - true - - all-open - - - - - - - - - - diff --git a/integration-tests/resteasy-reactive-kotlin/prod-mode/pom.xml b/integration-tests/resteasy-reactive-kotlin/prod-mode/pom.xml new file mode 100644 index 0000000000000..7c2d2b218000c --- /dev/null +++ b/integration-tests/resteasy-reactive-kotlin/prod-mode/pom.xml @@ -0,0 +1,164 @@ + + + 4.0.0 + + + quarkus-integration-test-resteasy-reactive-kotlin-parent + io.quarkus + 999-SNAPSHOT + + + quarkus-integration-test-resteasy-reactive-kotlin-prod-mode + + Quarkus - Integration Tests - RESTEasy Reactive Kotlin - Prod Mode tests + + + + io.quarkus + quarkus-resteasy-reactive + + + io.quarkus + quarkus-kotlin + + + io.quarkus + quarkus-arc + + + io.quarkus + quarkus-junit5 + test + + + io.quarkus + quarkus-junit5-internal + test + + + io.rest-assured + rest-assured + test + + + org.jetbrains.kotlinx + kotlinx-coroutines-core-jvm + 1.4.2 + + + org.jetbrains.kotlin + kotlin-stdlib-jdk8 + ${kotlin.version} + + + org.jetbrains.kotlin + kotlin-reflect + ${kotlin.version} + + + io.rest-assured + kotlin-extensions + test + + + + + io.quarkus + quarkus-arc-deployment + ${project.version} + pom + test + + + * + * + + + + + io.quarkus + quarkus-kotlin-deployment + ${project.version} + pom + test + + + * + * + + + + + io.quarkus + quarkus-resteasy-reactive-deployment + ${project.version} + pom + test + + + * + * + + + + + + + + src/main/kotlin + src/test/kotlin + + + io.quarkus + quarkus-maven-plugin + + + + build + + + + + + org.jetbrains.kotlin + kotlin-maven-plugin + + + compile + + compile + + + + test-compile + + test-compile + + + + + + org.jetbrains.kotlin + kotlin-maven-allopen + ${kotlin.version} + + + + true + + all-open + + + + + + + + + + + + + diff --git a/integration-tests/resteasy-reactive-kotlin/prod-mode/src/test/kotlin/io/quarkus/it/resteasy/reactive/kotlin/BlockingCoroutinesTest.java b/integration-tests/resteasy-reactive-kotlin/prod-mode/src/test/kotlin/io/quarkus/it/resteasy/reactive/kotlin/BlockingCoroutinesTest.java new file mode 100644 index 0000000000000..76039bae847da --- /dev/null +++ b/integration-tests/resteasy-reactive-kotlin/prod-mode/src/test/kotlin/io/quarkus/it/resteasy/reactive/kotlin/BlockingCoroutinesTest.java @@ -0,0 +1,43 @@ +package io.quarkus.it.resteasy.reactive.kotlin; + +import static org.junit.jupiter.api.Assertions.fail; + +import java.util.function.Supplier; + +import javax.ws.rs.Path; + +import org.jboss.shrinkwrap.api.ShrinkWrap; +import org.jboss.shrinkwrap.api.spec.JavaArchive; +import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.extension.RegisterExtension; + +import io.quarkus.test.QuarkusProdModeTest; +import io.smallrye.common.annotation.Blocking; + +public class BlockingCoroutinesTest { + + @RegisterExtension + static QuarkusProdModeTest test = new QuarkusProdModeTest() + .setArchiveProducer(new Supplier() { + @Override + public JavaArchive get() { + return ShrinkWrap.create(JavaArchive.class) + .addClasses(TestEndpoint.class); + } + }).setExpectedException(IllegalStateException.class); + + @Test + public void test() { + fail("Should never be called"); + } + + @Path("test") + static class TestEndpoint { + + @Path("hello") + @Blocking + public Object hello(kotlin.coroutines.Continuation cont) { + throw new IllegalStateException("should never be called"); + } + } +} diff --git a/integration-tests/resteasy-reactive-kotlin/standard/pom.xml b/integration-tests/resteasy-reactive-kotlin/standard/pom.xml new file mode 100644 index 0000000000000..e2f6cb2d2b219 --- /dev/null +++ b/integration-tests/resteasy-reactive-kotlin/standard/pom.xml @@ -0,0 +1,159 @@ + + + 4.0.0 + + + quarkus-integration-test-resteasy-reactive-kotlin-parent + io.quarkus + 999-SNAPSHOT + + + quarkus-integration-test-resteasy-reactive-kotlin-standard + + Quarkus - Integration Tests - RESTEasy Reactive Kotlin - Standard tests + + + + io.quarkus + quarkus-resteasy-reactive + + + io.quarkus + quarkus-kotlin + + + io.quarkus + quarkus-arc + + + io.quarkus + quarkus-junit5 + test + + + io.rest-assured + rest-assured + test + + + org.jetbrains.kotlinx + kotlinx-coroutines-core-jvm + 1.4.2 + + + org.jetbrains.kotlin + kotlin-stdlib-jdk8 + ${kotlin.version} + + + org.jetbrains.kotlin + kotlin-reflect + ${kotlin.version} + + + io.rest-assured + kotlin-extensions + test + + + + + io.quarkus + quarkus-arc-deployment + ${project.version} + pom + test + + + * + * + + + + + io.quarkus + quarkus-kotlin-deployment + ${project.version} + pom + test + + + * + * + + + + + io.quarkus + quarkus-resteasy-reactive-deployment + ${project.version} + pom + test + + + * + * + + + + + + + + src/main/kotlin + src/test/kotlin + + + io.quarkus + quarkus-maven-plugin + + + + build + + + + + + org.jetbrains.kotlin + kotlin-maven-plugin + + + compile + + compile + + + + test-compile + + test-compile + + + + + + org.jetbrains.kotlin + kotlin-maven-allopen + ${kotlin.version} + + + + true + + all-open + + + + + + + + + + + + + diff --git a/integration-tests/resteasy-reactive-kotlin/src/main/kotlin/io/quarkus/it/resteasy/reactive/kotlin/ReactiveGreetingResource.kt b/integration-tests/resteasy-reactive-kotlin/standard/src/main/kotlin/io/quarkus/it/resteasy/reactive/kotlin/ReactiveGreetingResource.kt similarity index 100% rename from integration-tests/resteasy-reactive-kotlin/src/main/kotlin/io/quarkus/it/resteasy/reactive/kotlin/ReactiveGreetingResource.kt rename to integration-tests/resteasy-reactive-kotlin/standard/src/main/kotlin/io/quarkus/it/resteasy/reactive/kotlin/ReactiveGreetingResource.kt diff --git a/integration-tests/resteasy-reactive-kotlin/src/main/resources/META-INF/resources/test.txt b/integration-tests/resteasy-reactive-kotlin/standard/src/main/resources/META-INF/resources/test.txt similarity index 100% rename from integration-tests/resteasy-reactive-kotlin/src/main/resources/META-INF/resources/test.txt rename to integration-tests/resteasy-reactive-kotlin/standard/src/main/resources/META-INF/resources/test.txt diff --git a/integration-tests/resteasy-reactive-kotlin/src/main/resources/application.properties b/integration-tests/resteasy-reactive-kotlin/standard/src/main/resources/application.properties similarity index 100% rename from integration-tests/resteasy-reactive-kotlin/src/main/resources/application.properties rename to integration-tests/resteasy-reactive-kotlin/standard/src/main/resources/application.properties diff --git a/integration-tests/resteasy-reactive-kotlin/src/test/kotlin/io/quarkus/it/resteasy/reactive/kotlin/NativeReactiveGreetingResourceIT.kt b/integration-tests/resteasy-reactive-kotlin/standard/src/test/kotlin/io/quarkus/it/resteasy/reactive/kotlin/NativeReactiveGreetingResourceIT.kt similarity index 100% rename from integration-tests/resteasy-reactive-kotlin/src/test/kotlin/io/quarkus/it/resteasy/reactive/kotlin/NativeReactiveGreetingResourceIT.kt rename to integration-tests/resteasy-reactive-kotlin/standard/src/test/kotlin/io/quarkus/it/resteasy/reactive/kotlin/NativeReactiveGreetingResourceIT.kt diff --git a/integration-tests/resteasy-reactive-kotlin/src/test/kotlin/io/quarkus/it/resteasy/reactive/kotlin/ReactiveGreetingResourceTest.kt b/integration-tests/resteasy-reactive-kotlin/standard/src/test/kotlin/io/quarkus/it/resteasy/reactive/kotlin/ReactiveGreetingResourceTest.kt similarity index 100% rename from integration-tests/resteasy-reactive-kotlin/src/test/kotlin/io/quarkus/it/resteasy/reactive/kotlin/ReactiveGreetingResourceTest.kt rename to integration-tests/resteasy-reactive-kotlin/standard/src/test/kotlin/io/quarkus/it/resteasy/reactive/kotlin/ReactiveGreetingResourceTest.kt