From 65ce8b022c0dcbe682bd148910b7c87ed29a28c3 Mon Sep 17 00:00:00 2001 From: cheese8 Date: Fri, 1 Jul 2022 17:16:53 +0800 Subject: [PATCH] Refator JacksonUtils and JacksonUtilsTest in 2020.0 --- CHANGELOG.md | 1 + .../cloud/common/util/JacksonUtils.java | 5 +-- .../cloud/common/util/JacksonUtilsTest.java | 42 +++++++++---------- 3 files changed, 22 insertions(+), 26 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index f651b6997..aa26554ad 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -8,3 +8,4 @@ - [feat:support reading configuration from application.yml or application.properties.](https://github.com/Tencent/spring-cloud-tencent/pull/261) - [change the way from escape to encode in 2020.0](https://github.com/Tencent/spring-cloud-tencent/pull/257) - [fix:fix ClassNotFoundException while not importing openfeign when using circuit-breaker module.](https://github.com/Tencent/spring-cloud-tencent/pull/270) +- [Refator JacksonUtils and JacksonUtilsTest](https://github.com/Tencent/spring-cloud-tencent/pull/365) diff --git a/spring-cloud-tencent-commons/src/main/java/com/tencent/cloud/common/util/JacksonUtils.java b/spring-cloud-tencent-commons/src/main/java/com/tencent/cloud/common/util/JacksonUtils.java index a30fc8bc1..0bb96bae2 100644 --- a/spring-cloud-tencent-commons/src/main/java/com/tencent/cloud/common/util/JacksonUtils.java +++ b/spring-cloud-tencent-commons/src/main/java/com/tencent/cloud/common/util/JacksonUtils.java @@ -30,7 +30,7 @@ import org.springframework.util.StringUtils; /** * Utils for Jackson. * - * @author Haotian Zhang + * @author Haotian Zhang, cheese8 */ public final class JacksonUtils { @@ -80,8 +80,7 @@ public final class JacksonUtils { } catch (JsonProcessingException e) { LOG.error( - "Json to map failed. check if the format of the json string[{}] is correct.", - jsonStr, e); + "Json to map failed. check if the format of the json string[{}] is correct.", jsonStr, e); throw new RuntimeException("Json to map failed.", e); } } diff --git a/spring-cloud-tencent-commons/src/test/java/com/tencent/cloud/common/util/JacksonUtilsTest.java b/spring-cloud-tencent-commons/src/test/java/com/tencent/cloud/common/util/JacksonUtilsTest.java index db0868dff..c6649c25a 100644 --- a/spring-cloud-tencent-commons/src/test/java/com/tencent/cloud/common/util/JacksonUtilsTest.java +++ b/spring-cloud-tencent-commons/src/test/java/com/tencent/cloud/common/util/JacksonUtilsTest.java @@ -26,28 +26,25 @@ import org.junit.runner.RunWith; import org.mockito.junit.MockitoJUnitRunner; import static org.assertj.core.api.Assertions.assertThat; -import static org.assertj.core.api.Assertions.fail; +import static org.assertj.core.api.Assertions.assertThatThrownBy; /** * Test for {@link JacksonUtils}. * - * @author lepdou, Haotian Zhang + * @author lepdou, Haotian Zhang, cheese8 */ @RunWith(MockitoJUnitRunner.class) public class JacksonUtilsTest { - + @Test public void testSerialize2Json() { Map sourceMap = new HashMap<>(); sourceMap.put("k1", "v1"); sourceMap.put("k2", "v2"); sourceMap.put("k3", "v3"); - - String jsonStr = JacksonUtils.serialize2Json(sourceMap); - - assertThat(jsonStr).isEqualTo("{\"k1\":\"v1\",\"k2\":\"v2\",\"k3\":\"v3\"}"); + assertThat(JacksonUtils.serialize2Json(sourceMap)).isEqualTo("{\"k1\":\"v1\",\"k2\":\"v2\",\"k3\":\"v3\"}"); } - + @Test public void testDeserialize2Map() { String jsonStr = "{\"k1\":\"v1\",\"k2\":\"v2\",\"k3\":\"v3\"}"; @@ -56,20 +53,19 @@ public class JacksonUtilsTest { assertThat(map.get("k1")).isEqualTo("v1"); assertThat(map.get("k2")).isEqualTo("v2"); assertThat(map.get("k3")).isEqualTo("v3"); - - assertThat(JacksonUtils.deserialize2Map("")).isNotNull(); - assertThat(JacksonUtils.deserialize2Map("")).isEmpty(); - - jsonStr = "{\"k1\":\"v1\",\"k2\":\"v2\",\"k3\":\"v3\""; - try { - JacksonUtils.deserialize2Map(jsonStr); - fail("RuntimeException should be thrown."); - } - catch (RuntimeException exception) { - assertThat(exception.getMessage()).isEqualTo("Json to map failed."); - } - catch (Throwable throwable) { - fail("RuntimeException should be thrown."); - } + } + + @Test + public void testDeserializeBlankIntoEmptyMap() { + Map map = JacksonUtils.deserialize2Map(""); + assertThat(map).isNotNull(); + assertThat(map).isEmpty(); + } + + @Test + public void testDeserializeThrowsRuntimeException() { + String jsonStr = "{\"k1\":\"v1\",\"k2\":\"v2\",\"k3\":\"v3\""; + assertThatThrownBy(() -> JacksonUtils.deserialize2Map(jsonStr)) + .isExactlyInstanceOf(RuntimeException.class).hasMessage("Json to map failed."); } }