8adfacc51908efb440d2a67422d0b8c898a48fc8
[policy/api.git] / main / src / test / java / org / onap / policy / api / main / startstop / TestApiCommandLineArguments.java
1 /*-
2  * ============LICENSE_START=======================================================
3  * ONAP Policy API
4  * ================================================================================
5  * Copyright (C) 2019 AT&T Intellectual Property. All rights reserved.
6  * ================================================================================
7  * Licensed under the Apache License, Version 2.0 (the "License");
8  * you may not use this file except in compliance with the License.
9  * You may obtain a copy of the License at
10  *
11  *      http://www.apache.org/licenses/LICENSE-2.0
12  *
13  * Unless required by applicable law or agreed to in writing, software
14  * distributed under the License is distributed on an "AS IS" BASIS,
15  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16  * See the License for the specific language governing permissions and
17  * limitations under the License.
18  *
19  * SPDX-License-Identifier: Apache-2.0
20  * ============LICENSE_END=========================================================
21  */
22
23 package org.onap.policy.api.main.startstop;
24
25 import static org.assertj.core.api.Assertions.assertThatThrownBy;
26
27 import org.junit.Test;
28 import org.onap.policy.api.main.exception.PolicyApiException;
29 import org.onap.policy.api.main.exception.PolicyApiRuntimeException;
30
31 public class TestApiCommandLineArguments {
32     private ApiCommandLineArguments apiCmdArgs = new ApiCommandLineArguments();
33
34     @Test(expected = PolicyApiRuntimeException.class)
35     public void testApiCommandLineArgumentsStringArray() {
36         String [] args = {"---d"};
37         new ApiCommandLineArguments(args);
38     }
39
40     @Test
41     public void testNonExistentFileValidateReadableFile() {
42         apiCmdArgs.setConfigurationFilePath("src/test/resources/filetest/nonexist.json ");
43         assertThatThrownBy(
44                 apiCmdArgs::validate
45             )
46             .isInstanceOf(PolicyApiException.class)
47             .hasMessageContaining("file \"src/test/resources/filetest/nonexist.json \" does not exist");
48     }
49
50     @Test
51     public void testEmptyFileNameValidateReadableFile() {
52         apiCmdArgs.setConfigurationFilePath("");
53         assertThatThrownBy(
54                  apiCmdArgs::validate
55             )
56             .isInstanceOf(PolicyApiException.class)
57             .hasMessageContaining("policy api configuration file was not specified as an argument");
58     }
59
60     @Test
61     public void testInvalidUrlValidateReadableFile() {
62         apiCmdArgs.setConfigurationFilePath("src/test\\resources/filetest\\n");
63         assertThatThrownBy(
64                 apiCmdArgs::validate
65             )
66             .isInstanceOf(PolicyApiException.class)
67             .hasMessageContaining(
68                     "policy api configuration file \"src/test\\resources/filetest\\n\" does not exist");
69     }
70 }