From 4c2b1bfebd55416963291c322ebbcc719140a72f Mon Sep 17 00:00:00 2001 From: Josef Smrcka Date: Sun, 1 Aug 2021 08:25:39 +0200 Subject: [PATCH 1/2] Add RESTEasy Reactive JAX-RS scenario Add `http/jaxrs-reactive`, which is a RESTEasy reactive equivalent of `http/jaxrs`. Notable differences and limitations: - In a multipart POJO, Java type for `image` and `octet-stream` were changed from `InputStream` to `File` - `InputStream` is not supported by `resteasy-reactive`. --- README.md | 17 +-- http/jaxrs-reactive/pom.xml | 23 ++++ .../ts/jaxrs/reactive/MultipartBody.java | 23 ++++ .../ts/jaxrs/reactive/MultipartResource.java | 55 +++++++++ .../src/main/resources/application.properties | 0 .../reactive/AsciiMultipartResourceIT.java | 43 +++++++ .../jaxrs/reactive/MultipartResourceIT.java | 107 ++++++++++++++++++ .../OpenShiftMultipartResourceIT.java | 7 ++ .../src/test/resources/quarkus.png | Bin 0 -> 3884 bytes .../src/test/resources/us-asscii.properties | 1 + pom.xml | 1 + 11 files changed, 270 insertions(+), 7 deletions(-) create mode 100644 http/jaxrs-reactive/pom.xml create mode 100644 http/jaxrs-reactive/src/main/java/io/quarkus/ts/jaxrs/reactive/MultipartBody.java create mode 100644 http/jaxrs-reactive/src/main/java/io/quarkus/ts/jaxrs/reactive/MultipartResource.java create mode 100644 http/jaxrs-reactive/src/main/resources/application.properties create mode 100644 http/jaxrs-reactive/src/test/java/io/quarkus/ts/jaxrs/reactive/AsciiMultipartResourceIT.java create mode 100644 http/jaxrs-reactive/src/test/java/io/quarkus/ts/jaxrs/reactive/MultipartResourceIT.java create mode 100644 http/jaxrs-reactive/src/test/java/io/quarkus/ts/jaxrs/reactive/OpenShiftMultipartResourceIT.java create mode 100644 http/jaxrs-reactive/src/test/resources/quarkus.png create mode 100644 http/jaxrs-reactive/src/test/resources/us-asscii.properties diff --git a/README.md b/README.md index e2a2e5226..73bde6046 100644 --- a/README.md +++ b/README.md @@ -129,27 +129,30 @@ The following command will execute the whole test suite including serverless tes ## Existing tests -### `http-minimum` +### `http/http-minimum` Verifies that you can deploy a simple HTTP endpoint to OpenShift and access it. It also verifies multiple deployment strategies like: - Serverless - Using OpenShift quarkus extension - Using OpenShift quarkus extension and Docker Build strategy -### `http-advanced` +### `http/http-advanced` Verifies Server/Client http_2/1.1, Grpc and http redirections. -### `http-static` +### `http/http-static` Verifies access to static pages and big static files over http. -### `servlet-undertow` +### `http/servlet-undertow` This module covers basic scenarios about HTTP servlets under `quarkus-undertow` server more in details: - Http session eviction - Undertow web.xml configuration -### `jaxrs` +### `http/jaxrs` Simple bootstrap project created by *quarkus-maven-plugin* +### `http/jaxrs-reactive` +RESTEasy Reactive equivalent of `http/jaxrs`. Tests simple and multipart endpoints. + ### `http/rest-client` Verifies Rest Client configuration using `quarkus-rest-client-jaxb` (XML support) and `quarkus-rest-client-jsonb` (JSON support). This module will setup a very minimal configuration (only `quarkus-resteasy`) and have four endpoints: @@ -160,11 +163,11 @@ This module will setup a very minimal configuration (only `quarkus-resteasy`) an * *@Deprecated* annotation has been added for test regression purposes to ensure `java.lang` annotations are allowed for resources * Resource with multipart body support, provided parts are text, image and binary data, charset checked with `us-ascii` and `utf-8` -### `reactive-routes` +### `http/reactive-routes` This module covers some basic scenarios around reactive routes in general and also: - Validation on request params, request body and responses. -### `vertx-web-client` +### `http/vertx-web-client` Vert.x Mutiny webClient exploratory test. * Vert.x WebClient * Quarkus Resteasy Mutiny / Jsonb diff --git a/http/jaxrs-reactive/pom.xml b/http/jaxrs-reactive/pom.xml new file mode 100644 index 000000000..8f2dfb510 --- /dev/null +++ b/http/jaxrs-reactive/pom.xml @@ -0,0 +1,23 @@ + + + 4.0.0 + + io.quarkus.ts.qe + parent + 1.0.0-SNAPSHOT + ../.. + + jaxrs-reactive + jar + Quarkus QE TS: HTTP: jaxrs-reactive + + + io.quarkus + quarkus-resteasy-reactive + + + commons-io + commons-io + + + diff --git a/http/jaxrs-reactive/src/main/java/io/quarkus/ts/jaxrs/reactive/MultipartBody.java b/http/jaxrs-reactive/src/main/java/io/quarkus/ts/jaxrs/reactive/MultipartBody.java new file mode 100644 index 000000000..45e793669 --- /dev/null +++ b/http/jaxrs-reactive/src/main/java/io/quarkus/ts/jaxrs/reactive/MultipartBody.java @@ -0,0 +1,23 @@ +package io.quarkus.ts.jaxrs.reactive; + +import java.io.File; + +import javax.ws.rs.core.MediaType; + +import org.jboss.resteasy.reactive.PartType; +import org.jboss.resteasy.reactive.RestForm; + +public class MultipartBody { + + @RestForm("text") + @PartType(MediaType.TEXT_PLAIN) + public String text; + + @RestForm("image") + @PartType("image/png") + public File image; + + @RestForm("data") + @PartType(MediaType.APPLICATION_OCTET_STREAM) + public File data; +} diff --git a/http/jaxrs-reactive/src/main/java/io/quarkus/ts/jaxrs/reactive/MultipartResource.java b/http/jaxrs-reactive/src/main/java/io/quarkus/ts/jaxrs/reactive/MultipartResource.java new file mode 100644 index 000000000..b68b5628d --- /dev/null +++ b/http/jaxrs-reactive/src/main/java/io/quarkus/ts/jaxrs/reactive/MultipartResource.java @@ -0,0 +1,55 @@ +package io.quarkus.ts.jaxrs.reactive; + +import java.io.IOException; + +import javax.ws.rs.Consumes; +import javax.ws.rs.POST; +import javax.ws.rs.Path; +import javax.ws.rs.Produces; +import javax.ws.rs.core.MediaType; + +import org.apache.commons.io.IOUtils; +import org.jboss.resteasy.reactive.MultipartForm; + +@Path("/multipart") +public class MultipartResource { + + @POST + @Consumes(MediaType.MULTIPART_FORM_DATA) + @Produces(MediaType.MULTIPART_FORM_DATA) + public MultipartBody postForm(@MultipartForm MultipartBody multipartBody) { + return multipartBody; + } + + @POST + @Path("/text") + @Consumes(MediaType.MULTIPART_FORM_DATA) + @Produces(MediaType.TEXT_PLAIN) + public String postFormReturnText(@MultipartForm MultipartBody multipartBody) { + return multipartBody.text; + } + + @POST + @Path("/image") + @Consumes(MediaType.MULTIPART_FORM_DATA) + @Produces(MediaType.APPLICATION_OCTET_STREAM) + public byte[] postFormReturnFile(@MultipartForm MultipartBody multipartBody) throws IOException { + return IOUtils.toByteArray(multipartBody.image.toURI()); + } + + @POST + @Path("/data") + @Consumes(MediaType.MULTIPART_FORM_DATA) + @Produces(MediaType.APPLICATION_OCTET_STREAM) + public byte[] postFormReturnData(@MultipartForm MultipartBody multipartBody) throws IOException { + return IOUtils.toByteArray(multipartBody.data.toURI()); + } + + @POST + @Path("/echo") + @Consumes(MediaType.MULTIPART_FORM_DATA) + @Produces(MediaType.TEXT_PLAIN) + public String echo(String requestBody) { + return requestBody; + } +} diff --git a/http/jaxrs-reactive/src/main/resources/application.properties b/http/jaxrs-reactive/src/main/resources/application.properties new file mode 100644 index 000000000..e69de29bb diff --git a/http/jaxrs-reactive/src/test/java/io/quarkus/ts/jaxrs/reactive/AsciiMultipartResourceIT.java b/http/jaxrs-reactive/src/test/java/io/quarkus/ts/jaxrs/reactive/AsciiMultipartResourceIT.java new file mode 100644 index 000000000..8b20a5015 --- /dev/null +++ b/http/jaxrs-reactive/src/test/java/io/quarkus/ts/jaxrs/reactive/AsciiMultipartResourceIT.java @@ -0,0 +1,43 @@ +package io.quarkus.ts.jaxrs.reactive; + +import static org.hamcrest.CoreMatchers.equalTo; +import static org.hamcrest.CoreMatchers.not; + +import java.nio.charset.StandardCharsets; + +import org.junit.jupiter.api.Test; + +import io.quarkus.test.bootstrap.RestService; +import io.quarkus.test.scenarios.QuarkusScenario; +import io.quarkus.test.services.QuarkusApplication; +import io.restassured.builder.MultiPartSpecBuilder; +import io.restassured.http.ContentType; +import io.restassured.specification.MultiPartSpecification; + +@QuarkusScenario +public class AsciiMultipartResourceIT { + + public static final String TEXT_WITH_DIACRITICS = "Přikrášlený žloťoučký kůň úpěl ďábelské ódy."; + private static final String EXPECTED_ASCII_TEXT = new String(TEXT_WITH_DIACRITICS.getBytes(StandardCharsets.UTF_8), + StandardCharsets.US_ASCII); + + @QuarkusApplication + static RestService app = new RestService().withProperties("us-asscii.properties"); + + @Test + public void testMultipartText() { + MultiPartSpecification multiPartSpecification = new MultiPartSpecBuilder(TEXT_WITH_DIACRITICS) + .controlName("text") + .header("Content-Type", "text/plain") + .charset(StandardCharsets.UTF_8) + .build(); + + app.given().multiPart(multiPartSpecification) + .post("/multipart/text") + .then() + .statusCode(200) + .contentType(ContentType.TEXT) + .body(not(equalTo(TEXT_WITH_DIACRITICS))) + .body(equalTo(EXPECTED_ASCII_TEXT)); + } +} diff --git a/http/jaxrs-reactive/src/test/java/io/quarkus/ts/jaxrs/reactive/MultipartResourceIT.java b/http/jaxrs-reactive/src/test/java/io/quarkus/ts/jaxrs/reactive/MultipartResourceIT.java new file mode 100644 index 000000000..368eb82a2 --- /dev/null +++ b/http/jaxrs-reactive/src/test/java/io/quarkus/ts/jaxrs/reactive/MultipartResourceIT.java @@ -0,0 +1,107 @@ +package io.quarkus.ts.jaxrs.reactive; + +import static org.hamcrest.CoreMatchers.containsString; +import static org.hamcrest.CoreMatchers.equalTo; +import static org.hamcrest.MatcherAssert.assertThat; + +import java.io.File; +import java.io.IOException; +import java.nio.charset.StandardCharsets; +import java.util.Random; + +import javax.ws.rs.core.MediaType; + +import org.apache.commons.io.IOUtils; +import org.junit.jupiter.api.BeforeAll; +import org.junit.jupiter.api.Test; + +import io.quarkus.test.scenarios.QuarkusScenario; +import io.restassured.RestAssured; +import io.restassured.builder.MultiPartSpecBuilder; +import io.restassured.http.ContentType; +import io.restassured.response.ValidatableResponse; +import io.restassured.specification.MultiPartSpecification; + +@QuarkusScenario +public class MultipartResourceIT { + + private static final String IMAGE_FILE_NAME = "/quarkus.png"; + private static final String TEXT_WITH_DIACRITICS = "Přikrášlený žloťoučký kůň úpěl ďábelské ódy."; + private static byte[] randomBytes = new byte[120]; + private static File imageFile; + private static byte[] imageBytes; + + @BeforeAll + public static void beforeAll() throws IOException { + imageFile = new File(MultipartResourceIT.class.getResource(IMAGE_FILE_NAME).getFile()); + imageBytes = IOUtils.toByteArray(MultipartResourceIT.class.getResourceAsStream(IMAGE_FILE_NAME)); + new Random().nextBytes(randomBytes); + } + + @Test + public void testMultipartIsSendAndReceived() { + whenSendMultipartData("/multipart") + .contentType("multipart/form-data"); + } + + @Test + public void testTextVersionOfMultipart() { + whenSendMultipartData("/multipart/echo") + .contentType(ContentType.TEXT) + .body( + containsString("Content-Disposition: form-data; name=\"text\""), + containsString("Content-Disposition: form-data; name=\"data\"; filename=\"random.dat\""), + containsString("Content-Disposition: form-data; name=\"image\"; filename=\"quarkus.png\""), + containsString(TEXT_WITH_DIACRITICS)); + } + + @Test + public void testTextPartFromMultipart() { + whenSendMultipartData("/multipart/text") + .contentType(ContentType.TEXT) + .body(equalTo(TEXT_WITH_DIACRITICS)); + } + + @Test + public void testImagePartFromMultipart() { + byte[] receivedBytes = whenSendMultipartData("/multipart/image") + .contentType(MediaType.APPLICATION_OCTET_STREAM) + .extract().asByteArray(); + assertThat(receivedBytes, equalTo(imageBytes)); + } + + @Test + public void testDataPartFromMultipart() { + byte[] receivedBytes = whenSendMultipartData("/multipart/data") + .contentType(MediaType.APPLICATION_OCTET_STREAM) + .extract().asByteArray(); + assertThat(receivedBytes, equalTo(randomBytes)); + } + + private ValidatableResponse whenSendMultipartData(String path) { + MultiPartSpecification textSpec = new MultiPartSpecBuilder(TEXT_WITH_DIACRITICS) + .controlName("text") + .mimeType("text/plain") + .charset(StandardCharsets.UTF_8) + .build(); + MultiPartSpecification dataSpec = new MultiPartSpecBuilder(randomBytes) + .controlName("data") + .fileName("random.dat") + .header("Content-Type", "application/octet-stream") + .build(); + MultiPartSpecification imageSpec = new MultiPartSpecBuilder(imageFile) + .controlName("image") + .fileName("quarkus.png") + .mimeType("image/png") + .build(); + + return RestAssured.given() + .contentType("multipart/form-data") + .multiPart(textSpec) + .multiPart(imageSpec) + .multiPart(dataSpec) + .post(path) + .then() + .statusCode(200); + } +} diff --git a/http/jaxrs-reactive/src/test/java/io/quarkus/ts/jaxrs/reactive/OpenShiftMultipartResourceIT.java b/http/jaxrs-reactive/src/test/java/io/quarkus/ts/jaxrs/reactive/OpenShiftMultipartResourceIT.java new file mode 100644 index 000000000..7e1bca292 --- /dev/null +++ b/http/jaxrs-reactive/src/test/java/io/quarkus/ts/jaxrs/reactive/OpenShiftMultipartResourceIT.java @@ -0,0 +1,7 @@ +package io.quarkus.ts.jaxrs.reactive; + +import io.quarkus.test.scenarios.OpenShiftScenario; + +@OpenShiftScenario +public class OpenShiftMultipartResourceIT extends MultipartResourceIT { +} diff --git a/http/jaxrs-reactive/src/test/resources/quarkus.png b/http/jaxrs-reactive/src/test/resources/quarkus.png new file mode 100644 index 0000000000000000000000000000000000000000..35e03eb53a2b14964b041fbfa8c41fcab65de261 GIT binary patch literal 3884 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 literal 0 HcmV?d00001 diff --git a/http/jaxrs-reactive/src/test/resources/us-asscii.properties b/http/jaxrs-reactive/src/test/resources/us-asscii.properties new file mode 100644 index 000000000..72f50d653 --- /dev/null +++ b/http/jaxrs-reactive/src/test/resources/us-asscii.properties @@ -0,0 +1 @@ +quarkus.resteasy-reactive.multipart.input-part.default-charset=us-ascii \ No newline at end of file diff --git a/pom.xml b/pom.xml index 453eb5744..5980522e1 100644 --- a/pom.xml +++ b/pom.xml @@ -376,6 +376,7 @@ http/http-advanced http/http-static http/jaxrs + http/jaxrs-reactive http/reactive-routes http/rest-client http/servlet-undertow From ed5916e2ec4dc9f017ada39e8214d7d9faa044e4 Mon Sep 17 00:00:00 2001 From: Josef Smrcka Date: Wed, 25 Aug 2021 13:39:55 +0200 Subject: [PATCH 2/2] Fix broken formatting --- .../amqpreactive/DevModeAmqpDevServiceUserExperienceIT.java | 2 +- .../kafka/DevModeRedPandaDevServiceUserExperienceIT.java | 2 +- .../ts/security/DevModeKeycloakDevServiceUserExperienceIT.java | 1 - .../sqldb/sqlapp/DevModeMariadbDevServicesUserExperienceIT.java | 2 +- .../test/java/io/quarkus/ts/sqldb/sqlapp/DevModeMariadbIT.java | 1 - .../sqldb/sqlapp/DevModeMssqlDevServicesUserExperienceIT.java | 2 +- .../test/java/io/quarkus/ts/sqldb/sqlapp/DevModeMssqlIT.java | 1 - .../ts/sqldb/sqlapp/DevModeMysqlDevServiceUserExperienceIT.java | 2 +- .../test/java/io/quarkus/ts/sqldb/sqlapp/DevModeMysqlIT.java | 1 - .../sqlapp/DevModePostgresqlDevServiceUserExperienceIT.java | 2 +- 10 files changed, 6 insertions(+), 10 deletions(-) diff --git a/messaging/amqp-reactive/src/test/java/io/quarkus/ts/messaging/amqpreactive/DevModeAmqpDevServiceUserExperienceIT.java b/messaging/amqp-reactive/src/test/java/io/quarkus/ts/messaging/amqpreactive/DevModeAmqpDevServiceUserExperienceIT.java index c7182bd59..1a49b53da 100644 --- a/messaging/amqp-reactive/src/test/java/io/quarkus/ts/messaging/amqpreactive/DevModeAmqpDevServiceUserExperienceIT.java +++ b/messaging/amqp-reactive/src/test/java/io/quarkus/ts/messaging/amqpreactive/DevModeAmqpDevServiceUserExperienceIT.java @@ -37,7 +37,7 @@ public void verifyIfUserIsInformedAboutAmqpDevServicePulling() { public void verifyAmqpImage() { Image postgresImg = DockerUtils.getImage(AMQP_IMAGE, AMQP_VERSION); Assertions.assertFalse(postgresImg.getId().isEmpty(), String.format("%s:%s not found. " + - "Notice that user set his own custom image by 'quarkus.keycloak.devservices.image-name' property", + "Notice that user set his own custom image by 'quarkus.keycloak.devservices.image-name' property", AMQP_IMAGE, AMQP_VERSION)); } } diff --git a/messaging/kafka-streams-reactive-messaging/src/test/java/io/quarkus/ts/messaging/kafka/DevModeRedPandaDevServiceUserExperienceIT.java b/messaging/kafka-streams-reactive-messaging/src/test/java/io/quarkus/ts/messaging/kafka/DevModeRedPandaDevServiceUserExperienceIT.java index 7fd14da55..944f631e7 100644 --- a/messaging/kafka-streams-reactive-messaging/src/test/java/io/quarkus/ts/messaging/kafka/DevModeRedPandaDevServiceUserExperienceIT.java +++ b/messaging/kafka-streams-reactive-messaging/src/test/java/io/quarkus/ts/messaging/kafka/DevModeRedPandaDevServiceUserExperienceIT.java @@ -35,7 +35,7 @@ public void verifyIfUserIsInformedAboutRedPandaDevServicePulling() { public void verifyRedPandaImage() { Image postgresImg = DockerUtils.getImage(RED_PANDA_IMAGE, RED_PANDA_VERSION); Assertions.assertFalse(postgresImg.getId().isEmpty(), String.format("%s:%s not found. " + - "Notice that user set his own custom image by 'quarkus.datasource.devservices.image-name' property", + "Notice that user set his own custom image by 'quarkus.datasource.devservices.image-name' property", RED_PANDA_IMAGE, RED_PANDA_VERSION)); } } diff --git a/security/keycloak/src/test/java/io/quarkus/ts/security/DevModeKeycloakDevServiceUserExperienceIT.java b/security/keycloak/src/test/java/io/quarkus/ts/security/DevModeKeycloakDevServiceUserExperienceIT.java index 502047a73..49cb06f2f 100644 --- a/security/keycloak/src/test/java/io/quarkus/ts/security/DevModeKeycloakDevServiceUserExperienceIT.java +++ b/security/keycloak/src/test/java/io/quarkus/ts/security/DevModeKeycloakDevServiceUserExperienceIT.java @@ -8,7 +8,6 @@ import io.quarkus.test.bootstrap.RestService; import io.quarkus.test.scenarios.QuarkusScenario; -import io.quarkus.test.scenarios.annotations.DisabledOnNative; import io.quarkus.test.services.DevModeQuarkusApplication; @Tag("QUARKUS-959") diff --git a/sql-db/sql-app/src/test/java/io/quarkus/ts/sqldb/sqlapp/DevModeMariadbDevServicesUserExperienceIT.java b/sql-db/sql-app/src/test/java/io/quarkus/ts/sqldb/sqlapp/DevModeMariadbDevServicesUserExperienceIT.java index 738168bab..970951202 100644 --- a/sql-db/sql-app/src/test/java/io/quarkus/ts/sqldb/sqlapp/DevModeMariadbDevServicesUserExperienceIT.java +++ b/sql-db/sql-app/src/test/java/io/quarkus/ts/sqldb/sqlapp/DevModeMariadbDevServicesUserExperienceIT.java @@ -40,7 +40,7 @@ public void verifyIfUserIsInformedAboutMariadbDevServicePulling() { public void verifyMysqlImage() { Image postgresImg = DockerUtils.getImage(MARIA_DB_NAME, MARIA_DB_VERSION); Assertions.assertFalse(postgresImg.getId().isEmpty(), String.format("%s:%s not found. " + - "Notice that user set his own custom image by 'quarkus.datasource.devservices.image-name' property", + "Notice that user set his own custom image by 'quarkus.datasource.devservices.image-name' property", MARIA_DB_NAME, MARIA_DB_VERSION)); } } diff --git a/sql-db/sql-app/src/test/java/io/quarkus/ts/sqldb/sqlapp/DevModeMariadbIT.java b/sql-db/sql-app/src/test/java/io/quarkus/ts/sqldb/sqlapp/DevModeMariadbIT.java index 1ccefbbea..dfd488335 100644 --- a/sql-db/sql-app/src/test/java/io/quarkus/ts/sqldb/sqlapp/DevModeMariadbIT.java +++ b/sql-db/sql-app/src/test/java/io/quarkus/ts/sqldb/sqlapp/DevModeMariadbIT.java @@ -5,7 +5,6 @@ import io.quarkus.test.bootstrap.RestService; import io.quarkus.test.scenarios.QuarkusScenario; -import io.quarkus.test.scenarios.annotations.DisabledOnNative; import io.quarkus.test.services.DevModeQuarkusApplication; @Tag("QUARKUS-959") diff --git a/sql-db/sql-app/src/test/java/io/quarkus/ts/sqldb/sqlapp/DevModeMssqlDevServicesUserExperienceIT.java b/sql-db/sql-app/src/test/java/io/quarkus/ts/sqldb/sqlapp/DevModeMssqlDevServicesUserExperienceIT.java index 7efaff9e1..5de88bf64 100644 --- a/sql-db/sql-app/src/test/java/io/quarkus/ts/sqldb/sqlapp/DevModeMssqlDevServicesUserExperienceIT.java +++ b/sql-db/sql-app/src/test/java/io/quarkus/ts/sqldb/sqlapp/DevModeMssqlDevServicesUserExperienceIT.java @@ -41,7 +41,7 @@ public void verifyIfUserIsInformedAboutMssqlDevServicePulling() { public void verifyMssqlImage() { Image postgresImg = DockerUtils.getImage(MSSQL_NAME, MSSQL_VERSION); Assertions.assertFalse(postgresImg.getId().isEmpty(), String.format("%s:%s not found. " + - "Notice that user set his own custom image by 'quarkus.datasource.devservices.image-name' property", + "Notice that user set his own custom image by 'quarkus.datasource.devservices.image-name' property", MSSQL_NAME, MSSQL_VERSION)); } } diff --git a/sql-db/sql-app/src/test/java/io/quarkus/ts/sqldb/sqlapp/DevModeMssqlIT.java b/sql-db/sql-app/src/test/java/io/quarkus/ts/sqldb/sqlapp/DevModeMssqlIT.java index cbcf745f7..d5d507129 100644 --- a/sql-db/sql-app/src/test/java/io/quarkus/ts/sqldb/sqlapp/DevModeMssqlIT.java +++ b/sql-db/sql-app/src/test/java/io/quarkus/ts/sqldb/sqlapp/DevModeMssqlIT.java @@ -5,7 +5,6 @@ import io.quarkus.test.bootstrap.RestService; import io.quarkus.test.scenarios.QuarkusScenario; -import io.quarkus.test.scenarios.annotations.DisabledOnNative; import io.quarkus.test.services.DevModeQuarkusApplication; @Tag("QUARKUS-959") diff --git a/sql-db/sql-app/src/test/java/io/quarkus/ts/sqldb/sqlapp/DevModeMysqlDevServiceUserExperienceIT.java b/sql-db/sql-app/src/test/java/io/quarkus/ts/sqldb/sqlapp/DevModeMysqlDevServiceUserExperienceIT.java index 198060b52..a0f92894d 100644 --- a/sql-db/sql-app/src/test/java/io/quarkus/ts/sqldb/sqlapp/DevModeMysqlDevServiceUserExperienceIT.java +++ b/sql-db/sql-app/src/test/java/io/quarkus/ts/sqldb/sqlapp/DevModeMysqlDevServiceUserExperienceIT.java @@ -40,7 +40,7 @@ public void verifyIfUserIsInformedAboutMysqlDevServicePulling() { public void verifyMysqlImage() { Image postgresImg = DockerUtils.getImage(MYSQL_NAME, MYSQL_VERSION); Assertions.assertFalse(postgresImg.getId().isEmpty(), String.format("%s:%s not found. " + - "Notice that user set his own custom image by 'quarkus.datasource.devservices.image-name' property", + "Notice that user set his own custom image by 'quarkus.datasource.devservices.image-name' property", MYSQL_NAME, MYSQL_VERSION)); } } diff --git a/sql-db/sql-app/src/test/java/io/quarkus/ts/sqldb/sqlapp/DevModeMysqlIT.java b/sql-db/sql-app/src/test/java/io/quarkus/ts/sqldb/sqlapp/DevModeMysqlIT.java index e70a2b7b2..e5b7a9a22 100644 --- a/sql-db/sql-app/src/test/java/io/quarkus/ts/sqldb/sqlapp/DevModeMysqlIT.java +++ b/sql-db/sql-app/src/test/java/io/quarkus/ts/sqldb/sqlapp/DevModeMysqlIT.java @@ -5,7 +5,6 @@ import io.quarkus.test.bootstrap.RestService; import io.quarkus.test.scenarios.QuarkusScenario; -import io.quarkus.test.scenarios.annotations.DisabledOnNative; import io.quarkus.test.services.DevModeQuarkusApplication; @Tag("QUARKUS-959") diff --git a/sql-db/sql-app/src/test/java/io/quarkus/ts/sqldb/sqlapp/DevModePostgresqlDevServiceUserExperienceIT.java b/sql-db/sql-app/src/test/java/io/quarkus/ts/sqldb/sqlapp/DevModePostgresqlDevServiceUserExperienceIT.java index a92902d1b..c759ed4b1 100644 --- a/sql-db/sql-app/src/test/java/io/quarkus/ts/sqldb/sqlapp/DevModePostgresqlDevServiceUserExperienceIT.java +++ b/sql-db/sql-app/src/test/java/io/quarkus/ts/sqldb/sqlapp/DevModePostgresqlDevServiceUserExperienceIT.java @@ -39,7 +39,7 @@ public void verifyIfUserIsInformedAboutPostgresqlDevServicePulling() { public void verifyPostgresqlImage() { Image postgresImg = DockerUtils.getImage(POSTGRES_NAME, POSTGRESQL_VERSION); Assertions.assertFalse(postgresImg.getId().isEmpty(), String.format("%s:%s not found. " + - "Notice that user set his own custom image by 'quarkus.datasource.devservices.image-name' property", + "Notice that user set his own custom image by 'quarkus.datasource.devservices.image-name' property", POSTGRES_NAME, POSTGRESQL_VERSION)); } }