From 79f065041774a00bd341a3e29d3576ee4bb634c7 Mon Sep 17 00:00:00 2001 From: AKurakin Date: Tue, 30 May 2023 16:43:55 +0300 Subject: [PATCH] =?UTF-8?q?clearing-validation=20=D0=BF=D0=BE=D0=BF=D1=80?= =?UTF-8?q?=D0=B0=D0=B2=D0=B8=D0=BB=20=D1=81=D0=BE=D0=BE=D0=B1=D1=89=D0=B5?= =?UTF-8?q?=D0=BD=D0=B8=D0=B5=20=D0=BE=D0=B1=20=D0=BE=D1=88=D0=B8=D0=B1?= =?UTF-8?q?=D0=BA=D0=B5=201010?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- clearing-parent/clearing-validation/pom.xml | 10 ++- .../services/IMDGMessageResolverTest.java | 67 +++++++++++++++++++ ...BySecuritySymbolAndWorkflowStatusActv.java | 2 +- 3 files changed, 76 insertions(+), 3 deletions(-) create mode 100644 clearing-parent/clearing-validation/src/test/java/ru/spcex/clearing/util/services/IMDGMessageResolverTest.java diff --git a/clearing-parent/clearing-validation/pom.xml b/clearing-parent/clearing-validation/pom.xml index 60ad3b00b..174415025 100644 --- a/clearing-parent/clearing-validation/pom.xml +++ b/clearing-parent/clearing-validation/pom.xml @@ -73,8 +73,8 @@ test - org.skyscreamer - jsonassert + org.mockito + mockito-core test @@ -91,5 +91,11 @@ ru.spcex.platform platform-messaging + + org.slf4j + slf4j-simple + 1.7.33 + test + \ No newline at end of file diff --git a/clearing-parent/clearing-validation/src/test/java/ru/spcex/clearing/util/services/IMDGMessageResolverTest.java b/clearing-parent/clearing-validation/src/test/java/ru/spcex/clearing/util/services/IMDGMessageResolverTest.java new file mode 100644 index 000000000..9b03cd75f --- /dev/null +++ b/clearing-parent/clearing-validation/src/test/java/ru/spcex/clearing/util/services/IMDGMessageResolverTest.java @@ -0,0 +1,67 @@ +package ru.spcex.clearing.util.services; + +import org.junit.jupiter.api.Test; +import org.mockito.Mockito; +import ru.clearing.platform.dictionary.ErrorCodeDictionary; +import ru.spcex.clearing.imdg.IMDGDistributedNames; +import ru.spcex.platform.imdg.api.Imdg; +import ru.spcex.platform.imdg.api.ImdgProvider; +import ru.spcex.platform.utils.enumeration.EnumMessage; +import ru.spcex.platform.utils.enumeration.IErrorEnumId; + +import static org.junit.jupiter.api.Assertions.*; + +class IMDGMessageResolverTest { + + @Test + void resolve() { + ImdgProvider imdgProvider = Mockito.mock(ImdgProvider.class); + Imdg errorCodeDictionary = Mockito.mock(Imdg.class); + ErrorCodeDictionary error1Dict = new ErrorCodeDictionary(); + error1Dict.setId(1L); + error1Dict.setCode("TEST"); + error1Dict.setName("Error 1 test. Two arg %s, %s."); + Mockito.when(errorCodeDictionary.getSingleObjectByID(1L)).thenReturn(error1Dict); + Mockito.when(imdgProvider.getImdg(IMDGDistributedNames.Map_ErrorCodeDictionary, ErrorCodeDictionary.class)) + .thenReturn(errorCodeDictionary); + + + IMDGMessageResolver resolver = new IMDGMessageResolver(imdgProvider); + + IErrorEnumId err1 = ClearingErrorInternalTest.TestError; + { + String text = resolver.resolve(new EnumMessage(err1, "a", "and", "b")); + assertEquals("Error 1 test. Two arg a, and.", text); + } + { + String text = resolver.resolve(new EnumMessage(err1, "a", "and")); + assertEquals("Error 1 test. Two arg a, and.", text); + } + { + String text = resolver.resolve(new EnumMessage(err1, "one only this")); + //assertEquals("Error 1 test. Two arg one only this, %s.", text); + // java.util.MissingFormatArgumentException: Format specifier '%s' + assertEquals("(1) args [one only this]", text); + } + { + String text = resolver.resolve(new EnumMessage(err1)); + //assertEquals("Error 1 test. Two arg %s, %s.", text); + // java.util.MissingFormatArgumentException: Format specifier '%s' + assertEquals("(1) args []", text); + } + } + + static enum ClearingErrorInternalTest implements IErrorEnumId { // see ClearingErrorInternal + TestError(1L); + private final Long id; + + ClearingErrorInternalTest(Long id) { + this.id = id; + } + + @Override + public Long getId() { + return id; + } + } +} \ No newline at end of file diff --git a/clearing-parent/securities-service/src/main/java/ru/spcex/clearing/securities/validation/rule/NotPresentBySecuritySymbolAndWorkflowStatusActv.java b/clearing-parent/securities-service/src/main/java/ru/spcex/clearing/securities/validation/rule/NotPresentBySecuritySymbolAndWorkflowStatusActv.java index 397df369b..5b451be2c 100644 --- a/clearing-parent/securities-service/src/main/java/ru/spcex/clearing/securities/validation/rule/NotPresentBySecuritySymbolAndWorkflowStatusActv.java +++ b/clearing-parent/securities-service/src/main/java/ru/spcex/clearing/securities/validation/rule/NotPresentBySecuritySymbolAndWorkflowStatusActv.java @@ -36,7 +36,7 @@ public class NotPresentBySecuritySymbolAndWorkflowStatusActv