add testcase to improve test coverage
[multicloud/framework.git] / artifactbroker / main / src / test / java / org / onap / policy / distribution / main / parameters / TestArtifactForwarderParameters.java
1 /*-
2  * ============LICENSE_START=======================================================
3  *  Copyright (C) 2018 Ericsson. All rights reserved.
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
8  *
9  *      http://www.apache.org/licenses/LICENSE-2.0
10  *
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.
16  *
17  * SPDX-License-Identifier: Apache-2.0
18  * ============LICENSE_END=========================================================
19  */
20
21 package org.onap.policy.distribution.main.parameters;
22
23 import static org.junit.Assert.assertEquals;
24 import static org.junit.Assert.assertFalse;
25 import static org.junit.Assert.assertTrue;
26 import static org.onap.policy.distribution.main.parameters.CommonTestData.FORWARDER_CLASS_NAME;
27 import static org.onap.policy.distribution.main.parameters.CommonTestData.FORWARDER_CONFIGURATION_PARAMETERS;
28 import static org.onap.policy.distribution.main.parameters.CommonTestData.FORWARDER_TYPE;
29
30 import org.junit.Test;
31 import org.onap.policy.common.parameters.GroupValidationResult;
32 import org.onap.policy.distribution.forwarding.parameters.ArtifactForwarderParameters;
33
34 /**
35  * Class to perform unit test of ArtifactForwarderParameters.
36  *
37  * @author Ram Krishna Verma (ram.krishna.verma@ericsson.com)
38  */
39 public class TestArtifactForwarderParameters {
40
41     @Test
42     public void testArtifactForwarderParameters() {
43         final ArtifactForwarderParameters pFParameters =
44                 new ArtifactForwarderParameters(FORWARDER_TYPE, FORWARDER_CLASS_NAME, FORWARDER_CONFIGURATION_PARAMETERS);
45         final GroupValidationResult validationResult = pFParameters.validate();
46         assertEquals(FORWARDER_TYPE, pFParameters.getForwarderType());
47         assertEquals(FORWARDER_CLASS_NAME, pFParameters.getForwarderClassName());
48         assertTrue(validationResult.isValid());
49     }
50
51     @Test
52     public void testArtifactForwarderParameters_InvalidForwarderType() {
53         final ArtifactForwarderParameters pFParameters =
54                 new ArtifactForwarderParameters("", FORWARDER_CLASS_NAME, FORWARDER_CONFIGURATION_PARAMETERS);
55         final GroupValidationResult validationResult = pFParameters.validate();
56         assertEquals("", pFParameters.getForwarderType());
57         assertEquals(FORWARDER_CLASS_NAME, pFParameters.getForwarderClassName());
58         assertFalse(validationResult.isValid());
59         assertTrue(validationResult.getResult().contains(
60                 "field \"forwarderType\" type \"java.lang.String\" value \"\" INVALID, must be a non-blank string"));
61     }
62
63     @Test
64     public void testArtifactForwarderParameters_InvalidForwarderClassName() {
65         final ArtifactForwarderParameters pFParameters =
66                 new ArtifactForwarderParameters(FORWARDER_TYPE, "", FORWARDER_CONFIGURATION_PARAMETERS);
67         final GroupValidationResult validationResult = pFParameters.validate();
68         assertEquals(CommonTestData.FORWARDER_TYPE, pFParameters.getForwarderType());
69         assertEquals("", pFParameters.getForwarderClassName());
70         assertFalse(validationResult.isValid());
71         assertTrue(validationResult.getResult()
72                 .contains("field \"forwarderClassName\" type \"java.lang.String\" value \"\" INVALID, "
73                         + "must be a non-blank string containing full class name of the forwarder"));
74     }
75
76     @Test
77     public void testArtifactForwarderParameters_InvalidForwarderTypeAndClassName() {
78         final ArtifactForwarderParameters pFParameters =
79                 new ArtifactForwarderParameters("", "", FORWARDER_CONFIGURATION_PARAMETERS);
80         final GroupValidationResult validationResult = pFParameters.validate();
81         assertEquals("", pFParameters.getForwarderType());
82         assertEquals("", pFParameters.getForwarderClassName());
83         assertFalse(validationResult.isValid());
84         assertTrue(validationResult.getResult().contains(
85                 "field \"forwarderType\" type \"java.lang.String\" value \"\" INVALID, must be a non-blank string"));
86         assertTrue(validationResult.getResult()
87                 .contains("field \"forwarderClassName\" type \"java.lang.String\" value \"\" INVALID, "
88                         + "must be a non-blank string containing full class name of the forwarder"));
89     }
90
91     @Test
92     public void testArtifactForwarderParameters_NullForwarderType() {
93         final ArtifactForwarderParameters pFParameters =
94                 new ArtifactForwarderParameters(null, FORWARDER_CLASS_NAME, FORWARDER_CONFIGURATION_PARAMETERS);
95         final GroupValidationResult validationResult = pFParameters.validate();
96         assertEquals(null, pFParameters.getForwarderType());
97         assertEquals(FORWARDER_CLASS_NAME, pFParameters.getForwarderClassName());
98         assertFalse(validationResult.isValid());
99         assertTrue(validationResult.getResult()
100                 .contains("field \"forwarderType\" type \"java.lang.String\" value \"null\" INVALID, "
101                         + "must be a non-blank string"));
102     }
103
104     @Test
105     public void testArtifactForwarderParameters_NullForwarderClassName() {
106         final ArtifactForwarderParameters pFParameters =
107                 new ArtifactForwarderParameters(FORWARDER_TYPE, null, FORWARDER_CONFIGURATION_PARAMETERS);
108         final GroupValidationResult validationResult = pFParameters.validate();
109         assertEquals(FORWARDER_TYPE, pFParameters.getForwarderType());
110         assertEquals(null, pFParameters.getForwarderClassName());
111         assertFalse(validationResult.isValid());
112         assertTrue(validationResult.getResult()
113                 .contains("field \"forwarderClassName\" type \"java.lang.String\" value \"null\" INVALID, "
114                         + "must be a non-blank string containing full class name of the forwarder"));
115     }
116
117     @Test
118     public void testArtifactForwarderParameters_InvalidForwarderClass() {
119         final ArtifactForwarderParameters pFParameters = new ArtifactForwarderParameters(FORWARDER_TYPE,
120                 FORWARDER_CLASS_NAME + "Invalid", FORWARDER_CONFIGURATION_PARAMETERS);
121         final GroupValidationResult validationResult = pFParameters.validate();
122         assertEquals(FORWARDER_TYPE, pFParameters.getForwarderType());
123         assertEquals(FORWARDER_CLASS_NAME + "Invalid", pFParameters.getForwarderClassName());
124         assertFalse(validationResult.isValid());
125     }
126 }