From e489b852c39e45f43c7113abbfd439b29fc35348 Mon Sep 17 00:00:00 2001 From: vasraz Date: Tue, 15 Aug 2023 12:29:21 +0100 Subject: [PATCH] Fix 'Fail to import service with get_property of map-of-string'-bug Signed-off-by: Vasyl Razinkov Change-Id: I5b6d6c5b9296f3e21d71ed312fe447ff399f85c1 Issue-ID: SDC-4596 --- .../org/openecomp/sdc/common/util/JsonUtils.java | 15 +++-- .../openecomp/sdc/common/util/JsonUtilsTest.java | 67 ++++++++++------------ 2 files changed, 36 insertions(+), 46 deletions(-) diff --git a/common-app-api/src/main/java/org/openecomp/sdc/common/util/JsonUtils.java b/common-app-api/src/main/java/org/openecomp/sdc/common/util/JsonUtils.java index c76310ecf4..9d1b166a3d 100644 --- a/common-app-api/src/main/java/org/openecomp/sdc/common/util/JsonUtils.java +++ b/common-app-api/src/main/java/org/openecomp/sdc/common/util/JsonUtils.java @@ -21,22 +21,21 @@ package org.openecomp.sdc.common.util; import com.google.gson.JsonElement; import com.google.gson.JsonObject; +import lombok.AccessLevel; +import lombok.NoArgsConstructor; +@NoArgsConstructor(access = AccessLevel.PRIVATE) public class JsonUtils { - private JsonUtils() { - - } - public static String toString(JsonElement jsonElement) { if (jsonElement == null) { return null; } if (!jsonElement.isJsonNull()) { - if (!jsonElement.isJsonObject()) { - return jsonElement.getAsString(); - } else { + if (jsonElement.isJsonObject() || jsonElement.isJsonArray()) { return jsonElement.toString(); + } else { + return jsonElement.getAsString(); } } else { return null; @@ -59,7 +58,7 @@ public class JsonUtils { return json.getAsJsonArray().isEmpty(); } if (json.isJsonObject()) { - return JsonUtils.isEmptyJson(json.getAsJsonObject()); + return isEmptyJson(json.getAsJsonObject()); } return false; diff --git a/common-app-api/src/test/java/org/openecomp/sdc/common/util/JsonUtilsTest.java b/common-app-api/src/test/java/org/openecomp/sdc/common/util/JsonUtilsTest.java index 6021b75c40..9b5039a479 100644 --- a/common-app-api/src/test/java/org/openecomp/sdc/common/util/JsonUtilsTest.java +++ b/common-app-api/src/test/java/org/openecomp/sdc/common/util/JsonUtilsTest.java @@ -20,108 +20,99 @@ package org.openecomp.sdc.common.util; +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertFalse; +import static org.junit.jupiter.api.Assertions.assertNotNull; +import static org.junit.jupiter.api.Assertions.assertNull; +import static org.junit.jupiter.api.Assertions.assertTrue; + import com.google.gson.JsonArray; import com.google.gson.JsonNull; import com.google.gson.JsonObject; -import org.junit.Test; - -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertFalse; -import static org.junit.Assert.assertNull; -import static org.junit.Assert.assertTrue; +import org.junit.jupiter.api.Test; -public class JsonUtilsTest { +class JsonUtilsTest { private String testProperty01 = "testProperty01"; private String testValue01 = "testValue01"; private String testProperty02 = "testProperty02"; private String testValue02 = "testValue02"; private String expectedJsonObject = "" + - "{" + - "\""+testProperty01+"\":\""+testValue01+"\"," + - "\""+testProperty02+"\":\""+testValue02+"\"" + - "}"; + "{" + + "\"" + testProperty01 + "\":\"" + testValue01 + "\"," + + "\"" + testProperty02 + "\":\"" + testValue02 + "\"" + + "}"; @Test - public void validateToStringConvertsJsonObjectToValidString() { + void validateToStringConvertsJsonObjectToValidString() { String result = JsonUtils.toString(generateJsonObject()); - assertEquals(result, expectedJsonObject); } @Test - public void validateToStringReturnsNullIfJsonElementIsNull() { + void validateToStringReturnsNullIfJsonElementIsNull() { String result = JsonUtils.toString(null); - assertNull(result); } - @Test(expected = UnsupportedOperationException.class) - public void validateToStringFromJsonArrayThrowsUnsupportedOperationException() { - JsonUtils.toString(generateJsonArray()); + @Test + void validateToStringFromJsonArrayDoesNotThrowsUnsupportedOperationException() { + String result = JsonUtils.toString(generateJsonArray()); + assertNotNull(result); } @Test - public void validateToStringReturnsNullIfJsonElementIsJsonNull() { + void validateToStringReturnsNullIfJsonElementIsJsonNull() { String result = JsonUtils.toString(new JsonNull()); - assertNull(result); } @Test - public void validateContainsEntryReturnsTrueIfKeyIsPresentInJsonObject() { - boolean result = JsonUtils.containsEntry(generateJsonObject(),testProperty01); - + void validateContainsEntryReturnsTrueIfKeyIsPresentInJsonObject() { + boolean result = JsonUtils.containsEntry(generateJsonObject(), testProperty01); assertTrue(result); } @Test - public void validateContainsEntryReturnsFalseIfKeyIsNotPresentInJsonObject() { - boolean result = JsonUtils.containsEntry(new JsonObject(),testProperty01); - + void validateContainsEntryReturnsFalseIfKeyIsNotPresentInJsonObject() { + boolean result = JsonUtils.containsEntry(new JsonObject(), testProperty01); assertFalse(result); } @Test - public void validateIsEmptyJsonReturnsTrueIfInputIsEmpty() { + void validateIsEmptyJsonReturnsTrueIfInputIsEmpty() { boolean result = JsonUtils.isEmptyJson(new JsonObject()); - assertTrue(result); } @Test - public void validateIsEmptyJsonReturnsFalseIfInputIsNotEmpty() { + void validateIsEmptyJsonReturnsFalseIfInputIsNotEmpty() { boolean result = JsonUtils.isEmptyJson(generateJsonArray().get(0)); - assertFalse(result); } @Test - public void validateIsNullOrEmptyReturnsTrueIfInputIsEmpty() { + void validateIsNullOrEmptyReturnsTrueIfInputIsEmpty() { boolean result = JsonUtils.isJsonNullOrEmpty(new JsonObject()); - assertTrue(result); } @Test - public void validateIsNullOrEmptyReturnsFalseIfInputIsNotNull() { + void validateIsNullOrEmptyReturnsFalseIfInputIsNotNull() { boolean result = JsonUtils.isJsonNullOrEmpty(generateJsonObject()); - assertFalse(result); } private JsonObject generateJsonObject() { final JsonObject testObject = new JsonObject(); - testObject.addProperty(testProperty01,testValue01); - testObject.addProperty(testProperty02,testValue02); - + testObject.addProperty(testProperty01, testValue01); + testObject.addProperty(testProperty02, testValue02); return testObject; } private JsonArray generateJsonArray() { final JsonArray testArray = new JsonArray(); testArray.add(generateJsonObject()); - return testArray; } -- 2.16.6