Improve unit test in the NonConfigResourceTest and various sonar fixes. 59/89259/2
authork.kedron <k.kedron@partner.samsung.com>
Tue, 4 Jun 2019 14:21:03 +0000 (16:21 +0200)
committerOren Kleks <orenkle@amdocs.com>
Tue, 11 Jun 2019 06:38:06 +0000 (06:38 +0000)
Improve the NonConfigResourceTest.
Remove the throws the Exception in CliConfigurationImp constructor.
ConfigurationImpl class:
- Replace the string to chart in indexOf method.
- Extract the assigment out from expression

Issue-ID: SDC-2327
Signed-off-by: Krystian Kedron <k.kedron@partner.samsung.com>
Change-Id: If72a75e6a2d81a9ea74e3ae1af94b16a8489a29a

common/onap-common-configuration-management/onap-configuration-management-core/src/main/java/org/onap/config/impl/CliConfigurationImpl.java
common/onap-common-configuration-management/onap-configuration-management-core/src/main/java/org/onap/config/impl/ConfigurationImpl.java
common/onap-common-configuration-management/onap-configuration-management-core/src/test/java/org/onap/config/NonConfigResourceTest.java

index 03b2075..a2440b9 100644 (file)
@@ -41,7 +41,7 @@ public final class CliConfigurationImpl extends ConfigurationImpl implements Con
 
     private static final List<String> KEYS_TO_FILTER = Arrays.asList(NAMESPACE_KEY, MODE_KEY, LOAD_ORDER_KEY);
 
-    public CliConfigurationImpl() throws Exception {
+    public CliConfigurationImpl() {
         super();
     }
 
index c51c862..6cad62e 100644 (file)
@@ -207,7 +207,7 @@ public class ConfigurationImpl implements org.onap.config.api.Configuration {
                 String k = keys.next();
                 if (k.startsWith(key + ".")) {
                     k = k.substring(key.length() + 1);
-                    String subkey = k.substring(0, k.indexOf("."));
+                    String subkey = k.substring(0, k.indexOf('.'));
                     if (!map.containsKey(subkey)) {
                         map.put(subkey, get(tenantId, namespace, key + "." + subkey, clazz));
                     }
@@ -248,10 +248,12 @@ public class ConfigurationImpl implements org.onap.config.api.Configuration {
 
                 while (k.contains(".")) {
                     if (k.contains(".")) {
-                        String subkey = k.substring(0, k.indexOf("."));
-                        k = k.substring(k.indexOf(".") + 1);
+                        String subkey = k.substring(0, k.indexOf('.'));
+                        k = k.substring(k.indexOf('.') + 1);
                         if (!map.containsKey(subkey)) {
-                            map.put(subkey, map = new HashMap<>());
+                            Map tmp = new HashMap();
+                            map.put(subkey, tmp);
+                            map = tmp;
                         } else {
                             map = (Map) map.get(subkey);
                         }
index 7566a29..f2f3f9b 100644 (file)
@@ -27,6 +27,7 @@ import java.net.URL;
 import java.nio.file.Path;
 import java.nio.file.Paths;
 import java.util.Collections;
+import java.util.HashMap;
 import java.util.Map;
 import org.junit.Test;
 
@@ -55,15 +56,19 @@ public class NonConfigResourceTest {
 
     @Test
     public void testShouldLocateResourceWhenNodeConfigPropertyIsSet2() {
+        final String path = new File(sampleResourcePath).getParentFile().getPath();
+        Map<String, String> properties = Collections.singletonMap(NODE_CONFIG_LOCATION, path);
 
-        Map<String, String> properties = Collections.singletonMap(
-                NODE_CONFIG_LOCATION, new File(sampleResourcePath).getParentFile().getPath());
-
-        NonConfigResource testedNonConfigResource = new NonConfigResource(properties::get);
-        System.getProperties().setProperty(NODE_CONFIG_LOCATION,
-                new File(sampleResourcePath).getParentFile().getPath());
+        NonConfigResource testedNonConfigResource =  new NonConfigResource(properties::get);
         Path thisFilePath = testedNonConfigResource.locate(RESOURCE_NAME);
-        assertEquals(0, thisFilePath.compareTo(new File(sampleResourcePath).toPath()));
+
+        NonConfigResource systemNonConfigResource = new NonConfigResource(System.getProperties()::getProperty);
+        System.setProperty(NODE_CONFIG_LOCATION, path);
+        Path systemFilePath = systemNonConfigResource.locate(RESOURCE_NAME);
+
+        Path testFilePath = sampleResourceFile.toPath();
+        assertEquals(0, thisFilePath.compareTo(testFilePath));
+        assertEquals(0, systemFilePath.compareTo(testFilePath));
     }
 
     @Test
@@ -88,9 +93,19 @@ public class NonConfigResourceTest {
 
     @Test
     public void testShouldNotLocateResource2() {
-        Map<String, String> properties = Collections.emptyMap();
+        String badResource = "noexistingresource";
+        String badPath = "noexistingpath";
+
+        Map<String, String> properties = new HashMap<>();
         NonConfigResource testedObject = new NonConfigResource(properties::get);
-        Path thisFilePath = testedObject.locate("nonexistingresource");
+        // empty properties and bad resource
+        Path thisFilePath = testedObject.locate(badResource);
+
+        properties.put(NODE_CONFIG_LOCATION, badPath);
+        // bad path in properties and bad resource
+        Path thisFilePath2 = testedObject.locate(badResource);
+
         assertNull(thisFilePath);
+        assertNull(thisFilePath2);
     }
 }
\ No newline at end of file