Merge "Increase code coverage in clamp-common"
diff --git a/common/src/main/java/org/onap/policy/clamp/controlloop/common/startstop/CommonCommandLineArguments.java b/common/src/main/java/org/onap/policy/clamp/controlloop/common/startstop/CommonCommandLineArguments.java
index ebc9028..525da25 100644
--- a/common/src/main/java/org/onap/policy/clamp/controlloop/common/startstop/CommonCommandLineArguments.java
+++ b/common/src/main/java/org/onap/policy/clamp/controlloop/common/startstop/CommonCommandLineArguments.java
@@ -139,7 +139,7 @@
}
if (!theFile.canRead()) {
throw new ControlLoopException(Response.Status.NOT_ACCEPTABLE,
- fileTag + FILE_MESSAGE_PREAMBLE + fileName + "\" is ureadable");
+ fileTag + FILE_MESSAGE_PREAMBLE + fileName + "\" is unreadable");
}
}
}
diff --git a/common/src/test/java/org/onap/policy/clamp/controlloop/common/startstop/CommonCommandLineArgumentsTest.java b/common/src/test/java/org/onap/policy/clamp/controlloop/common/startstop/CommonCommandLineArgumentsTest.java
new file mode 100644
index 0000000..2d30592
--- /dev/null
+++ b/common/src/test/java/org/onap/policy/clamp/controlloop/common/startstop/CommonCommandLineArgumentsTest.java
@@ -0,0 +1,80 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * Copyright (C) 2021 Nordix Foundation.
+ * ================================================================================
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ * SPDX-License-Identifier: Apache-2.0
+ * ============LICENSE_END=========================================================
+ */
+
+package org.onap.policy.clamp.controlloop.common.startstop;
+
+import static org.assertj.core.api.Assertions.assertThat;
+import static org.assertj.core.api.Assertions.assertThatCode;
+import static org.assertj.core.api.Assertions.assertThatThrownBy;
+
+import org.apache.commons.cli.Options;
+import org.junit.jupiter.api.BeforeAll;
+import org.junit.jupiter.api.Test;
+
+public class CommonCommandLineArgumentsTest {
+
+ public static CommonCommandLineArguments cli;
+
+ @BeforeAll
+ static void setup() {
+ cli = new CommonCommandLineArguments(new Options());
+ }
+
+ @Test
+ void testConstructor() {
+ assertThat(cli).isNotNull();
+ }
+
+ @Test
+ void testHelp() {
+ assertThat(cli.help("DummyClass", new Options()))
+ .contains("DummyClass [options...]\noptions");
+ }
+
+ @Test
+ void testVersion() {
+ assertThatCode(() -> cli.version()).doesNotThrowAnyException();
+ }
+
+ @Test
+ void testValidateEmptyFileName() {
+ assertThatThrownBy(() -> cli.validate(""))
+ .hasMessageContaining("file was not specified as an argument");
+ }
+
+ @Test
+ void testValidateFileUrlNull() {
+ assertThatThrownBy(() -> cli.validate("abcd"))
+ .hasMessageContaining("does not exist");
+ }
+
+ @Test
+ void testValidateFileFound() {
+ String configFile = "demo/config/RuntimeConfig.json";
+ assertThatCode(() -> cli.validate(configFile)).doesNotThrowAnyException();
+ }
+
+ @Test
+ void testValidateNotNormalFile() {
+ String badFile = "demo/config";
+ assertThatThrownBy(() -> cli.validate(badFile)).hasMessageContaining("is not a normal file");
+ }
+
+}
diff --git a/pom.xml b/pom.xml
index b9d0efd..8661998 100644
--- a/pom.xml
+++ b/pom.xml
@@ -69,6 +69,12 @@
<scope>test</scope>
</dependency>
<dependency>
+ <groupId>org.junit.jupiter</groupId>
+ <artifactId>junit-jupiter-engine</artifactId>
+ <version>5.7.1</version>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
<groupId>commons-cli</groupId>
<artifactId>commons-cli</artifactId>
</dependency>