From 3da0644425e073f4d3560517fa0b31a4fd1ba7a0 Mon Sep 17 00:00:00 2001 From: mfilimonov Date: Fri, 27 Oct 2023 07:23:27 +0300 Subject: [PATCH] 3-3-0 enable-string-trimming //Additional test for TrimmedAnnotationBeanPostProcessor --- .../bobocode/EnableStringTrimmingTest.java | 29 +++++++++++++++++++ .../com/bobocode/service/TrimmedService.java | 12 ++++++++ 2 files changed, 41 insertions(+) diff --git a/3-0-spring-framework/3-3-0-enable-string-trimming/src/test/java/com/bobocode/EnableStringTrimmingTest.java b/3-0-spring-framework/3-3-0-enable-string-trimming/src/test/java/com/bobocode/EnableStringTrimmingTest.java index 3ebdb7c..68d87b1 100644 --- a/3-0-spring-framework/3-3-0-enable-string-trimming/src/test/java/com/bobocode/EnableStringTrimmingTest.java +++ b/3-0-spring-framework/3-3-0-enable-string-trimming/src/test/java/com/bobocode/EnableStringTrimmingTest.java @@ -2,6 +2,7 @@ import static java.util.stream.Collectors.toList; import static org.assertj.core.api.Assertions.assertThat; +import static org.junit.jupiter.api.Assertions.assertDoesNotThrow; import static org.junit.jupiter.api.Assertions.assertEquals; import static org.junit.jupiter.api.Assertions.assertNull; import static org.junit.jupiter.api.Assertions.assertTrue; @@ -188,6 +189,34 @@ void trimmedAnnotationPostProcessorAnnotatedInputParams(@Autowired TrimmedServic assertEquals(inputArgs.trim(), actual); } + @Test + @DisplayName("TrimmedAnnotationBeanPostProcessor trims String input params marked with @Trimmed and ignore not annotated") + void trimmedAnnotationPostProcessorAnnotatedAndNotAnnotatedInputParams(@Autowired TrimmedService service) { + String inputArgs = " Simba Bimba "; + String inputArgs2 = " Timon Lemon "; + String actual = service.getTheTrimmedStringWithTwoArgs(inputArgs, inputArgs2); + + assertEquals(inputArgs.trim().concat(inputArgs2), actual); + } + + @Test + @DisplayName("TrimmedAnnotationBeanPostProcessor trims several String input params marked with @Trimmed and ignore not annotated") + void trimmedAnnotationPostProcessorSeveralAnnotatedAndNotAnnotatedInputParams(@Autowired TrimmedService service) { + String inputArgs = " Simba Bimba "; + String inputArgs2 = " Timon Lemon "; + String inputArgs3 = " Pumba Lumba "; + String actual = service.getTheTrimmedStringWithThreeArgs(inputArgs, inputArgs2, inputArgs3); + + assertEquals(inputArgs.trim().concat(inputArgs2).concat(inputArgs3.trim()), actual); + } + + @Test + @DisplayName("TrimmedAnnotationBeanPostProcessor not trims non-String input params marked with @Trimmed") + void trimmedAnnotationPostProcessorAnnotatedNonStringInputParams(@Autowired TrimmedService service) { + Integer inputArg = 1; + assertDoesNotThrow(() -> service.getTheTrimmedInteger(inputArg), "Annotated parameter must ignore non-String types"); + } + @Test @DisplayName("TrimmedAnnotationBeanPostProcessor not trims String input params that not marked by @Trimmed") void trimmedAnnotationPostProcessorNotAnnotatedInputParams(@Autowired TrimmedService service) { diff --git a/3-0-spring-framework/3-3-0-enable-string-trimming/src/test/java/com/bobocode/service/TrimmedService.java b/3-0-spring-framework/3-3-0-enable-string-trimming/src/test/java/com/bobocode/service/TrimmedService.java index 1c1bc06..caafef2 100644 --- a/3-0-spring-framework/3-3-0-enable-string-trimming/src/test/java/com/bobocode/service/TrimmedService.java +++ b/3-0-spring-framework/3-3-0-enable-string-trimming/src/test/java/com/bobocode/service/TrimmedService.java @@ -10,6 +10,18 @@ public String getTheTrimmedString(@Trimmed String string) { return string; } + public String getTheTrimmedInteger(@Trimmed Integer num) { + return num.toString(); + } + + public String getTheTrimmedStringWithTwoArgs(@Trimmed String stringOne, String stringTwo) { + return stringOne.concat(stringTwo); + } + + public String getTheTrimmedStringWithThreeArgs(@Trimmed String stringOne, String stringTwo, @Trimmed String stringThree) { + return stringOne.concat(stringTwo).concat(stringThree); + } + public String getNotTrimmedString(String string) { return string; }