diff --git a/integration-tests/jackson/Readme.md b/integration-tests/jackson/Readme.md deleted file mode 100644 index 316091e562645..0000000000000 --- a/integration-tests/jackson/Readme.md +++ /dev/null @@ -1,124 +0,0 @@ -# Quarkus Jackson extension tester - -This project verifies Jackson (de-)serialization support in native mode. - -This project consists of the following modules: - -- model - - This module contains the library with a simple models. This model makes use - of Jackson to support (de-)serialization to JSON. Various forms of models - exists. At the time of writing the following models are present/tested: - - Immutable models using a Builder to construct new instances. - - Simple POJO model being registered for reflection. - - Unit tests are available to prove JVM based JSON (de-)serialization works - properly. - -- service - - This module contains a very simple RESTful resources with only a POST method - to POST new models to this service. A simple unit test is included to verify - correct behaviour for both unit and integration test. - - The following curl command can be used to send POST request to this service: - - ``` - curl -X POST -H "Content-Type: application/json" \ - -d '{"version": 2, "id": "123", "value": "val"}' \ - -v localhost:8080/ - ``` - - -## Build - -To build the project, run the following command from the project root directory: - -``` -mvn clean package -``` - -This build should run correctly showing no errors and no test failures. - -For the remainder make the service module your current working directory: - -``` -cd service -``` - -## Package JVM - -Running a JVM based version of the service can either be done with `quarkus:dev` -or by using the JVM based runner. - -- **Using `quarkus:dev`** - ``` - mvn quarkus:dev - ``` - -- **Using JVM runner** - ``` - java -jar target/service-999-SNAPSHOT-runner.jar - ``` - -In either case posting new model data like described earlier should result in -a successful `201` response code with the posted message in the body. For example: - -``` -~$ curl -X POST -H "Content-Type: application/json" -d '{"version": 2, "id": "123", "value": "val"}' -v localhost:8080/model -Note: Unnecessary use of -X or --request, POST is already inferred. -* Trying 127.0.0.1... -* TCP_NODELAY set -* Connected to localhost (127.0.0.1) port 8080 (#0) -> POST /model HTTP/1.1 -> Host: localhost:8080 -> User-Agent: curl/7.58.0 -> Accept: */* -> Content-Type: application/json -> Content-Length: 43 -> -* upload completely sent off: 43 out of 43 bytes -< HTTP/1.1 201 Created -< Connection: keep-alive -< Content-Type: application/json -< Content-Length: 38 -< Date: Thu, 22 Aug 2019 13:31:48 GMT -< -* Connection #0 to host localhost left intact -{"version":2,"id":"123","value":"val"} -``` - -## Package Native - -Checking proper behaviour can be achieved in the following 2 ways: - -- **Integration test** - - This scenario requires no additional manual steps besides - executing the following command: - - ``` - mvn integration-test verify -Pnative - ``` - - The application will be started automatically and test - scenario's will run. The output will indicate whether the - test ran successfully or not. - - In this scenario it is not possible to post new model data - manually. This can be achieved by using the next scenario. - -- **Native runner** - - Running the native version of the service manually like: - - ``` - mvn package -Pnative - ... - ./target/service-999-SNAPSHOT-runner - ``` - - Now the application is running new model data can be posted - like described earlier. This should result in a successful - `201` response code with the posted message in the response - body. Just like the JVM example given previously. diff --git a/integration-tests/jackson/model/pom.xml b/integration-tests/jackson/model/pom.xml deleted file mode 100644 index a43fe3c70e557..0000000000000 --- a/integration-tests/jackson/model/pom.xml +++ /dev/null @@ -1,99 +0,0 @@ - - - - 4.0.0 - - - quarkus-integration-test-jackson-parent - io.quarkus - 999-SNAPSHOT - - - quarkus-integration-test-jackson-model - - Quarkus - Integration Tests - Jackson - model - - - 2.9.9.20190807 - - - - - - com.fasterxml.jackson - jackson-bom - ${jackson.version} - import - pom - - - - - - - io.quarkus - quarkus-arc - - - - - org.slf4j - slf4j-api - - - - com.fasterxml.jackson.core - jackson-core - - - com.fasterxml.jackson.core - jackson-databind - - - com.fasterxml.jackson.module - jackson-module-parameter-names - - - - org.junit.jupiter - junit-jupiter-api - test - - - org.junit.jupiter - junit-jupiter-params - test - - - org.junit.jupiter - junit-jupiter-engine - test - - - org.assertj - assertj-core - test - - - - - - - org.apache.maven.plugins - maven-compiler-plugin - - - org.apache.maven.plugins - maven-surefire-plugin - - false - - - - - - diff --git a/integration-tests/jackson/model/src/main/resources/META-INF/beans.xml b/integration-tests/jackson/model/src/main/resources/META-INF/beans.xml deleted file mode 100644 index a89ed29a0fed7..0000000000000 --- a/integration-tests/jackson/model/src/main/resources/META-INF/beans.xml +++ /dev/null @@ -1,8 +0,0 @@ - - - diff --git a/integration-tests/jackson/pom.xml b/integration-tests/jackson/pom.xml index 9ef944831065e..b149bf94f997c 100644 --- a/integration-tests/jackson/pom.xml +++ b/integration-tests/jackson/pom.xml @@ -11,23 +11,112 @@ ../ - quarkus-integration-test-jackson-parent - pom - + quarkus-integration-test-jackson Quarkus - Integration Tests - Jackson + Jackson integration tests module + + + + io.quarkus + quarkus-jackson + + + + io.quarkus + quarkus-resteasy + + + io.quarkus + quarkus-junit5 + test + + + io.rest-assured + rest-assured + test + + + org.assertj + assertj-core + test + + - - - + + + io.quarkus - quarkus-integration-test-jackson-model + quarkus-maven-plugin ${project.version} - - - + + + + build + + + + + + org.apache.maven.plugins + maven-surefire-plugin + + + org.jboss.logmanager.LogManager + + + + + - - model - service - + + + native + + + native + + + + + + org.apache.maven.plugins + maven-failsafe-plugin + + + + integration-test + verify + + + + + ${project.build.directory}/${project.build.finalName}-runner + + + + + + + + io.quarkus + quarkus-maven-plugin + ${project.version} + + + native-image + + native-image + + + true + true + ${graalvmHome} + + + + + + + + diff --git a/integration-tests/jackson/service/pom.xml b/integration-tests/jackson/service/pom.xml deleted file mode 100644 index 2acbe606daa66..0000000000000 --- a/integration-tests/jackson/service/pom.xml +++ /dev/null @@ -1,126 +0,0 @@ - - - - 4.0.0 - - - quarkus-integration-test-jackson-parent - io.quarkus - 999-SNAPSHOT - - - quarkus-integration-test-jackson-service - - Quarkus - Integration Tests - Jackson - service - - - - io.quarkus - quarkus-integration-test-jackson-model - - - io.quarkus - quarkus-jackson - - - - io.quarkus - quarkus-resteasy - - - io.quarkus - quarkus-junit5 - test - - - io.rest-assured - rest-assured - test - - - org.assertj - assertj-core - test - - - - - - - io.quarkus - quarkus-maven-plugin - ${project.version} - - - - build - - - - - - org.apache.maven.plugins - maven-surefire-plugin - - - org.jboss.logmanager.LogManager - - - - - - - - - native - - - native - - - - - - org.apache.maven.plugins - maven-failsafe-plugin - - - - integration-test - verify - - - - - ${project.build.directory}/${project.build.finalName}-runner - - - - - - - - io.quarkus - quarkus-maven-plugin - ${project.version} - - - native-image - - native-image - - - true - true - ${graalvmHome} - - - - - - - - - diff --git a/integration-tests/jackson/service/src/main/resources/application.properties b/integration-tests/jackson/service/src/main/resources/application.properties deleted file mode 100644 index 3c1ac56a1ad0a..0000000000000 --- a/integration-tests/jackson/service/src/main/resources/application.properties +++ /dev/null @@ -1,2 +0,0 @@ -# Configuration file -# key = value \ No newline at end of file diff --git a/integration-tests/jackson/service/src/main/java/io/quarkus/reproducer/InheritedModelWithBuilderResource.java b/integration-tests/jackson/src/main/java/io/quarkus/it/jackson/InheritedModelWithBuilderResource.java similarity index 85% rename from integration-tests/jackson/service/src/main/java/io/quarkus/reproducer/InheritedModelWithBuilderResource.java rename to integration-tests/jackson/src/main/java/io/quarkus/it/jackson/InheritedModelWithBuilderResource.java index e36b0590762e2..401cbe0e0ad26 100644 --- a/integration-tests/jackson/service/src/main/java/io/quarkus/reproducer/InheritedModelWithBuilderResource.java +++ b/integration-tests/jackson/src/main/java/io/quarkus/it/jackson/InheritedModelWithBuilderResource.java @@ -1,4 +1,4 @@ -package io.quarkus.reproducer; +package io.quarkus.it.jackson; import java.io.IOException; @@ -9,7 +9,7 @@ import javax.ws.rs.core.MediaType; import javax.ws.rs.core.Response; -import io.quarkus.reproducer.jacksonbuilder.model.InheritedModelWithBuilder; +import io.quarkus.it.jackson.model.InheritedModelWithBuilder; @Path("/inheritedmodelwithbuilder") public class InheritedModelWithBuilderResource { diff --git a/integration-tests/jackson/service/src/main/java/io/quarkus/reproducer/ModelWithBuilderResource.java b/integration-tests/jackson/src/main/java/io/quarkus/it/jackson/ModelWithBuilderResource.java similarity index 85% rename from integration-tests/jackson/service/src/main/java/io/quarkus/reproducer/ModelWithBuilderResource.java rename to integration-tests/jackson/src/main/java/io/quarkus/it/jackson/ModelWithBuilderResource.java index f0cc6791011ac..ab68091944306 100644 --- a/integration-tests/jackson/service/src/main/java/io/quarkus/reproducer/ModelWithBuilderResource.java +++ b/integration-tests/jackson/src/main/java/io/quarkus/it/jackson/ModelWithBuilderResource.java @@ -1,4 +1,4 @@ -package io.quarkus.reproducer; +package io.quarkus.it.jackson; import java.io.IOException; @@ -9,7 +9,7 @@ import javax.ws.rs.core.MediaType; import javax.ws.rs.core.Response; -import io.quarkus.reproducer.jacksonbuilder.model.ModelWithBuilder; +import io.quarkus.it.jackson.model.ModelWithBuilder; @Path("/modelwithbuilder") public class ModelWithBuilderResource { diff --git a/integration-tests/jackson/service/src/main/java/io/quarkus/reproducer/ModelWithSerializerDeserializerOnFieldResource.java b/integration-tests/jackson/src/main/java/io/quarkus/it/jackson/ModelWithSerializerDeserializerOnFieldResource.java similarity index 91% rename from integration-tests/jackson/service/src/main/java/io/quarkus/reproducer/ModelWithSerializerDeserializerOnFieldResource.java rename to integration-tests/jackson/src/main/java/io/quarkus/it/jackson/ModelWithSerializerDeserializerOnFieldResource.java index 2f7e247bdeceb..7950042725348 100644 --- a/integration-tests/jackson/service/src/main/java/io/quarkus/reproducer/ModelWithSerializerDeserializerOnFieldResource.java +++ b/integration-tests/jackson/src/main/java/io/quarkus/it/jackson/ModelWithSerializerDeserializerOnFieldResource.java @@ -1,4 +1,4 @@ -package io.quarkus.reproducer; +package io.quarkus.it.jackson; import java.io.IOException; @@ -12,7 +12,7 @@ import com.fasterxml.jackson.databind.ObjectMapper; -import io.quarkus.reproducer.jacksonbuilder.model.ModelWithSerializerAndDeserializerOnField; +import io.quarkus.it.jackson.model.ModelWithSerializerAndDeserializerOnField; @Path("fieldserder") public class ModelWithSerializerDeserializerOnFieldResource { diff --git a/integration-tests/jackson/service/src/main/java/io/quarkus/reproducer/MyObjectMapperCustomizer.java b/integration-tests/jackson/src/main/java/io/quarkus/it/jackson/MyObjectMapperCustomizer.java similarity index 96% rename from integration-tests/jackson/service/src/main/java/io/quarkus/reproducer/MyObjectMapperCustomizer.java rename to integration-tests/jackson/src/main/java/io/quarkus/it/jackson/MyObjectMapperCustomizer.java index 5e625bbcb4aff..fe6e71ac479e2 100644 --- a/integration-tests/jackson/service/src/main/java/io/quarkus/reproducer/MyObjectMapperCustomizer.java +++ b/integration-tests/jackson/src/main/java/io/quarkus/it/jackson/MyObjectMapperCustomizer.java @@ -1,4 +1,4 @@ -package io.quarkus.reproducer; +package io.quarkus.it.jackson; import javax.inject.Singleton; diff --git a/integration-tests/jackson/service/src/main/java/io/quarkus/reproducer/RegisteredPojoModelResource.java b/integration-tests/jackson/src/main/java/io/quarkus/it/jackson/RegisteredPojoModelResource.java similarity index 85% rename from integration-tests/jackson/service/src/main/java/io/quarkus/reproducer/RegisteredPojoModelResource.java rename to integration-tests/jackson/src/main/java/io/quarkus/it/jackson/RegisteredPojoModelResource.java index ec4922605463b..036bad701712d 100644 --- a/integration-tests/jackson/service/src/main/java/io/quarkus/reproducer/RegisteredPojoModelResource.java +++ b/integration-tests/jackson/src/main/java/io/quarkus/it/jackson/RegisteredPojoModelResource.java @@ -1,4 +1,4 @@ -package io.quarkus.reproducer; +package io.quarkus.it.jackson; import java.io.IOException; @@ -9,7 +9,7 @@ import javax.ws.rs.core.MediaType; import javax.ws.rs.core.Response; -import io.quarkus.reproducer.jacksonbuilder.model.RegisteredPojoModel; +import io.quarkus.it.jackson.model.RegisteredPojoModel; @Path("/registeredpojomodel") public class RegisteredPojoModelResource { diff --git a/integration-tests/jackson/model/src/main/java/io/quarkus/reproducer/jacksonbuilder/model/InheritedModelWithBuilder.java b/integration-tests/jackson/src/main/java/io/quarkus/it/jackson/model/InheritedModelWithBuilder.java similarity index 88% rename from integration-tests/jackson/model/src/main/java/io/quarkus/reproducer/jacksonbuilder/model/InheritedModelWithBuilder.java rename to integration-tests/jackson/src/main/java/io/quarkus/it/jackson/model/InheritedModelWithBuilder.java index a6b290536fc3b..27bc35668f85b 100644 --- a/integration-tests/jackson/model/src/main/java/io/quarkus/reproducer/jacksonbuilder/model/InheritedModelWithBuilder.java +++ b/integration-tests/jackson/src/main/java/io/quarkus/it/jackson/model/InheritedModelWithBuilder.java @@ -1,12 +1,15 @@ -package io.quarkus.reproducer.jacksonbuilder.model; +package io.quarkus.it.jackson.model; import java.io.IOException; import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonPropertyOrder; +import com.fasterxml.jackson.databind.ObjectMapper; import com.fasterxml.jackson.databind.annotation.JsonDeserialize; import com.fasterxml.jackson.databind.annotation.JsonPOJOBuilder; +import io.quarkus.arc.Arc; + /** * Simple model class. */ @@ -34,12 +37,11 @@ private InheritedModelWithBuilder(final Builder builder) { // ------------------------------------------------------------------------- public String toJson() throws IOException { - String json = getObjectMapper().writeValueAsString(this); - return json; + return toJson(getObjectMapper()); } - public static String toJson(final InheritedModelWithBuilder model) throws IOException { - return model.toJson(); + public String toJson(ObjectMapper objectMapper) throws IOException { + return objectMapper.writeValueAsString(this); } public static InheritedModelWithBuilder fromJson(final String json) throws IOException { @@ -96,4 +98,8 @@ public InheritedModelWithBuilder build() { return new InheritedModelWithBuilder(this); } } + + private static ObjectMapper getObjectMapper() { + return Arc.container().instance(ObjectMapper.class).get(); + } } diff --git a/integration-tests/jackson/model/src/main/java/io/quarkus/reproducer/jacksonbuilder/model/InheritedModelWithBuilderBase.java b/integration-tests/jackson/src/main/java/io/quarkus/it/jackson/model/InheritedModelWithBuilderBase.java similarity index 81% rename from integration-tests/jackson/model/src/main/java/io/quarkus/reproducer/jacksonbuilder/model/InheritedModelWithBuilderBase.java rename to integration-tests/jackson/src/main/java/io/quarkus/it/jackson/model/InheritedModelWithBuilderBase.java index acba0bad18d96..bc649a9f4d7f4 100644 --- a/integration-tests/jackson/model/src/main/java/io/quarkus/reproducer/jacksonbuilder/model/InheritedModelWithBuilderBase.java +++ b/integration-tests/jackson/src/main/java/io/quarkus/it/jackson/model/InheritedModelWithBuilderBase.java @@ -1,23 +1,15 @@ -package io.quarkus.reproducer.jacksonbuilder.model; +package io.quarkus.it.jackson.model; import java.util.Optional; import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.databind.ObjectMapper; -import io.quarkus.arc.Arc; - /** * Model class with inheritance and builder. */ abstract class InheritedModelWithBuilderBase { - // ------------------------------------------------------------------------- - // Class attributes - // ------------------------------------------------------------------------- - - private static ObjectMapper objectMapper; - // ------------------------------------------------------------------------- // Object attributes // ------------------------------------------------------------------------- @@ -89,12 +81,4 @@ public B withVersion(int version) { abstract public T build(); } - // ------------------------------------------------------------------------- - // Private methods - // ------------------------------------------------------------------------- - - protected static ObjectMapper getObjectMapper() { - return Arc.container().instance(ObjectMapper.class).get(); - } - } diff --git a/integration-tests/jackson/model/src/main/java/io/quarkus/reproducer/jacksonbuilder/model/ModelWithBuilder.java b/integration-tests/jackson/src/main/java/io/quarkus/it/jackson/model/ModelWithBuilder.java similarity index 89% rename from integration-tests/jackson/model/src/main/java/io/quarkus/reproducer/jacksonbuilder/model/ModelWithBuilder.java rename to integration-tests/jackson/src/main/java/io/quarkus/it/jackson/model/ModelWithBuilder.java index cf0cddca82bb0..279f4128c1af4 100644 --- a/integration-tests/jackson/model/src/main/java/io/quarkus/reproducer/jacksonbuilder/model/ModelWithBuilder.java +++ b/integration-tests/jackson/src/main/java/io/quarkus/it/jackson/model/ModelWithBuilder.java @@ -1,4 +1,4 @@ -package io.quarkus.reproducer.jacksonbuilder.model; +package io.quarkus.it.jackson.model; import java.io.IOException; @@ -17,12 +17,6 @@ @JsonDeserialize(builder = ModelWithBuilder.Builder.class) public class ModelWithBuilder { - // ------------------------------------------------------------------------- - // Class attributes - // ------------------------------------------------------------------------- - - private static ObjectMapper objectMapper; - // ------------------------------------------------------------------------- // Object attributes // ------------------------------------------------------------------------- @@ -46,12 +40,11 @@ private ModelWithBuilder(final Builder builder) { // ------------------------------------------------------------------------- public String toJson() throws IOException { - String json = getObjectMapper().writeValueAsString(this); - return json; + return toJson(getObjectMapper()); } - public static String toJson(final ModelWithBuilder model) throws IOException { - return model.toJson(); + public String toJson(ObjectMapper objectMapper) throws IOException { + return objectMapper.writeValueAsString(this); } public static ModelWithBuilder fromJson(final String json) throws IOException { diff --git a/integration-tests/jackson/model/src/main/java/io/quarkus/reproducer/jacksonbuilder/model/ModelWithSerializerAndDeserializerOnField.java b/integration-tests/jackson/src/main/java/io/quarkus/it/jackson/model/ModelWithSerializerAndDeserializerOnField.java similarity index 97% rename from integration-tests/jackson/model/src/main/java/io/quarkus/reproducer/jacksonbuilder/model/ModelWithSerializerAndDeserializerOnField.java rename to integration-tests/jackson/src/main/java/io/quarkus/it/jackson/model/ModelWithSerializerAndDeserializerOnField.java index a625b9da20e23..8cb4ff7f6963d 100644 --- a/integration-tests/jackson/model/src/main/java/io/quarkus/reproducer/jacksonbuilder/model/ModelWithSerializerAndDeserializerOnField.java +++ b/integration-tests/jackson/src/main/java/io/quarkus/it/jackson/model/ModelWithSerializerAndDeserializerOnField.java @@ -1,4 +1,4 @@ -package io.quarkus.reproducer.jacksonbuilder.model; +package io.quarkus.it.jackson.model; import java.io.IOException; diff --git a/integration-tests/jackson/model/src/main/java/io/quarkus/reproducer/jacksonbuilder/model/RegisteredPojoModel.java b/integration-tests/jackson/src/main/java/io/quarkus/it/jackson/model/RegisteredPojoModel.java similarity index 81% rename from integration-tests/jackson/model/src/main/java/io/quarkus/reproducer/jacksonbuilder/model/RegisteredPojoModel.java rename to integration-tests/jackson/src/main/java/io/quarkus/it/jackson/model/RegisteredPojoModel.java index 8e72ae371bed1..4e92989ee387d 100644 --- a/integration-tests/jackson/model/src/main/java/io/quarkus/reproducer/jacksonbuilder/model/RegisteredPojoModel.java +++ b/integration-tests/jackson/src/main/java/io/quarkus/it/jackson/model/RegisteredPojoModel.java @@ -1,4 +1,4 @@ -package io.quarkus.reproducer.jacksonbuilder.model; +package io.quarkus.it.jackson.model; import java.io.IOException; @@ -13,12 +13,6 @@ @RegisterForReflection public class RegisteredPojoModel { - // ------------------------------------------------------------------------- - // Class attributes - // ------------------------------------------------------------------------- - - private static ObjectMapper objectMapper; - // ------------------------------------------------------------------------- // Object attributes // ------------------------------------------------------------------------- @@ -39,12 +33,11 @@ public RegisteredPojoModel() { // ------------------------------------------------------------------------- public String toJson() throws IOException { - String json = getObjectMapper().writeValueAsString(this); - return json; + return toJson(getObjectMapper()); } - public static String toJson(final RegisteredPojoModel model) throws IOException { - return model.toJson(); + public String toJson(ObjectMapper objectMapper) throws IOException { + return objectMapper.writeValueAsString(this); } public static RegisteredPojoModel fromJson(final String json) throws IOException { diff --git a/integration-tests/jackson/service/src/test/java/io/quarkus/reproducer/InheritedModelWithBuilderResourceIT.java b/integration-tests/jackson/src/test/java/io/quarkus/it/jackson/InheritedModelWithBuilderResourceIT.java similarity index 87% rename from integration-tests/jackson/service/src/test/java/io/quarkus/reproducer/InheritedModelWithBuilderResourceIT.java rename to integration-tests/jackson/src/test/java/io/quarkus/it/jackson/InheritedModelWithBuilderResourceIT.java index 8542b30166c69..7fa1d13f53463 100644 --- a/integration-tests/jackson/service/src/test/java/io/quarkus/reproducer/InheritedModelWithBuilderResourceIT.java +++ b/integration-tests/jackson/src/test/java/io/quarkus/it/jackson/InheritedModelWithBuilderResourceIT.java @@ -1,4 +1,4 @@ -package io.quarkus.reproducer; +package io.quarkus.it.jackson; import io.quarkus.test.junit.NativeImageTest; diff --git a/integration-tests/jackson/service/src/test/java/io/quarkus/reproducer/InheritedModelWithBuilderResourceTest.java b/integration-tests/jackson/src/test/java/io/quarkus/it/jackson/InheritedModelWithBuilderResourceTest.java similarity index 79% rename from integration-tests/jackson/service/src/test/java/io/quarkus/reproducer/InheritedModelWithBuilderResourceTest.java rename to integration-tests/jackson/src/test/java/io/quarkus/it/jackson/InheritedModelWithBuilderResourceTest.java index 626fb2c94c597..49a498d77ea34 100644 --- a/integration-tests/jackson/service/src/test/java/io/quarkus/reproducer/InheritedModelWithBuilderResourceTest.java +++ b/integration-tests/jackson/src/test/java/io/quarkus/it/jackson/InheritedModelWithBuilderResourceTest.java @@ -1,5 +1,6 @@ -package io.quarkus.reproducer; +package io.quarkus.it.jackson; +import static io.quarkus.it.jackson.TestUtil.getObjectMapperForTest; import static io.restassured.RestAssured.given; import static org.hamcrest.CoreMatchers.equalTo; @@ -7,7 +8,7 @@ import org.junit.jupiter.api.Test; -import io.quarkus.reproducer.jacksonbuilder.model.InheritedModelWithBuilder; +import io.quarkus.it.jackson.model.InheritedModelWithBuilder; import io.quarkus.test.junit.QuarkusTest; @QuarkusTest @@ -22,7 +23,7 @@ public void testModelWithBuilder() throws IOException { given() .contentType("application/json") - .body(model.toJson()) + .body(model.toJson(getObjectMapperForTest())) .when().post("/inheritedmodelwithbuilder") .then() .statusCode(201) diff --git a/integration-tests/jackson/service/src/test/java/io/quarkus/reproducer/ModelWithBuilderResourceIT.java b/integration-tests/jackson/src/test/java/io/quarkus/it/jackson/ModelWithBuilderResourceIT.java similarity index 86% rename from integration-tests/jackson/service/src/test/java/io/quarkus/reproducer/ModelWithBuilderResourceIT.java rename to integration-tests/jackson/src/test/java/io/quarkus/it/jackson/ModelWithBuilderResourceIT.java index f854d2eba289b..742a1fa4e133d 100644 --- a/integration-tests/jackson/service/src/test/java/io/quarkus/reproducer/ModelWithBuilderResourceIT.java +++ b/integration-tests/jackson/src/test/java/io/quarkus/it/jackson/ModelWithBuilderResourceIT.java @@ -1,4 +1,4 @@ -package io.quarkus.reproducer; +package io.quarkus.it.jackson; import io.quarkus.test.junit.NativeImageTest; diff --git a/integration-tests/jackson/service/src/test/java/io/quarkus/reproducer/ModelWithBuilderResourceTest.java b/integration-tests/jackson/src/test/java/io/quarkus/it/jackson/ModelWithBuilderResourceTest.java similarity index 79% rename from integration-tests/jackson/service/src/test/java/io/quarkus/reproducer/ModelWithBuilderResourceTest.java rename to integration-tests/jackson/src/test/java/io/quarkus/it/jackson/ModelWithBuilderResourceTest.java index 6aa87b373a518..6af00631f7763 100644 --- a/integration-tests/jackson/service/src/test/java/io/quarkus/reproducer/ModelWithBuilderResourceTest.java +++ b/integration-tests/jackson/src/test/java/io/quarkus/it/jackson/ModelWithBuilderResourceTest.java @@ -1,5 +1,6 @@ -package io.quarkus.reproducer; +package io.quarkus.it.jackson; +import static io.quarkus.it.jackson.TestUtil.getObjectMapperForTest; import static io.restassured.RestAssured.given; import static org.hamcrest.CoreMatchers.equalTo; @@ -7,7 +8,7 @@ import org.junit.jupiter.api.Test; -import io.quarkus.reproducer.jacksonbuilder.model.ModelWithBuilder; +import io.quarkus.it.jackson.model.ModelWithBuilder; import io.quarkus.test.junit.QuarkusTest; @QuarkusTest @@ -22,7 +23,7 @@ public void testModelWithBuilder() throws IOException { given() .contentType("application/json") - .body(model.toJson()) + .body(model.toJson(getObjectMapperForTest())) .when().post("/modelwithbuilder") .then() .statusCode(201) diff --git a/integration-tests/jackson/service/src/test/java/io/quarkus/reproducer/ModelWithSerializerAndDeserializerOnFieldResourceIT.java b/integration-tests/jackson/src/test/java/io/quarkus/it/jackson/ModelWithSerializerAndDeserializerOnFieldResourceIT.java similarity index 86% rename from integration-tests/jackson/service/src/test/java/io/quarkus/reproducer/ModelWithSerializerAndDeserializerOnFieldResourceIT.java rename to integration-tests/jackson/src/test/java/io/quarkus/it/jackson/ModelWithSerializerAndDeserializerOnFieldResourceIT.java index 6be3abd5a8037..f8fc807a6548e 100644 --- a/integration-tests/jackson/service/src/test/java/io/quarkus/reproducer/ModelWithSerializerAndDeserializerOnFieldResourceIT.java +++ b/integration-tests/jackson/src/test/java/io/quarkus/it/jackson/ModelWithSerializerAndDeserializerOnFieldResourceIT.java @@ -1,4 +1,4 @@ -package io.quarkus.reproducer; +package io.quarkus.it.jackson; import io.quarkus.test.junit.NativeImageTest; diff --git a/integration-tests/jackson/service/src/test/java/io/quarkus/reproducer/ModelWithSerializerAndDeserializerOnFieldResourceTest.java b/integration-tests/jackson/src/test/java/io/quarkus/it/jackson/ModelWithSerializerAndDeserializerOnFieldResourceTest.java similarity index 91% rename from integration-tests/jackson/service/src/test/java/io/quarkus/reproducer/ModelWithSerializerAndDeserializerOnFieldResourceTest.java rename to integration-tests/jackson/src/test/java/io/quarkus/it/jackson/ModelWithSerializerAndDeserializerOnFieldResourceTest.java index 5b1c7cb33adc6..654283c8b2e6a 100644 --- a/integration-tests/jackson/service/src/test/java/io/quarkus/reproducer/ModelWithSerializerAndDeserializerOnFieldResourceTest.java +++ b/integration-tests/jackson/src/test/java/io/quarkus/it/jackson/ModelWithSerializerAndDeserializerOnFieldResourceTest.java @@ -1,4 +1,4 @@ -package io.quarkus.reproducer; +package io.quarkus.it.jackson; import static io.restassured.RestAssured.given; import static org.hamcrest.CoreMatchers.equalTo; @@ -10,7 +10,7 @@ import com.fasterxml.jackson.databind.ObjectMapper; -import io.quarkus.reproducer.jacksonbuilder.model.ModelWithSerializerAndDeserializerOnField; +import io.quarkus.it.jackson.model.ModelWithSerializerAndDeserializerOnField; import io.quarkus.test.junit.QuarkusTest; @QuarkusTest diff --git a/integration-tests/jackson/service/src/test/java/io/quarkus/reproducer/ObjectMapperModulesTest.java b/integration-tests/jackson/src/test/java/io/quarkus/it/jackson/ObjectMapperModulesTest.java similarity index 97% rename from integration-tests/jackson/service/src/test/java/io/quarkus/reproducer/ObjectMapperModulesTest.java rename to integration-tests/jackson/src/test/java/io/quarkus/it/jackson/ObjectMapperModulesTest.java index 6b1cfa05e3ac2..01e9d4ee88c6c 100644 --- a/integration-tests/jackson/service/src/test/java/io/quarkus/reproducer/ObjectMapperModulesTest.java +++ b/integration-tests/jackson/src/test/java/io/quarkus/it/jackson/ObjectMapperModulesTest.java @@ -1,4 +1,4 @@ -package io.quarkus.reproducer; +package io.quarkus.it.jackson; import static org.assertj.core.api.Assertions.*; diff --git a/integration-tests/jackson/service/src/test/java/io/quarkus/reproducer/RegisteredPojoModelResourceIT.java b/integration-tests/jackson/src/test/java/io/quarkus/it/jackson/RegisteredPojoModelResourceIT.java similarity index 86% rename from integration-tests/jackson/service/src/test/java/io/quarkus/reproducer/RegisteredPojoModelResourceIT.java rename to integration-tests/jackson/src/test/java/io/quarkus/it/jackson/RegisteredPojoModelResourceIT.java index 61f2563b53858..a9ca09760ccc5 100644 --- a/integration-tests/jackson/service/src/test/java/io/quarkus/reproducer/RegisteredPojoModelResourceIT.java +++ b/integration-tests/jackson/src/test/java/io/quarkus/it/jackson/RegisteredPojoModelResourceIT.java @@ -1,4 +1,4 @@ -package io.quarkus.reproducer; +package io.quarkus.it.jackson; import io.quarkus.test.junit.NativeImageTest; diff --git a/integration-tests/jackson/service/src/test/java/io/quarkus/reproducer/RegisteredPojoModelResourceTest.java b/integration-tests/jackson/src/test/java/io/quarkus/it/jackson/RegisteredPojoModelResourceTest.java similarity index 78% rename from integration-tests/jackson/service/src/test/java/io/quarkus/reproducer/RegisteredPojoModelResourceTest.java rename to integration-tests/jackson/src/test/java/io/quarkus/it/jackson/RegisteredPojoModelResourceTest.java index 63f8d65bcabe3..d8bd9cf79a01f 100644 --- a/integration-tests/jackson/service/src/test/java/io/quarkus/reproducer/RegisteredPojoModelResourceTest.java +++ b/integration-tests/jackson/src/test/java/io/quarkus/it/jackson/RegisteredPojoModelResourceTest.java @@ -1,5 +1,6 @@ -package io.quarkus.reproducer; +package io.quarkus.it.jackson; +import static io.quarkus.it.jackson.TestUtil.getObjectMapperForTest; import static io.restassured.RestAssured.given; import static org.hamcrest.CoreMatchers.equalTo; @@ -7,7 +8,7 @@ import org.junit.jupiter.api.Test; -import io.quarkus.reproducer.jacksonbuilder.model.RegisteredPojoModel; +import io.quarkus.it.jackson.model.RegisteredPojoModel; import io.quarkus.test.junit.QuarkusTest; @QuarkusTest @@ -22,7 +23,7 @@ public void testSimplePojoModel() throws IOException { given() .contentType("application/json") - .body(model.toJson()) + .body(model.toJson(getObjectMapperForTest())) .when().post("/registeredpojomodel") .then() .statusCode(201) diff --git a/integration-tests/jackson/src/test/java/io/quarkus/it/jackson/TestUtil.java b/integration-tests/jackson/src/test/java/io/quarkus/it/jackson/TestUtil.java new file mode 100644 index 0000000000000..ac37207e796fc --- /dev/null +++ b/integration-tests/jackson/src/test/java/io/quarkus/it/jackson/TestUtil.java @@ -0,0 +1,26 @@ +package io.quarkus.it.jackson; + +import com.fasterxml.jackson.databind.ObjectMapper; +import com.fasterxml.jackson.datatype.jdk8.Jdk8Module; +import com.fasterxml.jackson.datatype.jsr310.JavaTimeModule; +import com.fasterxml.jackson.module.paramnames.ParameterNamesModule; + +final class TestUtil { + + private static volatile ObjectMapper objectMapper; + + private TestUtil() { + } + + // we need this because the ObjectMapper can't be retrieved from Arc in native tests + public static ObjectMapper getObjectMapperForTest() { + if (objectMapper == null) { + objectMapper = new ObjectMapper(); + objectMapper.registerModule(new ParameterNamesModule()) + .registerModule(new Jdk8Module()) + .registerModule(new JavaTimeModule()); + new MyObjectMapperCustomizer().customize(objectMapper); + } + return objectMapper; + } +} diff --git a/integration-tests/jackson/model/src/test/java/io/quarkus/reproducer/jacksonbuilder/model/InheritedModelWithBuilderTest.java b/integration-tests/jackson/src/test/java/io/quarkus/it/jackson/model/InheritedModelWithBuilderTest.java similarity index 97% rename from integration-tests/jackson/model/src/test/java/io/quarkus/reproducer/jacksonbuilder/model/InheritedModelWithBuilderTest.java rename to integration-tests/jackson/src/test/java/io/quarkus/it/jackson/model/InheritedModelWithBuilderTest.java index 53c6cc47132a1..f7fd5674df2fa 100644 --- a/integration-tests/jackson/model/src/test/java/io/quarkus/reproducer/jacksonbuilder/model/InheritedModelWithBuilderTest.java +++ b/integration-tests/jackson/src/test/java/io/quarkus/it/jackson/model/InheritedModelWithBuilderTest.java @@ -1,4 +1,4 @@ -package io.quarkus.reproducer.jacksonbuilder.model; +package io.quarkus.it.jackson.model; import static org.assertj.core.api.Assertions.assertThat; diff --git a/integration-tests/jackson/model/src/test/java/io/quarkus/reproducer/jacksonbuilder/model/ModelWithBuilderTest.java b/integration-tests/jackson/src/test/java/io/quarkus/it/jackson/model/ModelWithBuilderTest.java similarity index 97% rename from integration-tests/jackson/model/src/test/java/io/quarkus/reproducer/jacksonbuilder/model/ModelWithBuilderTest.java rename to integration-tests/jackson/src/test/java/io/quarkus/it/jackson/model/ModelWithBuilderTest.java index aae001da3a01e..00eb02a4b5a2b 100644 --- a/integration-tests/jackson/model/src/test/java/io/quarkus/reproducer/jacksonbuilder/model/ModelWithBuilderTest.java +++ b/integration-tests/jackson/src/test/java/io/quarkus/it/jackson/model/ModelWithBuilderTest.java @@ -1,4 +1,4 @@ -package io.quarkus.reproducer.jacksonbuilder.model; +package io.quarkus.it.jackson.model; import static org.assertj.core.api.Assertions.assertThat; diff --git a/integration-tests/jackson/model/src/test/java/io/quarkus/reproducer/jacksonbuilder/model/RegisteredPojoModelTest.java b/integration-tests/jackson/src/test/java/io/quarkus/it/jackson/model/RegisteredPojoModelTest.java similarity index 95% rename from integration-tests/jackson/model/src/test/java/io/quarkus/reproducer/jacksonbuilder/model/RegisteredPojoModelTest.java rename to integration-tests/jackson/src/test/java/io/quarkus/it/jackson/model/RegisteredPojoModelTest.java index b0aeceb31a8cf..56ebe7d159dca 100644 --- a/integration-tests/jackson/model/src/test/java/io/quarkus/reproducer/jacksonbuilder/model/RegisteredPojoModelTest.java +++ b/integration-tests/jackson/src/test/java/io/quarkus/it/jackson/model/RegisteredPojoModelTest.java @@ -1,4 +1,4 @@ -package io.quarkus.reproducer.jacksonbuilder.model; +package io.quarkus.it.jackson.model; import static org.assertj.core.api.Assertions.assertThat;