Sonar fixes and improvements 14/90714/5
authorArindam Mondal <arind.mondal@samsung.com>
Mon, 1 Jul 2019 10:36:25 +0000 (19:36 +0900)
committerKanagaraj Manickam <kanagaraj.manickam@huawei.com>
Thu, 8 Aug 2019 05:38:03 +0000 (05:38 +0000)
+) Implement try-with-resources
++)Added ut

Issue-ID: CLI-170
Change-Id: Id040a05c8f83666b26908bd4b29e9701a0544e98
Signed-off-by: arindamm <arind.mondal@samsung.com>
framework/src/main/java/org/onap/cli/fw/utils/ProcessRunner.java
framework/src/test/java/org/onap/cli/fw/utils/ProcessRunnerTest.java [new file with mode: 0644]

index db7245c..d36a0d6 100644 (file)
@@ -153,17 +153,11 @@ public class ProcessRunner {
 
     public String streamToString(InputStream stream) throws IOException {
         StringBuilder sb = new StringBuilder();
-        BufferedReader br = null;
-        try {
-            br = new BufferedReader(new InputStreamReader(stream));
+        try (BufferedReader br = new BufferedReader(new InputStreamReader(stream))) {
             String line = null;
             while ((line = br.readLine()) != null) {
                 sb.append(line + System.getProperty("line.separator"));
             }
-        } finally {
-            if (br != null) {
-                br.close();
-            }
         }
         return sb.toString();
     }
diff --git a/framework/src/test/java/org/onap/cli/fw/utils/ProcessRunnerTest.java b/framework/src/test/java/org/onap/cli/fw/utils/ProcessRunnerTest.java
new file mode 100644 (file)
index 0000000..2e5b2ab
--- /dev/null
@@ -0,0 +1,45 @@
+/*
+ * Copyright 2018 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.onap.cli.fw.utils;
+
+import java.io.IOException;
+import java.io.InputStream;
+import org.apache.commons.io.IOUtils;
+import org.junit.After;
+import org.junit.Assert;
+import org.junit.Before;
+import org.junit.Test;
+
+public class ProcessRunnerTest {
+    ProcessRunner processRunner;
+
+    @Before
+    public void setUp() throws Exception {
+        processRunner = new ProcessRunner("ls -l");
+    }
+
+    @After
+    public void tearDown() throws Exception {}
+
+    @Test
+    public void testStreamToString() throws IOException {
+        InputStream stubInputStream = IOUtils.toInputStream("Test stream", "UTF-8");
+        String out = processRunner.streamToString(stubInputStream);
+        Assert.assertEquals("Test stream\n", out);
+    }
+
+}