diff options
author | Jim Hahn <jrh3@att.com> | 2021-02-17 15:23:38 -0500 |
---|---|---|
committer | Jim Hahn <jrh3@att.com> | 2021-02-18 17:47:55 +0000 |
commit | b6977d2f7ce64ece732ac1a1a0525dac972d7ccf (patch) | |
tree | 4966f5aa4737b0fef8241989eb216cce7fbe9294 /tools | |
parent | 4e05982e36aa66b83fa0ee44b9631412442c3969 (diff) |
Fix sonars in apex-pdp
Addressed the following issues:
- initialize mocks before use
- use parameterized queries
- Random() is not secure
- provide parameterized type for generics
- unused imports
- constructor visibility
- use compute() instead of containsKey()/put()
- make final fields static
- rename constants to all upper case
- no assert() in Thread.run() methods
- nested try
- nested if/else
- too many break/continue
- use try-with-resources
- repeatable annotations
- overlapping characters in reg ex
- hashcode is not sufficient in compareTo()
- need equals() with compareTo()
- make class an interface
- use parameterized test
- multiple calls in assert()
- log or re-throw
- use different type of lambda
- use parameterized logging
- use StringBuilder instead of concatenation
- use StandardCharsets.UTF_8
Issue-ID: POLICY-2906
Change-Id: I2cf8c885e3e22c2c6cbe6403a34906928afad022
Signed-off-by: Jim Hahn <jrh3@att.com>
Diffstat (limited to 'tools')
6 files changed, 46 insertions, 132 deletions
diff --git a/tools/model-generator/src/test/java/org/onap/policy/apex/tools/model/generator/model2cli/Model2CliTest.java b/tools/model-generator/src/test/java/org/onap/policy/apex/tools/model/generator/model2cli/Model2CliTest.java index 24a9f60ce..56c4197ea 100644 --- a/tools/model-generator/src/test/java/org/onap/policy/apex/tools/model/generator/model2cli/Model2CliTest.java +++ b/tools/model-generator/src/test/java/org/onap/policy/apex/tools/model/generator/model2cli/Model2CliTest.java @@ -2,6 +2,7 @@ * ============LICENSE_START======================================================= * Copyright (C) 2018 Ericsson. All rights reserved. * Modifications Copyright (C) 2020 Nordix Foundation. + * Modifications Copyright (C) 2021 AT&T Intellectual Property. All rights reserved. * ================================================================================ * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -21,6 +22,7 @@ package org.onap.policy.apex.tools.model.generator.model2cli; +import static org.assertj.core.api.Assertions.assertThat; import static org.assertj.core.api.Assertions.assertThatCode; import static org.junit.Assert.assertTrue; @@ -52,29 +54,17 @@ public class Model2CliTest { @Test public void testModel2CliBadOptions() { - final String[] cliArgs = {"-zabbu"}; - - final String outputString = runModel2Cli(cliArgs); - - assertTrue(outputString.contains("usage: gen-model2cli")); + assertThat(runModel2Cli(new String[] {"-zabbu"})).contains("usage: gen-model2cli"); } @Test public void testModel2CliHelp() { - final String[] cliArgs = {"-h"}; - - final String outputString = runModel2Cli(cliArgs); - - assertTrue(outputString.contains("usage: gen-model2cli")); + assertThat(runModel2Cli(new String[] {"-h"})).contains("usage: gen-model2cli"); } @Test public void testModel2CliVersion() { - final String[] cliArgs = {"-v"}; - - final String outputString = runModel2Cli(cliArgs); - - assertTrue(outputString.contains("gen-model2cli")); + assertThat(runModel2Cli(new String[] {"-v"})).contains("gen-model2cli").doesNotContain("usage:"); } @Test diff --git a/tools/model-generator/src/test/java/org/onap/policy/apex/tools/model/generator/model2event/Model2EventSchemaTest.java b/tools/model-generator/src/test/java/org/onap/policy/apex/tools/model/generator/model2event/Model2EventSchemaTest.java index 552101f94..9c7eccd0f 100644 --- a/tools/model-generator/src/test/java/org/onap/policy/apex/tools/model/generator/model2event/Model2EventSchemaTest.java +++ b/tools/model-generator/src/test/java/org/onap/policy/apex/tools/model/generator/model2event/Model2EventSchemaTest.java @@ -1,6 +1,7 @@ /*- * ============LICENSE_START======================================================= * Copyright (C) 2019 Nordix Foundation. + * Modifications Copyright (C) 2021 AT&T Intellectual Property. All rights reserved. * ================================================================================ * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -33,6 +34,7 @@ import org.junit.Test; import org.onap.policy.apex.context.impl.schema.java.JavaSchemaHelperParameters; import org.onap.policy.apex.context.parameters.ContextParameterConstants; import org.onap.policy.apex.context.parameters.SchemaParameters; +import org.onap.policy.apex.model.basicmodel.concepts.ApexException; import org.onap.policy.apex.model.basicmodel.service.ModelService; import org.onap.policy.common.parameters.ParameterService; import org.stringtemplate.v4.STGroupFile; @@ -81,36 +83,15 @@ public class Model2EventSchemaTest { } @Test - public void testEventSchemaStimuli() { + public void testEventSchemaStimuli() throws ApexException { modelFile = "src/test/resources/SmallModel.json"; - type = "stimuli"; - Model2JsonEventSchema app = new Model2JsonEventSchema(modelFile, type, APP_NAME); - assertThatCode(() -> { - int ret = app.runApp(); - assertEquals(0, ret); - }).doesNotThrowAnyException(); - } - - @Test - public void testEventSchemaResponse() { - modelFile = "src/test/resources/SmallModel.json"; - type = "response"; - Model2JsonEventSchema app = new Model2JsonEventSchema(modelFile, type, APP_NAME); - assertThatCode(() -> { - int ret = app.runApp(); - assertEquals(0, ret); - }).doesNotThrowAnyException(); - } - @Test - public void testEventSchemaInternal() { - modelFile = "src/test/resources/SmallModel.json"; - type = "internal"; - Model2JsonEventSchema app = new Model2JsonEventSchema(modelFile, type, APP_NAME); - assertThatCode(() -> { - int ret = app.runApp(); - assertEquals(0, ret); - }).doesNotThrowAnyException(); + String[] types = {"stimuli", "response", "internal"}; + for (String type2: types) { + type = type2; + Model2JsonEventSchema app = new Model2JsonEventSchema(modelFile, type, APP_NAME); + assertEquals(type, 0, app.runApp()); + } } @Test @@ -139,4 +120,4 @@ public class Model2EventSchemaTest { ParameterService.deregister(ContextParameterConstants.SCHEMA_GROUP_NAME); ModelService.clear(); } -}
\ No newline at end of file +} diff --git a/tools/model-generator/src/test/java/org/onap/policy/apex/tools/model/generator/model2event/Model2EventTest.java b/tools/model-generator/src/test/java/org/onap/policy/apex/tools/model/generator/model2event/Model2EventTest.java index 5e2b05124..c9180607e 100644 --- a/tools/model-generator/src/test/java/org/onap/policy/apex/tools/model/generator/model2event/Model2EventTest.java +++ b/tools/model-generator/src/test/java/org/onap/policy/apex/tools/model/generator/model2event/Model2EventTest.java @@ -2,6 +2,7 @@ * ============LICENSE_START======================================================= * Copyright (C) 2018 Ericsson. All rights reserved. * Modifications Copyright (C) 2020 Nordix Foundation + * Modifications Copyright (C) 2021 AT&T Intellectual Property. All rights reserved. * ================================================================================ * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -21,6 +22,7 @@ package org.onap.policy.apex.tools.model.generator.model2event; +import static org.assertj.core.api.Assertions.assertThat; import static org.assertj.core.api.Assertions.assertThatCode; import static org.junit.Assert.assertTrue; @@ -55,32 +57,17 @@ public class Model2EventTest { @Test public void testModel2EventBadOptions() { - final String[] EventArgs = - { "-zabbu" }; - - final String outputString = runModel2Event(EventArgs); - - assertTrue(outputString.contains("usage: gen-model2event")); + assertThat(runModel2Event(new String[] {"-zabbu"})).contains("usage: gen-model2event"); } @Test public void testModel2EventHelp() { - final String[] EventArgs = - { "-h" }; - - final String outputString = runModel2Event(EventArgs); - - assertTrue(outputString.contains("usage: gen-model2event")); + assertThat(runModel2Event(new String[] {"-h"})).contains("usage: gen-model2event"); } @Test public void testModel2EventVersion() { - final String[] EventArgs = - { "-v" }; - - final String outputString = runModel2Event(EventArgs); - - assertTrue(outputString.contains("gen-model2event")); + assertThat(runModel2Event(new String[] {"-v"})).contains("gen-model2event").doesNotContain("usage:"); } @Test diff --git a/tools/simple-wsclient/src/main/java/org/onap/policy/apex/tools/simple/wsclient/SimpleConsole.java b/tools/simple-wsclient/src/main/java/org/onap/policy/apex/tools/simple/wsclient/SimpleConsole.java index 9931c1292..ca123c9bb 100644 --- a/tools/simple-wsclient/src/main/java/org/onap/policy/apex/tools/simple/wsclient/SimpleConsole.java +++ b/tools/simple-wsclient/src/main/java/org/onap/policy/apex/tools/simple/wsclient/SimpleConsole.java @@ -1,6 +1,7 @@ /*- * ============LICENSE_START======================================================= * Copyright (C) 2016-2018 Ericsson. All rights reserved. + * Modifications Copyright (C) 2021 AT&T Intellectual Property. All rights reserved. * ================================================================================ * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -41,7 +42,7 @@ public class SimpleConsole extends WebSocketClient { /** Application name, used as prompt. */ private final String appName; - + // Output and error streams private PrintStream outStream; private PrintStream errStream; @@ -131,9 +132,9 @@ public class SimpleConsole extends WebSocketClient { }; thread.setName("ClientThread"); thread.start(); - + final BufferedReader in = new BufferedReader(new InputStreamReader(System.in)); - String event = ""; + StringBuilder event = new StringBuilder(); String line; while ((line = in.readLine()) != null) { if ("exit".equals(line)) { @@ -142,10 +143,10 @@ public class SimpleConsole extends WebSocketClient { final String current = line.trim(); if ("".equals(current)) { - this.send(event); - event = ""; + this.send(event.toString()); + event = new StringBuilder(); } else { - event += current; + event.append(current); } } diff --git a/tools/simple-wsclient/src/test/java/org/onap/policy/apex/tools/simple/wsclient/WsClientTest.java b/tools/simple-wsclient/src/test/java/org/onap/policy/apex/tools/simple/wsclient/WsClientTest.java index 6faafe759..e3e775af4 100644 --- a/tools/simple-wsclient/src/test/java/org/onap/policy/apex/tools/simple/wsclient/WsClientTest.java +++ b/tools/simple-wsclient/src/test/java/org/onap/policy/apex/tools/simple/wsclient/WsClientTest.java @@ -2,6 +2,7 @@ * ============LICENSE_START======================================================= * Copyright (C) 2018 Ericsson. All rights reserved. * Modifications Copyright (C) 2020 Nordix Foundation + * Modifications Copyright (C) 2021 AT&T Intellectual Property. All rights reserved. * ================================================================================ * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -21,8 +22,8 @@ package org.onap.policy.apex.tools.simple.wsclient; +import static org.assertj.core.api.Assertions.assertThat; import static org.assertj.core.api.Assertions.assertThatCode; -import static org.junit.Assert.assertTrue; import java.io.ByteArrayInputStream; import java.io.ByteArrayOutputStream; @@ -44,108 +45,59 @@ public class WsClientTest { @Test public void testWsClientNoOptions() { - final String[] EventArgs = new String[] - {}; - - final String outputString = runWsClient(EventArgs); - - assertTrue(outputString.contains("ws-client: starting simple event echo")); + assertThat(runWsClient(new String[] {})).contains("ws-client: starting simple event echo"); } @Test public void testWsClientBadOptions() { - final String[] EventArgs = - { "-zabbu" }; - - final String outputString = runWsClient(EventArgs); - - assertTrue(outputString.contains("usage: ws-client")); + assertThat(runWsClient(new String[] {"-zabbu"})).contains("usage: ws-client"); } @Test public void testWsClientHelp() { - final String[] EventArgs = - { "-h" }; - - final String outputString = runWsClient(EventArgs); - - assertTrue(outputString.contains("usage: ws-client")); + assertThat(runWsClient(new String[] {"-h"})).contains("usage: ws-client"); } @Test public void testWsClientVersion() { - final String[] EventArgs = - { "-v" }; - - final String outputString = runWsClient(EventArgs); - - assertTrue(outputString.contains("ws-client")); + assertThat(runWsClient(new String[] {"-v"})).contains("ws-client").doesNotContain("usage:"); } @Test public void testWsClientNoServerArg() { - final String[] EventArgs = - { "-s" }; - - final String outputString = runWsClient(EventArgs); - - assertTrue(outputString.contains("ws-client")); + assertThat(runWsClient(new String[] {"-s"})).contains("ws-client"); } @Test public void testWsClientNoPortArg() { - final String[] EventArgs = - { "-p" }; - - final String outputString = runWsClient(EventArgs); - - assertTrue(outputString.contains("ws-client")); + assertThat(runWsClient(new String[] {"-p"})).contains("usage: ws-client"); } @Test public void testWsClientBadPortArg() { - final String[] EventArgs = - { "-p", "hello" }; - - final String outputString = runWsClient(EventArgs); - - assertTrue(outputString.contains("ws-client")); + assertThat(runWsClient(new String[] {"-p", "hello"})).contains("ws-client"); } @Test public void testWsClientBadServerArg() { - final String[] EventArgs = - { "-s", "asdsadadasd:asdasdsadasd@@" }; - - final String outputString = runWsClient(EventArgs); - - assertTrue(outputString.contains("ws-client")); + assertThat(runWsClient(new String[] {"-s", "asdsadadasd:asdasdsadasd"})).contains("ws-client"); } @Test public void testWsClientConsole() { - final String[] EventArgs = - { "-c", "-s", "AServerThatDoesntExist", "-p", "99999999" }; - - final String outputString = runWsClient(EventArgs); - - assertTrue(outputString.contains("terminate the application typing")); + assertThat(runWsClient(new String[] {"-c", "-s", "AServerThatDoesntExist", "-p", "99999999"})) + .contains("terminate the application typing"); } @Test public void testWsClientEcho() { - final String[] EventArgs = - { "-s", "AServerThatDoesntExist", "-p", "99999999" }; - - final String outputString = runWsClient(EventArgs); - - assertTrue(outputString.contains( - "Once started, the application will simply print out all received events to standard out")); + assertThat(runWsClient(new String[] {"-s", "AServerThatDoesntExist", "-p", "99999999"})).contains( + "Once started, the application will simply print out all received events to standard out"); } /** * Run the application. - * + * * @param eventArgs the command arguments * @return a string containing the command output */ diff --git a/tools/tools-common/src/main/java/org/onap/policy/apex/tools/common/CliParser.java b/tools/tools-common/src/main/java/org/onap/policy/apex/tools/common/CliParser.java index 67ef7d7dd..d97711d4a 100644 --- a/tools/tools-common/src/main/java/org/onap/policy/apex/tools/common/CliParser.java +++ b/tools/tools-common/src/main/java/org/onap/policy/apex/tools/common/CliParser.java @@ -1,6 +1,7 @@ /*- * ============LICENSE_START======================================================= * Copyright (C) 2016-2018 Ericsson. All rights reserved. + * Modifications Copyright (C) 2021 AT&T Intellectual Property. All rights reserved. * ================================================================================ * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -27,6 +28,7 @@ package org.onap.policy.apex.tools.common; ////// end::** //// +import java.nio.charset.StandardCharsets; import java.util.Scanner; import org.apache.commons.cli.CommandLine; import org.apache.commons.cli.CommandLineParser; @@ -111,7 +113,8 @@ public class CliParser { @SuppressWarnings("resource") // tag::cliParserVersion[] public String getAppVersion() { - return new Scanner(CliParser.class.getResourceAsStream("/app-version.txt"), "UTF-8").useDelimiter("\\A").next(); + return new Scanner(CliParser.class.getResourceAsStream("/app-version.txt"), StandardCharsets.UTF_8) + .useDelimiter("\\A").next(); } // end::cliParserVersion[] } |