mirror of
https://github.com/scm-manager/scm-manager.git
synced 2025-10-26 08:06:09 +01:00
Fix configuration in queryable unit test extension
With this the queryable unit test extension
(QueryableStoreExtension) uses the same jackson mapper
configuration as in production.
In contrast to edaffc1662
where the XML annotation introspector had been missing,
now this really should be the case.
This commit is contained in:
@@ -27,6 +27,7 @@ dependencies {
|
||||
api libraries.junitJupiterApi
|
||||
api libraries.mockitoCore
|
||||
implementation libraries.jacksonDatatypeJsr310
|
||||
implementation libraries.jacksonJaxbAnnotations
|
||||
|
||||
// tests
|
||||
testImplementation project(':scm-test')
|
||||
|
||||
@@ -16,12 +16,17 @@
|
||||
|
||||
package sonia.scm.store;
|
||||
|
||||
import com.fasterxml.jackson.databind.AnnotationIntrospector;
|
||||
import com.fasterxml.jackson.databind.DeserializationFeature;
|
||||
import com.fasterxml.jackson.databind.ObjectMapper;
|
||||
import com.fasterxml.jackson.databind.SerializationFeature;
|
||||
import com.fasterxml.jackson.databind.introspect.AnnotationIntrospectorPair;
|
||||
import com.fasterxml.jackson.databind.introspect.JacksonAnnotationIntrospector;
|
||||
import com.fasterxml.jackson.databind.type.TypeFactory;
|
||||
import com.fasterxml.jackson.databind.util.StdDateFormat;
|
||||
import com.fasterxml.jackson.datatype.jdk8.Jdk8Module;
|
||||
import com.fasterxml.jackson.datatype.jsr310.JavaTimeModule;
|
||||
import com.fasterxml.jackson.module.jakarta.xmlbind.JakartaXmlBindAnnotationIntrospector;
|
||||
import org.junit.jupiter.api.Nested;
|
||||
import org.junit.jupiter.api.extension.AfterEachCallback;
|
||||
import org.junit.jupiter.api.extension.BeforeEachCallback;
|
||||
@@ -67,6 +72,7 @@ public class QueryableStoreExtension implements ParameterResolver, BeforeEachCal
|
||||
return new ObjectMapper()
|
||||
.registerModule(new Jdk8Module())
|
||||
.registerModule(new JavaTimeModule())
|
||||
.setAnnotationIntrospector(createAnnotationIntrospector())
|
||||
.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false)
|
||||
.configure(SerializationFeature.WRITE_DATES_AS_TIMESTAMPS, false)
|
||||
.configure(DeserializationFeature.ACCEPT_SINGLE_VALUE_AS_ARRAY, true)
|
||||
@@ -74,6 +80,13 @@ public class QueryableStoreExtension implements ParameterResolver, BeforeEachCal
|
||||
.setDateFormat(new StdDateFormat());
|
||||
}
|
||||
|
||||
private static AnnotationIntrospector createAnnotationIntrospector() {
|
||||
return new AnnotationIntrospectorPair(
|
||||
new JakartaXmlBindAnnotationIntrospector(TypeFactory.defaultInstance()),
|
||||
new JacksonAnnotationIntrospector()
|
||||
);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void beforeEach(ExtensionContext context) throws IOException {
|
||||
tempDirectory = Files.createTempDirectory("test");
|
||||
|
||||
Reference in New Issue
Block a user