b12af00338c46c0f51340fec08b0f5f8ca207a7a
[policy/distribution.git] /
1 /*-
2  * ============LICENSE_START=======================================================
3  *  Copyright (C) 2021 Nordix Foundation.
4  *  Modifications Copyright (C) 2021 AT&T Intellectual Property. All rights reserved.
5  * ================================================================================
6  * Licensed under the Apache License, Version 2.0 (the "License");
7  * you may not use this file except in compliance with the License.
8  * You may obtain a copy of the License at
9  *
10  *      http://www.apache.org/licenses/LICENSE-2.0
11  *
12  * Unless required by applicable law or agreed to in writing, software
13  * distributed under the License is distributed on an "AS IS" BASIS,
14  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15  * See the License for the specific language governing permissions and
16  * limitations under the License.
17  *
18  * SPDX-License-Identifier: Apache-2.0
19  * ============LICENSE_END=========================================================
20  */
21
22 package org.onap.policy.distribution.reception.parameters;
23
24 import static org.assertj.core.api.Assertions.assertThat;
25
26 import java.util.HashMap;
27 import java.util.Map;
28 import org.junit.Test;
29 import org.onap.policy.distribution.forwarding.parameters.PolicyForwarderParameters;
30 import org.onap.policy.distribution.reception.handling.DummyDecoder;
31
32 /**
33  * Class for unit testing ReceptionHandlerParameters class.
34  *
35  * @author Adheli Tavares (adheli.tavares@est.tech)
36  *
37  */
38 public class TestReceptionHandlerParameters {
39
40     @Test
41     public void testValidate_ClassNotFound() {
42         final String className = "org.onap.policy.distribution.reception.testclasses.NotExistent";
43
44         ReceptionHandlerParameters sutParams = getReceptionHandlerParameters(className);
45         sutParams.setName(className);
46
47         assertThat(sutParams.validate().getResult()).contains("class is not in the classpath");
48     }
49
50     @Test
51     public void testValidate_ReceptionHandlerTypeNullEmpty() {
52         final String className = DummyDecoder.class.getName();
53         final PluginHandlerParameters pHParameters =
54                 new PluginHandlerParameters(getPolicyDecoders(), getPolicyForwarders());
55
56         ReceptionHandlerParameters nullType = new ReceptionHandlerParameters(null, className, className, pHParameters);
57
58         assertThat(nullType.validate().getResult())
59                         .contains("\"receptionHandlerType\" value \"null\" INVALID, is null");
60
61         ReceptionHandlerParameters emptyType = new ReceptionHandlerParameters("", className, className, pHParameters);
62
63         assertThat(emptyType.validate().getResult()).contains("\"receptionHandlerType\" value \"\" INVALID, is blank")
64                         .doesNotContain("classpath");
65     }
66
67     @Test
68     public void testValidate_ReceptionHandlerClassNameNullEmpty() {
69         final PluginHandlerParameters pHParameters =
70                 new PluginHandlerParameters(getPolicyDecoders(), getPolicyForwarders());
71
72         ReceptionHandlerParameters nullType = new ReceptionHandlerParameters("DummyReceptionHandler", null,
73                 "dummyReceptionHandlerConfiguration", pHParameters);
74
75         assertThat(nullType.validate().getResult())
76                 .contains("\"receptionHandlerClassName\" value \"null\" INVALID, is null");
77
78         ReceptionHandlerParameters emptyType = new ReceptionHandlerParameters("DummyReceptionHandler", "",
79                 "dummyReceptionHandlerConfiguration", pHParameters);
80
81         assertThat(emptyType.validate().getResult())
82                 .contains("\"receptionHandlerClassName\" value \"\" INVALID, is blank");
83     }
84
85     @Test
86     public void testValidate_PluginHandlerParametersNull() {
87         final String className = "org.onap.policy.distribution.reception.testclasses.DummyReceptionHandler";
88
89         ReceptionHandlerParameters sutParams = new ReceptionHandlerParameters("DummyReceptionHandler", className,
90                 "dummyReceptionHandlerConfiguration", null);
91
92         assertThat(sutParams.validate().getResult())
93                 .contains("\"pluginHandlerParameters\" value \"null\" INVALID, is null");
94     }
95
96     private ReceptionHandlerParameters getReceptionHandlerParameters(String className) {
97         final Map<String, PolicyDecoderParameters> policyDecoders = getPolicyDecoders();
98         final Map<String, PolicyForwarderParameters> policyForwarders = getPolicyForwarders();
99         final PluginHandlerParameters pHParameters = new PluginHandlerParameters(policyDecoders, policyForwarders);
100         final ReceptionHandlerParameters rhParameters = new ReceptionHandlerParameters("DummyReceptionHandler",
101                 className, "dummyReceptionHandlerConfiguration", pHParameters);
102         return rhParameters;
103     }
104
105     private Map<String, PolicyDecoderParameters> getPolicyDecoders() {
106         final Map<String, PolicyDecoderParameters> policyDecoders = new HashMap<>();
107
108         final PolicyDecoderParameters pDParameters =
109                 new PolicyDecoderParameters("DummyDecoder", DummyDecoder.class.getName(), "dummyDecoderConfiguration");
110         policyDecoders.put("DummyDecoder", pDParameters);
111
112         return policyDecoders;
113     }
114
115     private Map<String, PolicyForwarderParameters> getPolicyForwarders() {
116         final Map<String, PolicyForwarderParameters> policyForwarders = new HashMap<>();
117
118         final PolicyForwarderParameters pFParameters = new PolicyForwarderParameters("DummyForwarder",
119                         DummyDecoder.class.getName(), "dummyForwarderConfiguration");
120         policyForwarders.put("DummyForwarder", pFParameters);
121
122         return policyForwarders;
123     }
124
125 }