From b6977d2f7ce64ece732ac1a1a0525dac972d7ccf Mon Sep 17 00:00:00 2001 From: Jim Hahn Date: Wed, 17 Feb 2021 15:23:38 -0500 Subject: 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 --- .../apex/tools/simple/wsclient/SimpleConsole.java | 13 ++-- .../apex/tools/simple/wsclient/WsClientTest.java | 78 +++++----------------- 2 files changed, 22 insertions(+), 69 deletions(-) (limited to 'tools/simple-wsclient') 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 */ -- cgit 1.2.3-korg