Sonar violation fixes for Parameterized tests and Lambda Expressions 47/128947/3
authorabhishek.c92 <abhishek.c92@samsung.com>
Thu, 28 Apr 2022 12:27:41 +0000 (17:57 +0530)
committerAbhishek Chakrabartti <abhishek.c92@samsung.com>
Mon, 9 May 2022 11:59:28 +0000 (11:59 +0000)
Violations : Parameterized tests for OnapCommandprintTest
Use lambda expression for OnapCommandSchemaCmdLoader
Refactor method in OnapCli

Signed-off-by: abhishek.c92 <abhishek.c92@samsung.com>
Issue-ID: CLI-446
Change-Id: I8e8337d2b5993983d8ea105b2d1882952a3783a3

framework/src/test/java/org/onap/cli/fw/output/print/OnapCommandPrintTest.java
main/src/main/java/org/onap/cli/main/OnapCli.java
profiles/robot/src/main/java/org/onap/cli/fw/robot/schema/OnapCommandSchemaRobotLoader.java

index ff728a3..0dfcdfb 100644 (file)
@@ -20,57 +20,63 @@ import static org.junit.Assert.assertEquals;
 
 import java.util.ArrayList;
 import java.util.Arrays;
+import java.util.Collection;
 
 import org.junit.Ignore;
 import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.junit.runners.Parameterized;
 import org.onap.cli.fw.error.OnapCommandOutputPrintingFailed;
 import org.onap.cli.fw.output.OnapCommandPrintDirection;
 
