summaryrefslogtreecommitdiffstats
path: root/tools
diff options
context:
space:
mode:
authorJim Hahn <jrh3@att.com>2021-02-17 15:23:38 -0500
committerJim Hahn <jrh3@att.com>2021-02-18 17:47:55 +0000
commitb6977d2f7ce64ece732ac1a1a0525dac972d7ccf (patch)
tree4966f5aa4737b0fef8241989eb216cce7fbe9294 /tools
parent4e05982e36aa66b83fa0ee44b9631412442c3969 (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')
-rw-r--r--tools/model-generator/src/test/java/org/onap/policy/apex/tools/model/generator/model2cli/Model2CliTest.java20
-rw-r--r--tools/model-generator/src/test/java/org/onap/policy/apex/tools/model/generator/model2event/Model2EventSchemaTest.java39
-rw-r--r--tools/model-generator/src/test/java/org/onap/policy/apex/tools/model/generator/model2event/Model2EventTest.java23
-rw-r--r--tools/simple-wsclient/src/main/java/org/onap/policy/apex/tools/simple/wsclient/SimpleConsole.java13
-rw-r--r--tools/simple-wsclient/src/test/java/org/onap/policy/apex/tools/simple/wsclient/WsClientTest.java78
-rw-r--r--tools/tools-common/src/main/java/org/onap/policy/apex/tools/common/CliParser.java5
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[]
}