From f3bea1cd0fd251b1d8b4bfde0ec8d88a486df9de Mon Sep 17 00:00:00 2001 From: "abhishek.c92" Date: Thu, 28 Apr 2022 17:57:41 +0530 Subject: Sonar violation fixes for Parameterized tests and Lambda Expressions Violations : Parameterized tests for OnapCommandprintTest Use lambda expression for OnapCommandSchemaCmdLoader Refactor method in OnapCli Signed-off-by: abhishek.c92 Issue-ID: CLI-446 Change-Id: I8e8337d2b5993983d8ea105b2d1882952a3783a3 --- .../cli/fw/output/print/OnapCommandPrintTest.java | 60 ++++++++++--------- main/src/main/java/org/onap/cli/main/OnapCli.java | 68 ++++++++++++---------- .../robot/schema/OnapCommandSchemaRobotLoader.java | 2 +- 3 files changed, 70 insertions(+), 60 deletions(-) diff --git a/framework/src/test/java/org/onap/cli/fw/output/print/OnapCommandPrintTest.java b/framework/src/test/java/org/onap/cli/fw/output/print/OnapCommandPrintTest.java index ff728a33..0dfcdfb1 100644 --- a/framework/src/test/java/org/onap/cli/fw/output/print/OnapCommandPrintTest.java +++ b/framework/src/test/java/org/onap/cli/fw/output/print/OnapCommandPrintTest.java @@ -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(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(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(Arrays.asList(new String[] { "value2" }))); - String exp = "+--------+\n|name2 |\n+--------+\n|value2 |\n+--------+\n"; + pr.addColumn(this.colValue1, new ArrayList(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(Arrays.asList(new String[] { "" }))); - String exp = "+--------+\n|name2 |\n+--------+\n| |\n+--------+\n"; - String result = pr.printTable(true); + pr.addColumn("name1", new ArrayList(Arrays.asList(new String[] { "value1" }))); + String exp = "name1\r\n"; + String result = pr.printCsv(); assertEquals(exp, result); } } diff --git a/main/src/main/java/org/onap/cli/main/OnapCli.java b/main/src/main/java/org/onap/cli/main/OnapCli.java index 08ef640f..6d6e4ff3 100644 --- a/main/src/main/java/org/onap/cli/main/OnapCli.java +++ b/main/src/main/java/org/onap/cli/main/OnapCli.java @@ -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 values = OnapCommandDiscoveryUtils.loadYaml(this.paramFile); - - for (Entry cmdsParam: values.entrySet()) { - for (Object param: (List)cmdsParam.getValue()) { - if (param instanceof Map) { //optional args - Map paramMap = (Map) 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 values = OnapCommandDiscoveryUtils.loadYaml(this.paramFile); + + for (Entry cmdsParam: values.entrySet()) { + for (Object param: (List)cmdsParam.getValue()) { + if (param instanceof Map) { //optional args + Map paramMap = (Map) 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); diff --git a/profiles/robot/src/main/java/org/onap/cli/fw/robot/schema/OnapCommandSchemaRobotLoader.java b/profiles/robot/src/main/java/org/onap/cli/fw/robot/schema/OnapCommandSchemaRobotLoader.java index 3b75b504..b8e934cd 100644 --- a/profiles/robot/src/main/java/org/onap/cli/fw/robot/schema/OnapCommandSchemaRobotLoader.java +++ b/profiles/robot/src/main/java/org/onap/cli/fw/robot/schema/OnapCommandSchemaRobotLoader.java @@ -92,7 +92,7 @@ public class OnapCommandSchemaRobotLoader { case OnapCommandCmdConstants.SUCCESS_EXIT_CODE: List 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: -- cgit 1.2.3-korg