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
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.distribution.main.parameters;
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.junit.Assert.fail;
30 import org.junit.Test;
31 import org.onap.policy.common.parameters.GroupValidationResult;
32 import org.onap.policy.distribution.main.testclasses.DummyArtifactForwarderParameterGroup;
33 import org.onap.policy.distribution.main.testclasses.DummyReceptionHandlerParameterGroup;
34 import org.onap.policy.distribution.reception.parameters.ReceptionHandlerConfigurationParameterGroup;
35 import org.onap.policy.distribution.reception.parameters.ReceptionHandlerParameters;
38 * Class to perform unit test of DistributionParameterGroup.
40 * @author Ram Krishna Verma (ram.krishna.verma@ericsson.com)
42 public class TestDistributionParameterGroup {
43 CommonTestData commonTestData = new CommonTestData();
46 public void testDistributionParameterGroup() {
47 final RestServerParameters restServerParameters = commonTestData.getRestServerParameters(false);
48 final Map<String, ReceptionHandlerParameters> receptionHandlerParameters =
49 commonTestData.getReceptionHandlerParameters(false);
50 final Map<String, ReceptionHandlerConfigurationParameterGroup> receptionHandlerConfigurations =
51 commonTestData.getReceptionHandlerConfigurationParameters(false);
52 final Map<String, ArtifactForwarderConfigurationParameterGroup> forwarderConfigurations =
53 commonTestData.getArtifactForwarderConfigurationParameters(false);
55 final DistributionParameterGroup distributionParameters = new DistributionParameterGroup(
56 CommonTestData.DISTRIBUTION_GROUP_NAME, restServerParameters, receptionHandlerParameters,
57 receptionHandlerConfigurations, forwarderConfigurations);
58 final GroupValidationResult validationResult = distributionParameters.validate();
59 assertTrue(validationResult.isValid());
60 assertEquals(restServerParameters.getHost(), distributionParameters.getRestServerParameters().getHost());
61 assertEquals(restServerParameters.getPort(), distributionParameters.getRestServerParameters().getPort());
62 assertEquals(restServerParameters.getUserName(),
63 distributionParameters.getRestServerParameters().getUserName());
64 assertEquals(restServerParameters.getPassword(),
65 distributionParameters.getRestServerParameters().getPassword());
66 assertEquals(CommonTestData.DISTRIBUTION_GROUP_NAME, distributionParameters.getName());
68 receptionHandlerParameters.get(CommonTestData.DUMMY_RECEPTION_HANDLER_KEY).getReceptionHandlerType(),
69 distributionParameters.getReceptionHandlerParameters().get(CommonTestData.DUMMY_RECEPTION_HANDLER_KEY)
70 .getReceptionHandlerType());
72 receptionHandlerParameters.get(CommonTestData.DUMMY_RECEPTION_HANDLER_KEY)
73 .getReceptionHandlerClassName(),
74 distributionParameters.getReceptionHandlerParameters().get(CommonTestData.DUMMY_RECEPTION_HANDLER_KEY)
75 .getReceptionHandlerClassName());
77 receptionHandlerParameters.get(CommonTestData.DUMMY_RECEPTION_HANDLER_KEY).getPluginHandlerParameters(),
78 distributionParameters.getReceptionHandlerParameters().get(CommonTestData.DUMMY_RECEPTION_HANDLER_KEY)
79 .getPluginHandlerParameters());
80 assertEquals(CommonTestData.MY_STRING_PARAMETER_VALUE,
81 ((DummyReceptionHandlerParameterGroup) distributionParameters
82 .getReceptionHandlerConfigurationParameters()
83 .get(CommonTestData.RECEPTION_CONFIGURATION_PARAMETERS)).getMyStringParameter());
84 assertEquals(CommonTestData.MY_INTEGER_PARAMETER_VALUE,
85 ((DummyReceptionHandlerParameterGroup) distributionParameters
86 .getReceptionHandlerConfigurationParameters()
87 .get(CommonTestData.RECEPTION_CONFIGURATION_PARAMETERS)).getMyIntegerParameter());
88 assertEquals(CommonTestData.MY_BOOLEAN_PARAMETER_VALUE,
89 ((DummyReceptionHandlerParameterGroup) distributionParameters
90 .getReceptionHandlerConfigurationParameters()
91 .get(CommonTestData.RECEPTION_CONFIGURATION_PARAMETERS)).isMyBooleanParameter());
92 assertEquals(CommonTestData.FORWARDER_HOST,
93 ((DummyArtifactForwarderParameterGroup) distributionParameters.getArtifactForwarderConfigurationParameters()
94 .get(CommonTestData.FORWARDER_CONFIGURATION_PARAMETERS)).getHostname());
98 public void testDistributionParameterGroup_NullName() {
99 final RestServerParameters restServerParameters = commonTestData.getRestServerParameters(false);
100 final Map<String, ReceptionHandlerParameters> receptionHandlerParameters =
101 commonTestData.getReceptionHandlerParameters(false);
102 final Map<String, ReceptionHandlerConfigurationParameterGroup> receptionHandlerConfigurations =
103 commonTestData.getReceptionHandlerConfigurationParameters(false);
104 final Map<String, ArtifactForwarderConfigurationParameterGroup> forwarderConfigurations =
105 commonTestData.getArtifactForwarderConfigurationParameters(false);
107 final DistributionParameterGroup distributionParameters =
108 new DistributionParameterGroup(null, restServerParameters, receptionHandlerParameters,
109 receptionHandlerConfigurations, forwarderConfigurations);
110 final GroupValidationResult validationResult = distributionParameters.validate();
111 assertFalse(validationResult.isValid());
112 assertEquals(null, distributionParameters.getName());
114 receptionHandlerParameters.get(CommonTestData.DUMMY_RECEPTION_HANDLER_KEY).getReceptionHandlerType(),
115 distributionParameters.getReceptionHandlerParameters().get(CommonTestData.DUMMY_RECEPTION_HANDLER_KEY)
116 .getReceptionHandlerType());
118 receptionHandlerParameters.get(CommonTestData.DUMMY_RECEPTION_HANDLER_KEY)
119 .getReceptionHandlerClassName(),
120 distributionParameters.getReceptionHandlerParameters().get(CommonTestData.DUMMY_RECEPTION_HANDLER_KEY)
121 .getReceptionHandlerClassName());
123 receptionHandlerParameters.get(CommonTestData.DUMMY_RECEPTION_HANDLER_KEY).getPluginHandlerParameters(),
124 distributionParameters.getReceptionHandlerParameters().get(CommonTestData.DUMMY_RECEPTION_HANDLER_KEY)
125 .getPluginHandlerParameters());
126 assertTrue(validationResult.getResult().contains(
127 "field \"name\" type \"java.lang.String\" value \"null\" INVALID, " + "must be a non-blank string"));
131 public void testDistributionParameterGroup_EmptyName() {
132 final RestServerParameters restServerParameters = commonTestData.getRestServerParameters(false);
133 final Map<String, ReceptionHandlerParameters> receptionHandlerParameters =
134 commonTestData.getReceptionHandlerParameters(false);
135 final Map<String, ReceptionHandlerConfigurationParameterGroup> receptionHandlerConfigurations =
136 commonTestData.getReceptionHandlerConfigurationParameters(false);
137 final Map<String, ArtifactForwarderConfigurationParameterGroup> forwarderConfigurations =
138 commonTestData.getArtifactForwarderConfigurationParameters(false);
140 final DistributionParameterGroup distributionParameters =
141 new DistributionParameterGroup("", restServerParameters, receptionHandlerParameters,
142 receptionHandlerConfigurations, forwarderConfigurations);
143 final GroupValidationResult validationResult = distributionParameters.validate();
144 assertFalse(validationResult.isValid());
145 assertEquals("", distributionParameters.getName());
147 receptionHandlerParameters.get(CommonTestData.DUMMY_RECEPTION_HANDLER_KEY).getReceptionHandlerType(),
148 distributionParameters.getReceptionHandlerParameters().get(CommonTestData.DUMMY_RECEPTION_HANDLER_KEY)
149 .getReceptionHandlerType());
151 receptionHandlerParameters.get(CommonTestData.DUMMY_RECEPTION_HANDLER_KEY)
152 .getReceptionHandlerClassName(),
153 distributionParameters.getReceptionHandlerParameters().get(CommonTestData.DUMMY_RECEPTION_HANDLER_KEY)
154 .getReceptionHandlerClassName());
156 receptionHandlerParameters.get(CommonTestData.DUMMY_RECEPTION_HANDLER_KEY).getPluginHandlerParameters(),
157 distributionParameters.getReceptionHandlerParameters().get(CommonTestData.DUMMY_RECEPTION_HANDLER_KEY)
158 .getPluginHandlerParameters());
159 assertTrue(validationResult.getResult().contains(
160 "field \"name\" type \"java.lang.String\" value \"\" INVALID, " + "must be a non-blank string"));
164 public void testDistributionParameterGroup_NullReceptionHandlerParameters() {
165 final RestServerParameters restServerParameters = commonTestData.getRestServerParameters(false);
166 final Map<String, ReceptionHandlerConfigurationParameterGroup> receptionHandlerConfigurations =
167 commonTestData.getReceptionHandlerConfigurationParameters(false);
168 final Map<String, ArtifactForwarderConfigurationParameterGroup> forwarderConfigurations =
169 commonTestData.getArtifactForwarderConfigurationParameters(false);
171 final DistributionParameterGroup distributionParameters =
172 new DistributionParameterGroup(CommonTestData.DISTRIBUTION_GROUP_NAME, restServerParameters, null,
173 receptionHandlerConfigurations, forwarderConfigurations);
174 distributionParameters.validate();
175 fail("test should throw an exception here");
176 } catch (final Exception e) {
177 assertTrue(e.getMessage().contains("map parameter \"receptionHandlerParameters\" is null"));
183 public void testDistributionParameterGroup_EmptyReceptionHandlerParameters() {
184 final RestServerParameters restServerParameters = commonTestData.getRestServerParameters(false);
185 final Map<String, ReceptionHandlerParameters> receptionHandlerParameters =
186 commonTestData.getReceptionHandlerParameters(true);
187 final Map<String, ReceptionHandlerConfigurationParameterGroup> receptionHandlerConfigurations =
188 commonTestData.getReceptionHandlerConfigurationParameters(false);
189 final Map<String, ArtifactForwarderConfigurationParameterGroup> forwarderConfigurations =
190 commonTestData.getArtifactForwarderConfigurationParameters(false);
191 final DistributionParameterGroup distributionParameters = new DistributionParameterGroup(
192 CommonTestData.DISTRIBUTION_GROUP_NAME, restServerParameters, receptionHandlerParameters,
193 receptionHandlerConfigurations, forwarderConfigurations);
194 distributionParameters.validate();
195 final GroupValidationResult result = distributionParameters.validate();
196 assertFalse(result.isValid());
197 assertTrue(result.getResult().endsWith("must have at least one reception handler\n"));
201 public void testDistributionParameterGroup_EmptyRestServerParameters() {
202 final RestServerParameters restServerParameters = commonTestData.getRestServerParameters(true);
203 final Map<String, ReceptionHandlerParameters> receptionHandlerParameters =
204 commonTestData.getReceptionHandlerParameters(false);
205 final Map<String, ReceptionHandlerConfigurationParameterGroup> receptionHandlerConfigurations =
206 commonTestData.getReceptionHandlerConfigurationParameters(false);
207 final Map<String, ArtifactForwarderConfigurationParameterGroup> forwarderConfigurations =
208 commonTestData.getArtifactForwarderConfigurationParameters(false);
210 final DistributionParameterGroup distributionParameters = new DistributionParameterGroup(
211 CommonTestData.DISTRIBUTION_GROUP_NAME, restServerParameters, receptionHandlerParameters,
212 receptionHandlerConfigurations, forwarderConfigurations);
213 final GroupValidationResult validationResult = distributionParameters.validate();
214 assertFalse(validationResult.isValid());
215 assertTrue(validationResult.getResult()
216 .contains("\"org.onap.policy.distribution.main.parameters.RestServerParameters\" INVALID, "
217 + "parameter group has status INVALID"));