2 * ============LICENSE_START=======================================================
3 * Copyright (C) 2021 Nordix Foundation.
4 * ================================================================================
5 * Licensed under the Apache License, Version 2.0 (the "License");
6 * you may not use this file except in compliance with the License.
7 * You may obtain a copy of the License at
9 * http://www.apache.org/licenses/LICENSE-2.0
11 * Unless required by applicable law or agreed to in writing, software
12 * distributed under the License is distributed on an "AS IS" BASIS,
13 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 * See the License for the specific language governing permissions and
15 * limitations under the License.
17 * SPDX-License-Identifier: Apache-2.0
18 * ============LICENSE_END=========================================================
21 package org.onap.policy.clamp.controlloop.common.startstop;
23 import static org.assertj.core.api.Assertions.assertThat;
24 import static org.assertj.core.api.Assertions.assertThatCode;
25 import static org.assertj.core.api.Assertions.assertThatThrownBy;
27 import org.apache.commons.cli.Options;
28 import org.junit.jupiter.api.BeforeAll;
29 import org.junit.jupiter.api.Test;
31 class CommonCommandLineArgumentsTest {
33 public static CommonCommandLineArguments cli;
37 cli = new CommonCommandLineArguments(new Options());
41 void testConstructor() {
42 assertThat(cli).isNotNull();
47 assertThat(cli.help("DummyClass", new Options()))
48 .contains("DummyClass [options...]\noptions");
53 assertThatCode(() -> cli.version()).doesNotThrowAnyException();
57 void testValidateEmptyFileName() {
58 assertThatThrownBy(() -> cli.validate(""))
59 .hasMessageContaining("file was not specified as an argument");
63 void testValidateFileUrlNull() {
64 assertThatThrownBy(() -> cli.validate("abcd"))
65 .hasMessageContaining("does not exist");
69 void testValidateFileFound() {
70 String configFile = "demo/config/RuntimeConfig.json";
71 assertThatCode(() -> cli.validate(configFile)).doesNotThrowAnyException();
75 void testValidateNotNormalFile() {
76 String badFile = "demo/config";
77 assertThatThrownBy(() -> cli.validate(badFile)).hasMessageContaining("is not a normal file");