JAMES-2479 upgrade jackson library
Project: http://git-wip-us.apache.org/repos/asf/james-project/repo Commit: http://git-wip-us.apache.org/repos/asf/james-project/commit/b657d252 Tree: http://git-wip-us.apache.org/repos/asf/james-project/tree/b657d252 Diff: http://git-wip-us.apache.org/repos/asf/james-project/diff/b657d252 Branch: refs/heads/master Commit: b657d2526a4a6c61972b1ff23eaf5ea040c00541 Parents: 00330ba Author: Matthieu Baechler <matth...@apache.org> Authored: Wed Jul 18 17:23:57 2018 +0200 Committer: Matthieu Baechler <matth...@apache.org> Committed: Fri Jul 27 10:16:53 2018 +0200 ---------------------------------------------------------------------- ...icSearchListeningMessageSearchIndexTest.java | 6 +- .../mailbox/tika/TikaTextExtractorTest.java | 41 +++-------- .../mailets/ICALToJsonAttributeTest.java | 7 +- .../transport/mailets/ContactExtractorTest.java | 4 +- pom.xml | 77 ++++++++++++++++++-- .../integration/GetMailboxesMethodTest.java | 5 +- .../integration/SetMessagesMethodTest.java | 4 +- .../cucumber/GetMessagesMethodStepdefs.java | 5 -- .../test/resources/cucumber/GetMessages.feature | 1 - .../jmap/json/MultipleClassesDeserializer.java | 2 +- .../UpdateMessagePatchValidatorTest.java | 4 +- .../james/webadmin/routes/ErrorRoutesTest.java | 3 +- .../routes/DLPConfigurationRoutesTest.java | 5 +- 13 files changed, 105 insertions(+), 59 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/james-project/blob/b657d252/mailbox/elasticsearch/src/test/java/org/apache/james/mailbox/elasticsearch/events/ElasticSearchListeningMessageSearchIndexTest.java ---------------------------------------------------------------------- diff --git a/mailbox/elasticsearch/src/test/java/org/apache/james/mailbox/elasticsearch/events/ElasticSearchListeningMessageSearchIndexTest.java b/mailbox/elasticsearch/src/test/java/org/apache/james/mailbox/elasticsearch/events/ElasticSearchListeningMessageSearchIndexTest.java index 280f476..62eb3ee 100644 --- a/mailbox/elasticsearch/src/test/java/org/apache/james/mailbox/elasticsearch/events/ElasticSearchListeningMessageSearchIndexTest.java +++ b/mailbox/elasticsearch/src/test/java/org/apache/james/mailbox/elasticsearch/events/ElasticSearchListeningMessageSearchIndexTest.java @@ -53,6 +53,7 @@ import org.junit.Before; import org.junit.Test; import com.fasterxml.jackson.core.JsonGenerationException; +import com.fasterxml.jackson.core.JsonGenerator; import com.fasterxml.jackson.core.JsonProcessingException; import com.google.common.collect.ImmutableList; import com.google.common.collect.Lists; @@ -146,9 +147,10 @@ public class ElasticSearchListeningMessageSearchIndexTest { when(messageToElasticSearchJson.convertToJson(eq(message), eq(users))) .thenThrow(JsonProcessingException.class); - + + JsonGenerator jsonGenerator = null; when(messageToElasticSearchJson.convertToJsonWithoutAttachment(eq(message), eq(users))) - .thenThrow(new JsonGenerationException("expected error")); + .thenThrow(new JsonGenerationException("expected error", jsonGenerator)); //When testee.add(session, mailbox, message); http://git-wip-us.apache.org/repos/asf/james-project/blob/b657d252/mailbox/tika/src/test/java/org/apache/james/mailbox/tika/TikaTextExtractorTest.java ---------------------------------------------------------------------- diff --git a/mailbox/tika/src/test/java/org/apache/james/mailbox/tika/TikaTextExtractorTest.java b/mailbox/tika/src/test/java/org/apache/james/mailbox/tika/TikaTextExtractorTest.java index a78821f..11959d6 100644 --- a/mailbox/tika/src/test/java/org/apache/james/mailbox/tika/TikaTextExtractorTest.java +++ b/mailbox/tika/src/test/java/org/apache/james/mailbox/tika/TikaTextExtractorTest.java @@ -20,8 +20,6 @@ package org.apache.james.mailbox.tika; import static org.assertj.core.api.Assertions.assertThat; -import static org.mockito.Mockito.mock; -import static org.mockito.Mockito.when; import java.io.ByteArrayInputStream; import java.io.InputStream; @@ -40,9 +38,9 @@ import org.junit.Rule; import org.junit.Test; import org.junit.rules.ExpectedException; -import com.fasterxml.jackson.databind.JsonNode; -import com.fasterxml.jackson.databind.node.JsonNodeType; -import com.google.common.collect.ImmutableList; +import com.fasterxml.jackson.databind.node.ArrayNode; +import com.fasterxml.jackson.databind.node.JsonNodeFactory; +import com.fasterxml.jackson.databind.node.TextNode; public class TikaTextExtractorTest { @@ -198,38 +196,21 @@ public class TikaTextExtractorTest { @Test public void asListOfStringShouldReturnASingletonWhenOneElement() { - JsonNode jsonNode = mock(JsonNode.class); - when(jsonNode.getNodeType()) - .thenReturn(JsonNodeType.STRING); - String expectedContent = "text"; - when(jsonNode.asText()) - .thenReturn(expectedContent); - ContentAndMetadataDeserializer deserializer = new TikaTextExtractor.ContentAndMetadataDeserializer(); - List<String> listOfString = deserializer.asListOfString(jsonNode); + List<String> listOfString = deserializer.asListOfString(TextNode.valueOf("text")); - assertThat(listOfString).containsOnly(expectedContent); + assertThat(listOfString).containsOnly("text"); } @Test public void asListOfStringShouldReturnAListWhenMultipleElements() { - JsonNode mainNode = mock(JsonNode.class); - when(mainNode.getNodeType()) - .thenReturn(JsonNodeType.ARRAY); - JsonNode firstNode = mock(JsonNode.class); - when(firstNode.asText()) - .thenReturn("first"); - JsonNode secondNode = mock(JsonNode.class); - when(secondNode.asText()) - .thenReturn("second"); - JsonNode thirdNode = mock(JsonNode.class); - when(thirdNode.asText()) - .thenReturn("third"); - when(mainNode.elements()) - .thenReturn(ImmutableList.of(firstNode, secondNode, thirdNode).iterator()); - + ArrayNode jsonArray = new ArrayNode(JsonNodeFactory.instance) + .add("first") + .add("second") + .add("third"); + ContentAndMetadataDeserializer deserializer = new TikaTextExtractor.ContentAndMetadataDeserializer(); - List<String> listOfString = deserializer.asListOfString(mainNode); + List<String> listOfString = deserializer.asListOfString(jsonArray); assertThat(listOfString).containsOnly("first", "second", "third"); } http://git-wip-us.apache.org/repos/asf/james-project/blob/b657d252/mailet/icalendar/src/test/java/org/apache/james/transport/mailets/ICALToJsonAttributeTest.java ---------------------------------------------------------------------- diff --git a/mailet/icalendar/src/test/java/org/apache/james/transport/mailets/ICALToJsonAttributeTest.java b/mailet/icalendar/src/test/java/org/apache/james/transport/mailets/ICALToJsonAttributeTest.java index c0232de..b9fc591 100644 --- a/mailet/icalendar/src/test/java/org/apache/james/transport/mailets/ICALToJsonAttributeTest.java +++ b/mailet/icalendar/src/test/java/org/apache/james/transport/mailets/ICALToJsonAttributeTest.java @@ -23,7 +23,6 @@ import static net.javacrumbs.jsonunit.fluent.JsonFluentAssert.assertThatJson; import static org.assertj.core.api.Assertions.assertThat; import java.io.ByteArrayInputStream; -import java.io.UnsupportedEncodingException; import java.nio.charset.StandardCharsets; import java.util.List; import java.util.Map; @@ -44,7 +43,7 @@ import org.junit.Rule; import org.junit.Test; import org.junit.rules.ExpectedException; -import com.fasterxml.jackson.core.io.JsonStringEncoder; +import com.fasterxml.jackson.core.util.BufferRecyclers; import com.google.common.collect.ImmutableMap; import net.fortuna.ical4j.data.CalendarBuilder; import net.fortuna.ical4j.model.Calendar; @@ -264,8 +263,8 @@ public class ICALToJsonAttributeTest { "}"); } - private String toJsonValue(byte[] ics) throws UnsupportedEncodingException { - return new String(JsonStringEncoder.getInstance().quoteAsUTF8(new String(ics, StandardCharsets.UTF_8)), StandardCharsets.UTF_8); + private String toJsonValue(byte[] ics) { + return new String(BufferRecyclers.getJsonStringEncoder().quoteAsUTF8(new String(ics, StandardCharsets.UTF_8)), StandardCharsets.UTF_8); } @SuppressWarnings("unchecked") http://git-wip-us.apache.org/repos/asf/james-project/blob/b657d252/mailet/standard/src/test/java/org/apache/james/transport/mailets/ContactExtractorTest.java ---------------------------------------------------------------------- diff --git a/mailet/standard/src/test/java/org/apache/james/transport/mailets/ContactExtractorTest.java b/mailet/standard/src/test/java/org/apache/james/transport/mailets/ContactExtractorTest.java index dc33e0b..b328e70 100644 --- a/mailet/standard/src/test/java/org/apache/james/transport/mailets/ContactExtractorTest.java +++ b/mailet/standard/src/test/java/org/apache/james/transport/mailets/ContactExtractorTest.java @@ -39,6 +39,7 @@ import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; import com.fasterxml.jackson.core.JsonGenerationException; +import com.fasterxml.jackson.core.JsonGenerator; import com.fasterxml.jackson.databind.ObjectMapper; public class ContactExtractorTest { @@ -92,8 +93,9 @@ public class ContactExtractorTest { .build(); ObjectMapper objectMapper = mock(ObjectMapper.class); + JsonGenerator jsonGenerator = null; when(objectMapper.writeValueAsString(any(ContactExtractor.ExtractedContacts.class))) - .thenThrow(new JsonGenerationException("")); + .thenThrow(new JsonGenerationException("", jsonGenerator)); mailet.init(mailetConfig); mailet.objectMapper = objectMapper; http://git-wip-us.apache.org/repos/asf/james-project/blob/b657d252/pom.xml ---------------------------------------------------------------------- diff --git a/pom.xml b/pom.xml index 8b17152..0ed2927 100644 --- a/pom.xml +++ b/pom.xml @@ -629,7 +629,6 @@ <karaf.version>2.3.0</karaf.version> <karaf.tooling.exam.container.version>2.3.0</karaf.tooling.exam.container.version> <pax-logging-api.version>1.6.4</pax-logging-api.version> - <jackson-data.version>2.6.3</jackson-data.version> <jetty.version>9.4.11.v20180605</jetty.version> <assertj-guava.version>3.1.0</assertj-guava.version> <testcontainers.version>1.8.1</testcontainers.version> @@ -661,10 +660,9 @@ <geronimo-activation-spec.version>1.1</geronimo-activation-spec.version> <mockito-core.version>1.9.0</mockito-core.version> <jasypt.version>1.9.2</jasypt.version> - <jackson-databinding.version>2.6.3</jackson-databinding.version> <guice.version>4.1.0</guice.version> <jackrabbit-core.version>2.5.2</jackrabbit-core.version> - + <jackson1.version>1.9.2</jackson1.version> <logback.version>1.1.11</logback.version> </properties> @@ -1601,23 +1599,68 @@ </dependency> <dependency> <groupId>com.fasterxml.jackson.core</groupId> + <artifactId>jackson-annotations</artifactId> + <version>${jackson.version}</version> + </dependency> + <dependency> + <groupId>com.fasterxml.jackson.core</groupId> + <artifactId>jackson-core</artifactId> + <version>${jackson.version}</version> + </dependency> + <dependency> + <groupId>com.fasterxml.jackson.core</groupId> <artifactId>jackson-databind</artifactId> - <version>${jackson-data.version}</version> + <version>${jackson.version}</version> + </dependency> + <dependency> + <groupId>com.fasterxml.jackson.dataformat</groupId> + <artifactId>jackson-dataformat-cbor</artifactId> + <version>${jackson.version}</version> + </dependency> + <dependency> + <groupId>com.fasterxml.jackson.dataformat</groupId> + <artifactId>jackson-dataformat-smile</artifactId> + <version>${jackson.version}</version> + </dependency> + <dependency> + <groupId>com.fasterxml.jackson.dataformat</groupId> + <artifactId>jackson-dataformat-xml</artifactId> + <version>${jackson.version}</version> + </dependency> + <dependency> + <groupId>com.fasterxml.jackson.dataformat</groupId> + <artifactId>jackson-dataformat-yaml</artifactId> + <version>${jackson.version}</version> </dependency> <dependency> <groupId>com.fasterxml.jackson.datatype</groupId> <artifactId>jackson-datatype-guava</artifactId> - <version>${jackson-databinding.version}</version> + <version>${jackson.version}</version> </dependency> <dependency> <groupId>com.fasterxml.jackson.datatype</groupId> <artifactId>jackson-datatype-jdk8</artifactId> - <version>${jackson-databinding.version}</version> + <version>${jackson.version}</version> + </dependency> + <dependency> + <groupId>com.fasterxml.jackson.datatype</groupId> + <artifactId>jackson-datatype-joda</artifactId> + <version>${jackson.version}</version> </dependency> <dependency> <groupId>com.fasterxml.jackson.datatype</groupId> <artifactId>jackson-datatype-jsr310</artifactId> - <version>${jackson-databinding.version}</version> + <version>${jackson.version}</version> + </dependency> + <dependency> + <groupId>com.fasterxml.jackson.jaxrs</groupId> + <artifactId>jackson-jaxrs-json-provider</artifactId> + <version>${jackson.version}</version> + </dependency> + <dependency> + <groupId>com.fasterxml.jackson.module</groupId> + <artifactId>jackson-module-afterburner</artifactId> + <version>${jackson.version}</version> </dependency> <dependency> <groupId>com.github.dpaukov</groupId> @@ -2227,6 +2270,26 @@ <version>1.60</version> </dependency> <dependency> + <groupId>org.codehaus.jackson</groupId> + <artifactId>jackson-core-asl</artifactId> + <version>${jackson1.version}</version> + </dependency> + <dependency> + <groupId>org.codehaus.jackson</groupId> + <artifactId>jackson-jaxrs</artifactId> + <version>${jackson1.version}</version> + </dependency> + <dependency> + <groupId>org.codehaus.jackson</groupId> + <artifactId>jackson-mapper-asl</artifactId> + <version>${jackson1.version}</version> + </dependency> + <dependency> + <groupId>org.codehaus.jackson</groupId> + <artifactId>jackson-xc</artifactId> + <version>${jackson1.version}</version> + </dependency> + <dependency> <groupId>org.eclipse.jetty</groupId> <artifactId>jetty-http</artifactId> <version>${jetty.version}</version> http://git-wip-us.apache.org/repos/asf/james-project/blob/b657d252/server/protocols/jmap-integration-testing/jmap-integration-testing-common/src/test/java/org/apache/james/jmap/methods/integration/GetMailboxesMethodTest.java ---------------------------------------------------------------------- diff --git a/server/protocols/jmap-integration-testing/jmap-integration-testing-common/src/test/java/org/apache/james/jmap/methods/integration/GetMailboxesMethodTest.java b/server/protocols/jmap-integration-testing/jmap-integration-testing-common/src/test/java/org/apache/james/jmap/methods/integration/GetMailboxesMethodTest.java index 05e3d45..4315648 100644 --- a/server/protocols/jmap-integration-testing/jmap-integration-testing-common/src/test/java/org/apache/james/jmap/methods/integration/GetMailboxesMethodTest.java +++ b/server/protocols/jmap-integration-testing/jmap-integration-testing-common/src/test/java/org/apache/james/jmap/methods/integration/GetMailboxesMethodTest.java @@ -34,6 +34,7 @@ import static org.apache.james.jmap.TestingConstants.NAME; import static org.apache.james.jmap.TestingConstants.SECOND_MAILBOX; import static org.apache.james.jmap.TestingConstants.jmapRequestSpecBuilder; import static org.assertj.core.api.Assertions.assertThat; +import static org.hamcrest.Matchers.containsString; import static org.hamcrest.Matchers.empty; import static org.hamcrest.Matchers.equalTo; import static org.hamcrest.Matchers.hasEntry; @@ -339,8 +340,8 @@ public abstract class GetMailboxesMethodTest { .statusCode(200) .body(NAME, equalTo("error")) .body(ARGUMENTS + ".type", equalTo("invalidArguments")) - .body(ARGUMENTS + ".description", equalTo("Can not deserialize instance of java.util.ArrayList out of VALUE_TRUE token\n" - + " at [Source: {\"ids\":true}; line: 1, column: 2] (through reference chain: org.apache.james.jmap.model.Builder[\"ids\"])")); + .body(ARGUMENTS + ".description", containsString("Cannot deserialize instance of `java.util.ArrayList` out of VALUE_TRUE token")) + .body(ARGUMENTS + ".description", containsString("{\"ids\":true}")); } @Test http://git-wip-us.apache.org/repos/asf/james-project/blob/b657d252/server/protocols/jmap-integration-testing/jmap-integration-testing-common/src/test/java/org/apache/james/jmap/methods/integration/SetMessagesMethodTest.java ---------------------------------------------------------------------- diff --git a/server/protocols/jmap-integration-testing/jmap-integration-testing-common/src/test/java/org/apache/james/jmap/methods/integration/SetMessagesMethodTest.java b/server/protocols/jmap-integration-testing/jmap-integration-testing-common/src/test/java/org/apache/james/jmap/methods/integration/SetMessagesMethodTest.java index 980c2c8..43be5d0 100644 --- a/server/protocols/jmap-integration-testing/jmap-integration-testing-common/src/test/java/org/apache/james/jmap/methods/integration/SetMessagesMethodTest.java +++ b/server/protocols/jmap-integration-testing/jmap-integration-testing-common/src/test/java/org/apache/james/jmap/methods/integration/SetMessagesMethodTest.java @@ -830,8 +830,8 @@ public abstract class SetMessagesMethodTest { .body(NOT_UPDATED, hasKey(messageId)) .body(NOT_UPDATED + "[\"" + messageId + "\"].type", equalTo("invalidProperties")) .body(NOT_UPDATED + "[\"" + messageId + "\"].properties[0]", equalTo("isUnread")) - .body(NOT_UPDATED + "[\"" + messageId + "\"].description", equalTo("isUnread: Can not construct instance of java.lang.Boolean from String value '123': only \"true\" or \"false\" recognized\n" + - " at [Source: {\"isUnread\":\"123\"}; line: 1, column: 2] (through reference chain: org.apache.james.jmap.model.Builder[\"isUnread\"])")) + .body(NOT_UPDATED + "[\"" + messageId + "\"].description", containsString("isUnread: Cannot deserialize value of type `java.lang.Boolean` from String \"123\": only \"true\" or \"false\" recognized")) + .body(NOT_UPDATED + "[\"" + messageId + "\"].description", containsString("{\"isUnread\":\"123\"}")) .body(ARGUMENTS + ".updated", hasSize(0)); } http://git-wip-us.apache.org/repos/asf/james-project/blob/b657d252/server/protocols/jmap-integration-testing/jmap-integration-testing-common/src/test/java/org/apache/james/jmap/methods/integration/cucumber/GetMessagesMethodStepdefs.java ---------------------------------------------------------------------- diff --git a/server/protocols/jmap-integration-testing/jmap-integration-testing-common/src/test/java/org/apache/james/jmap/methods/integration/cucumber/GetMessagesMethodStepdefs.java b/server/protocols/jmap-integration-testing/jmap-integration-testing-common/src/test/java/org/apache/james/jmap/methods/integration/cucumber/GetMessagesMethodStepdefs.java index e2bc4ca..efc15e6 100644 --- a/server/protocols/jmap-integration-testing/jmap-integration-testing-common/src/test/java/org/apache/james/jmap/methods/integration/cucumber/GetMessagesMethodStepdefs.java +++ b/server/protocols/jmap-integration-testing/jmap-integration-testing-common/src/test/java/org/apache/james/jmap/methods/integration/cucumber/GetMessagesMethodStepdefs.java @@ -536,11 +536,6 @@ public class GetMessagesMethodStepdefs { assertThat(httpClient.jsonPath.<List<String>>read(ARGUMENTS + ".list")).isEmpty(); } - @Then("^the description is \"(.*?)\"$") - public void assertDescription(String description) { - assertThat(httpClient.jsonPath.<String>read(ARGUMENTS + ".description")).isEqualTo(description); - } - @Then("^the notFound list should contain \"([^\"]*)\"$") public void assertNotFoundListContains(String id) { MessageId messageId = messageIdStepdefs.getMessageId(id); http://git-wip-us.apache.org/repos/asf/james-project/blob/b657d252/server/protocols/jmap-integration-testing/jmap-integration-testing-common/src/test/resources/cucumber/GetMessages.feature ---------------------------------------------------------------------- diff --git a/server/protocols/jmap-integration-testing/jmap-integration-testing-common/src/test/resources/cucumber/GetMessages.feature b/server/protocols/jmap-integration-testing/jmap-integration-testing-common/src/test/resources/cucumber/GetMessages.feature index 8237ade..828f068 100644 --- a/server/protocols/jmap-integration-testing/jmap-integration-testing-common/src/test/resources/cucumber/GetMessages.feature +++ b/server/protocols/jmap-integration-testing/jmap-integration-testing-common/src/test/resources/cucumber/GetMessages.feature @@ -47,7 +47,6 @@ Feature: GetMessages method Scenario: Retrieving messages with invalid argument should return an InvalidArguments error When "al...@domain.tld" ask for messages using invalid argument Then an error of type "invalidArguments" is returned - And the description is "N/A (through reference chain: org.apache.james.jmap.model.Builder["ids"])" Scenario: Retrieving messages should return empty list when no message When "al...@domain.tld" ask for messages http://git-wip-us.apache.org/repos/asf/james-project/blob/b657d252/server/protocols/jmap/src/main/java/org/apache/james/jmap/json/MultipleClassesDeserializer.java ---------------------------------------------------------------------- diff --git a/server/protocols/jmap/src/main/java/org/apache/james/jmap/json/MultipleClassesDeserializer.java b/server/protocols/jmap/src/main/java/org/apache/james/jmap/json/MultipleClassesDeserializer.java index d06f448..f724164 100644 --- a/server/protocols/jmap/src/main/java/org/apache/james/jmap/json/MultipleClassesDeserializer.java +++ b/server/protocols/jmap/src/main/java/org/apache/james/jmap/json/MultipleClassesDeserializer.java @@ -48,7 +48,7 @@ public class MultipleClassesDeserializer extends StdDeserializer<Object> { .filter(req -> ! (root.at(req.getKey()).isMissingNode())) .map(x -> readValue(mapper, root, x.getValue())) .findFirst() - .orElseThrow(() -> new JsonMappingException("Can't map request to a known registered class")); + .orElseThrow(() -> JsonMappingException.from(ctxt, "Can't map request to a known registered class")); } private Object readValue(ObjectMapper mapper, JsonNode root, Class<?> clazz) { http://git-wip-us.apache.org/repos/asf/james-project/blob/b657d252/server/protocols/jmap/src/test/java/org/apache/james/jmap/methods/UpdateMessagePatchValidatorTest.java ---------------------------------------------------------------------- diff --git a/server/protocols/jmap/src/test/java/org/apache/james/jmap/methods/UpdateMessagePatchValidatorTest.java b/server/protocols/jmap/src/test/java/org/apache/james/jmap/methods/UpdateMessagePatchValidatorTest.java index db8d8d0..c0c703e 100644 --- a/server/protocols/jmap/src/test/java/org/apache/james/jmap/methods/UpdateMessagePatchValidatorTest.java +++ b/server/protocols/jmap/src/test/java/org/apache/james/jmap/methods/UpdateMessagePatchValidatorTest.java @@ -33,6 +33,7 @@ import org.apache.james.jmap.model.UpdateMessagePatch; import org.junit.Before; import org.junit.Test; +import com.fasterxml.jackson.core.JsonGenerator; import com.fasterxml.jackson.databind.JsonMappingException; import com.fasterxml.jackson.databind.ObjectMapper; import com.fasterxml.jackson.databind.node.ObjectNode; @@ -80,8 +81,9 @@ public class UpdateMessagePatchValidatorTest { ObjectNode emptyRootNode = new ObjectMapper().createObjectNode(); ObjectMapper mapper = mock(ObjectMapper.class); + JsonGenerator jsonGenerator = null; when(mapper.readValue(anyString(), eq(UpdateMessagePatch.class))) - .thenThrow(new JsonMappingException("Exception when parsing")); + .thenThrow(JsonMappingException.from(jsonGenerator, "Exception when parsing")); when(objectMapperFactory.forParsing()) .thenReturn(mapper); http://git-wip-us.apache.org/repos/asf/james-project/blob/b657d252/server/protocols/webadmin/webadmin-core/src/test/java/org/apache/james/webadmin/routes/ErrorRoutesTest.java ---------------------------------------------------------------------- diff --git a/server/protocols/webadmin/webadmin-core/src/test/java/org/apache/james/webadmin/routes/ErrorRoutesTest.java b/server/protocols/webadmin/webadmin-core/src/test/java/org/apache/james/webadmin/routes/ErrorRoutesTest.java index 943e15c..94993e3 100644 --- a/server/protocols/webadmin/webadmin-core/src/test/java/org/apache/james/webadmin/routes/ErrorRoutesTest.java +++ b/server/protocols/webadmin/webadmin-core/src/test/java/org/apache/james/webadmin/routes/ErrorRoutesTest.java @@ -28,6 +28,7 @@ import static org.apache.james.webadmin.utils.ErrorResponder.ErrorType.SERVER_ER import static org.eclipse.jetty.http.HttpStatus.BAD_REQUEST_400; import static org.eclipse.jetty.http.HttpStatus.INTERNAL_SERVER_ERROR_500; import static org.eclipse.jetty.http.HttpStatus.NOT_FOUND_404; +import static org.hamcrest.Matchers.containsString; import static org.hamcrest.Matchers.equalTo; import org.apache.james.metrics.api.NoopMetricFactory; @@ -95,6 +96,6 @@ public class ErrorRoutesTest { .body("statusCode", equalTo(BAD_REQUEST_400)) .body("type", equalTo(INVALID_ARGUMENT.getType())) .body("message", equalTo("JSON payload of the request is not valid")) - .body("details", equalTo("Unrecognized token 'a': was expecting ('true', 'false' or 'null')\n at [Source: a non valid JSON; line: 1, column: 2]")); + .body("details", containsString("Unrecognized token 'a': was expecting ('true', 'false' or 'null')")); } } http://git-wip-us.apache.org/repos/asf/james-project/blob/b657d252/server/protocols/webadmin/webadmin-data/src/test/java/org/apache/james/webadmin/routes/DLPConfigurationRoutesTest.java ---------------------------------------------------------------------- diff --git a/server/protocols/webadmin/webadmin-data/src/test/java/org/apache/james/webadmin/routes/DLPConfigurationRoutesTest.java b/server/protocols/webadmin/webadmin-data/src/test/java/org/apache/james/webadmin/routes/DLPConfigurationRoutesTest.java index b1e51a6..62013c9 100644 --- a/server/protocols/webadmin/webadmin-data/src/test/java/org/apache/james/webadmin/routes/DLPConfigurationRoutesTest.java +++ b/server/protocols/webadmin/webadmin-data/src/test/java/org/apache/james/webadmin/routes/DLPConfigurationRoutesTest.java @@ -26,6 +26,7 @@ import static io.restassured.RestAssured.with; import static net.javacrumbs.jsonunit.fluent.JsonFluentAssert.assertThatJson; import static org.apache.james.webadmin.Constants.JSON_CONTENT_TYPE; import static org.apache.james.webadmin.WebAdminServer.NO_CONFIGURATION; +import static org.hamcrest.Matchers.containsString; import static org.hamcrest.Matchers.is; import static org.mockito.Matchers.any; import static org.mockito.Mockito.mock; @@ -239,7 +240,7 @@ class DLPConfigurationRoutesTest { .body("statusCode", is(400)) .body("type", is("InvalidArgument")) .body("message", is("JSON payload of the request is not valid")) - .body("details", is("Instantiation of [simple type, class org.apache.james.webadmin.dto.DLPConfigurationItemDTO] value failed: 'id' is mandatory (through reference chain: org.apache.james.webadmin.dto.DLPConfigurationDTO[\"rules\"])")); + .body("details", containsString("'id' is mandatory")); } @Test @@ -263,7 +264,7 @@ class DLPConfigurationRoutesTest { .body("statusCode", is(400)) .body("type", is("InvalidArgument")) .body("message", is("JSON payload of the request is not valid")) - .body("details", is("Instantiation of [simple type, class org.apache.james.webadmin.dto.DLPConfigurationItemDTO] value failed: 'expression' is mandatory (through reference chain: org.apache.james.webadmin.dto.DLPConfigurationDTO[\"rules\"])")); + .body("details", containsString("'expression' is mandatory")); } @Test --------------------------------------------------------------------- To unsubscribe, e-mail: server-dev-unsubscr...@james.apache.org For additional commands, e-mail: server-dev-h...@james.apache.org