+@RunWith(Parameterized.class)
 public class OnapCommandPrintTest {
+    private String expected;
+    private String colValue1;
+    private String colValue2;
 
-    @Test
-    @Ignore
-    public void printCsvTest() throws OnapCommandOutputPrintingFailed { //NOSONAR
-        OnapCommandPrint pr = new OnapCommandPrint();
-        pr.setDirection(OnapCommandPrintDirection.LANDSCAPE);
-        pr.setPrintTitle(true);
-        pr.addColumn("name1", new ArrayList<String>(Arrays.asList(new String[] { "value1" })));
-        String exp = "name1\r\n";
-        String result = pr.printCsv();
-        assertEquals(exp, result);
-    }
 
-    @Test
-    public void printTableTest() throws OnapCommandOutputPrintingFailed {
-        OnapCommandPrint pr = new OnapCommandPrint();
+    public OnapCommandPrintTest(String expected, String colValue1, String colValue2) {
+        this.expected = expected;
+        this.colValue1 = colValue1;
+        this.colValue2 = colValue2;
+    }
 
-        pr.setDirection(OnapCommandPrintDirection.LANDSCAPE);
-        pr.setPrintTitle(true);
-        pr.addColumn("name2", new ArrayList<String>(Arrays.asList(new String[] { "value2" })));
-        String exp = "+--------+\n|name2   |\n+--------+\n|value2  |\n+--------+\n";
-        String result = pr.printTable(true);
-        assertEquals(exp, result);
+    @Parameterized.Parameters
+    public static Collection testUtilParams() {
+        return Arrays.asList(new Object[][]{ {"+--------+\n|name2   |\n+--------+\n|value2  |\n+--------+\n", "name2", "value2"},
+                {"+--------+\n|name2   |\n+--------+\n|value2  |\n+--------+\n", "name2", "value2"},
+                {"+--------+\n|name2   |\n+--------+\n|        |\n+--------+\n", "name2", ""} });
     }
 
+
+    /**
+     * Tests involved:
+     * 1. printTableTest
+     * 2. printTableNullColumnHeaderTest
+     * 3. printTableEmptyColumnValuesTest
+     * @throws OnapCommandOutputPrintingFailed
+     */
     @Test
-    public void printTableNullColumnHeaderTest() throws OnapCommandOutputPrintingFailed {
+    public void printableTests() throws OnapCommandOutputPrintingFailed {
         OnapCommandPrint pr = new OnapCommandPrint();
         pr.setDirection(OnapCommandPrintDirection.LANDSCAPE);
         pr.setPrintTitle(true);
-        pr.addColumn("name2", new ArrayList<String>(Arrays.asList(new String[] { "value2" })));
-        String exp = "+--------+\n|name2   |\n+--------+\n|value2  |\n+--------+\n";
+        pr.addColumn(this.colValue1, new ArrayList<String>(Arrays.asList(new String[] { this.colValue2 })));
+        String exp = this.expected;
         String result = pr.printTable(true);
         assertEquals(exp, result);
     }
 
     @Test
-    public void printTableEmptyColumnValuesTest() throws OnapCommandOutputPrintingFailed {
+    @Ignore
+    public void printCsvTest() throws OnapCommandOutputPrintingFailed { //NOSONAR
         OnapCommandPrint pr = new OnapCommandPrint();
         pr.setDirection(OnapCommandPrintDirection.LANDSCAPE);
         pr.setPrintTitle(true);
-        pr.addColumn("name2", new ArrayList<String>(Arrays.asList(new String[] { "" })));
-        String exp = "+--------+\n|name2   |\n+--------+\n|        |\n+--------+\n";
-        String result = pr.printTable(true);
+        pr.addColumn("name1", new ArrayList<String>(Arrays.asList(new String[] { "value1" })));
+        String exp = "name1\r\n";
+        String result = pr.printCsv();
         assertEquals(exp, result);
     }
 }
index 08ef640..6d6e4ff 100644 (file)
@@ -241,38 +241,7 @@ public class OnapCli {
     public void handleBatchCommand() {
         try { //NOSONAR
             if (this.paramFile != null) {
-                //Read YAML and loop thru it
-                // one
-                // - param-long-option-1: value
-                // - param-long-option-1: value
-                // - positional-arg1
-                // - positional-arg2
-                // two
-                // - param-long-option-1: value
-                // - param-long-option-1: value
-                // - positional-arg1
-                // - positional-arg2
-                try {
-                    Map<String, Object> values = OnapCommandDiscoveryUtils.loadYaml(this.paramFile);
-
-                    for (Entry<String, Object> cmdsParam: values.entrySet()) {
-                        for (Object param: (List)cmdsParam.getValue()) {
-                            if (param instanceof Map) { //optional args
-                                Map <String, String> paramMap = (Map<String, String>) param;
-                                String paramName = paramMap.keySet().iterator().next();
-                                Object paramValue = paramMap.get(paramName);
-                                argsParamFile.add(this.getLongOption(paramName));
-                                argsParamFile.add(paramValue.toString());
-                            } else { //positional args
-                                argsParamFile.add(param.toString());
-                            }
-                        }
-                    }
-
-                } catch (Exception e) { // NOSONAR
-                    this.print("Failed to read param file " + this.paramFile);
-                    this.print(e);
-                }
+                handleBatchCommandUtil();
             }
         } catch (Exception e) {
             this.print(e);
@@ -280,6 +249,41 @@ public class OnapCli {
         }
     }
 
+    private void handleBatchCommandUtil() {
+        //Read YAML and loop thru it
+        // one
+        // - param-long-option-1: value
+        // - param-long-option-1: value
+        // - positional-arg1
+        // - positional-arg2
+        // two
+        // - param-long-option-1: value
+        // - param-long-option-1: value
+        // - positional-arg1
+        // - positional-arg2
+        try {
+            Map<String, Object> values = OnapCommandDiscoveryUtils.loadYaml(this.paramFile);
+
+            for (Entry<String, Object> cmdsParam: values.entrySet()) {
+                for (Object param: (List)cmdsParam.getValue()) {
+                    if (param instanceof Map) { //optional args
+                        Map <String, String> paramMap = (Map<String, String>) param;
+                        String paramName = paramMap.keySet().iterator().next();
+                        Object paramValue = paramMap.get(paramName);
+                        argsParamFile.add(this.getLongOption(paramName));
+                        argsParamFile.add(paramValue.toString());
+                    } else { //positional args
+                        argsParamFile.add(param.toString());
+                    }
+                }
+            }
+
+        } catch (Exception e) { // NOSONAR
+            this.print("Failed to read param file " + this.paramFile);
+            this.print(e);
+        }
+    }
+
     public void verifyCommand(OnapCommand cmd) throws OnapCommandException {
 
         OnapCliArgsParser.populateParams(cmd.getParameters(), args);
index 3b75b50..b8e934c 100644 (file)
@@ -92,7 +92,7 @@ public class OnapCommandSchemaRobotLoader {
 
                     case OnapCommandCmdConstants.SUCCESS_EXIT_CODE:
                         List<String> list = (ArrayList) valMap.get(key1);
-                        robot.setSuccessStatusCodes(list.stream().map(s -> Integer.parseInt(s)).collect(Collectors.toList()));
+                        robot.setSuccessStatusCodes(list.stream().map(Integer::parseInt).collect(Collectors.toList()));
                         break;
 
                     case OnapCommandCmdConstants.PASS_CODE: