From 22f527af6aeb02fdc244cdc931de4dc8147760db Mon Sep 17 00:00:00 2001 From: KIM MIN WOO <79193811+minwoo1999@users.noreply.github.com> Date: Sun, 8 Dec 2024 16:51:41 +0900 Subject: [PATCH] Add test for nullSafeValue with mapper transformation See gh-43441 --- .../jackson/JsonObjectDeserializerTests.java | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/spring-boot-project/spring-boot/src/test/java/org/springframework/boot/jackson/JsonObjectDeserializerTests.java b/spring-boot-project/spring-boot/src/test/java/org/springframework/boot/jackson/JsonObjectDeserializerTests.java index 8461ce6ae8e..57f505f7cf7 100644 --- a/spring-boot-project/spring-boot/src/test/java/org/springframework/boot/jackson/JsonObjectDeserializerTests.java +++ b/spring-boot-project/spring-boot/src/test/java/org/springframework/boot/jackson/JsonObjectDeserializerTests.java @@ -19,6 +19,7 @@ package org.springframework.boot.jackson; import java.io.InputStream; import java.math.BigDecimal; import java.math.BigInteger; +import java.util.function.Function; import com.fasterxml.jackson.core.JsonParser; import com.fasterxml.jackson.core.ObjectCodec; @@ -144,6 +145,18 @@ class JsonObjectDeserializerTests { assertThat(value).isEqualTo(BigInteger.TEN); } + @Test + void nullSafeValueWithMapperShouldTransformValue() { + JsonNode node = mock(JsonNode.class); + given(node.textValue()).willReturn("2023-12-01"); + + java.time.LocalDate result = this.testDeserializer.testNullSafeValue( + node, String.class, java.time.LocalDate::parse + ); + + assertThat(result).isEqualTo(java.time.LocalDate.of(2023, 12, 1)); + } + @Test void nullSafeValueWhenClassIsUnknownShouldThrowException() { assertThatIllegalArgumentException() @@ -189,6 +202,11 @@ class JsonObjectDeserializerTests { return null; } + R testNullSafeValue(JsonNode jsonNode, Class type, Function mapper) { + return nullSafeValue(jsonNode, type, mapper); + } + + D testNullSafeValue(JsonNode jsonNode, Class type) { return nullSafeValue(jsonNode, type); }