map = JacksonObjectMapper.getMapper().convertValue(obj, new TypeReference<>() {
+ });
+ map.keySet().removeAll(Set.of(ignoreProps));
+ return writeValue(map);
+ }
+
+ public static class JacksonObjectMapper extends ObjectMapper {
+ private static final ObjectMapper MAPPER = new JacksonObjectMapper();
+
+ private JacksonObjectMapper() {
+ //настройки Ильи
+ configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, true);
+ //модуль для корректной сериализации LocalDateTime в поля JSON - JavaTimeModule модуль библиотеки jackson-datatype-jsr310
+ registerModule(new JavaTimeModule());
+ configure(SerializationFeature.WRITE_DATES_AS_TIMESTAMPS, false);
+ //запрещаем доступ ко всем полям и методам класса и потом разрешаем доступ только к полям, нужны чтобы не было лишних полей из-за методов как: public ActionType getActionType() у BankAccountNewAction
+ setVisibility(PropertyAccessor.ALL, JsonAutoDetect.Visibility.NONE);
+ setVisibility(PropertyAccessor.FIELD, JsonAutoDetect.Visibility.ANY);
+ //не сериализуем null-поля
+// setSerializationInclusion(JsonInclude.Include.NON_NULL);
+ }
+
+ public static ObjectMapper getMapper() {
+ return MAPPER;
+ }
+ }
+}
\ No newline at end of file
diff --git a/clearing-parent/backend-api/src/test/java/ru/spcex/clearing/backendapi/controller/utils/MatcherFactory.java b/clearing-parent/test-clearing/src/main/java/ru/spcex/clearing/imdg/MatcherFactoryImdg.java
similarity index 84%
rename from clearing-parent/backend-api/src/test/java/ru/spcex/clearing/backendapi/controller/utils/MatcherFactory.java
rename to clearing-parent/test-clearing/src/main/java/ru/spcex/clearing/imdg/MatcherFactoryImdg.java
index c72317938..ac61b25cd 100644
--- a/clearing-parent/backend-api/src/test/java/ru/spcex/clearing/backendapi/controller/utils/MatcherFactory.java
+++ b/clearing-parent/test-clearing/src/main/java/ru/spcex/clearing/imdg/MatcherFactoryImdg.java
@@ -1,5 +1,6 @@
-package ru.spcex.clearing.backendapi.controller.utils;
+package ru.spcex.clearing.imdg;
+import org.assertj.core.api.Assertions;
import org.springframework.test.web.servlet.MvcResult;
import org.springframework.test.web.servlet.ResultActions;
import org.springframework.test.web.servlet.ResultMatcher;
@@ -8,15 +9,13 @@ import java.io.UnsupportedEncodingException;
import java.util.List;
import java.util.function.BiConsumer;
-import static org.assertj.core.api.Assertions.assertThat;
-
/**
* Factory for creating test matchers.
*
* Comparing actual and expected objects via AssertJ
* Support converting json MvcResult to objects for comparation.
*/
-public class MatcherFactory {
+public class MatcherFactoryImdg {
public static Matcher usingAssertions(Class clazz, BiConsumer assertion, BiConsumer, Iterable> iterableAssertion) {
return new Matcher<>(clazz, assertion, iterableAssertion);
@@ -24,14 +23,14 @@ public class MatcherFactory {
public static Matcher usingEqualsComparator(Class clazz) {
return usingAssertions(clazz,
- (a, e) -> assertThat(a).isEqualTo(e),
- (a, e) -> assertThat(a).isEqualTo(e));
+ (a, e) -> Assertions.assertThat(a).isEqualTo(e),
+ (a, e) -> Assertions.assertThat(a).isEqualTo(e));
}
public static Matcher usingIgnoringFieldsComparator(Class clazz, String... fieldsToIgnore) {
return usingAssertions(clazz,
- (a, e) -> assertThat(a).usingRecursiveComparison().ignoringFields(fieldsToIgnore).isEqualTo(e),
- (a, e) -> assertThat(a).usingRecursiveFieldByFieldElementComparatorIgnoringFields(fieldsToIgnore).isEqualTo(e));
+ (a, e) -> Assertions.assertThat(a).usingRecursiveComparison().ignoringFields(fieldsToIgnore).isEqualTo(e),
+ (a, e) -> Assertions.assertThat(a).usingRecursiveFieldByFieldElementComparatorIgnoringFields(fieldsToIgnore).isEqualTo(e));
}
public static class Matcher {
diff --git a/clearing-parent/backend-api/src/test/java/ru/spcex/clearing/backendapi/controller/utils/TestUtils.java b/clearing-parent/test-clearing/src/main/java/ru/spcex/clearing/imdg/TestUtils.java
similarity index 98%
rename from clearing-parent/backend-api/src/test/java/ru/spcex/clearing/backendapi/controller/utils/TestUtils.java
rename to clearing-parent/test-clearing/src/main/java/ru/spcex/clearing/imdg/TestUtils.java
index 45091310f..9c109a595 100644
--- a/clearing-parent/backend-api/src/test/java/ru/spcex/clearing/backendapi/controller/utils/TestUtils.java
+++ b/clearing-parent/test-clearing/src/main/java/ru/spcex/clearing/imdg/TestUtils.java
@@ -1,4 +1,4 @@
-package ru.spcex.clearing.backendapi.controller.utils;
+package ru.spcex.clearing.imdg;
import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.ObjectMapper;
diff --git a/pom.xml b/pom.xml
index b5e15a784..e21bc656f 100644
--- a/pom.xml
+++ b/pom.xml
@@ -104,6 +104,11 @@
security-util
${global.project.version}