Fix 'Fail to import service with get_property of map-of-string'-bug 29/135729/4
authorvasraz <vasyl.razinkov@est.tech>
Tue, 15 Aug 2023 11:29:21 +0000 (12:29 +0100)
committerVasyl Razinkov <vasyl.razinkov@est.tech>
Tue, 15 Aug 2023 19:31:40 +0000 (19:31 +0000)
Signed-off-by: Vasyl Razinkov <vasyl.razinkov@est.tech>
Change-Id: I5b6d6c5b9296f3e21d71ed312fe447ff399f85c1
Issue-ID: SDC-4596

common-app-api/src/main/java/org/openecomp/sdc/common/util/JsonUtils.java
common-app-api/src/test/java/org/openecomp/sdc/common/util/JsonUtilsTest.java

index c76310e..9d1b166 100644 (file)
@@ -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;
index 6021b75..9b5039a 100644 (file)
 
 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;
     }