5ffe5101d5df17c2aa8488f3a59bcfe8c6c2a230
[policy/clamp.git] /
1 /*-
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
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.clamp.controlloop.participant.policy.main.parameters;
22
23 import static org.assertj.core.api.Assertions.assertThat;
24 import static org.junit.Assert.assertEquals;
25 import static org.junit.Assert.assertFalse;
26 import static org.junit.Assert.assertNull;
27
28 import java.util.Map;
29 import org.junit.Test;
30 import org.onap.policy.common.parameters.ValidationResult;
31
32 public class TestParticipantPolicyParameters {
33     CommonTestData commonTestData = new CommonTestData();
34
35     @Test
36     public void testParticipantPolicyParameters_Named() {
37         final ParticipantPolicyParameters participantParameters = new ParticipantPolicyParameters("my-name");
38         assertEquals("my-name", participantParameters.getName());
39     }
40
41     @Test
42     public void testParticipantPolicyParameters() {
43         final ParticipantPolicyParameters participantParameters = commonTestData.toObject(
44                 commonTestData.getParticipantPolicyParametersMap(CommonTestData.PARTICIPANT_GROUP_NAME),
45                 ParticipantPolicyParameters.class);
46         assertThat(participantParameters.validate().isValid()).isTrue();
47     }
48
49     @Test
50     public void testParticipantPolicyParameters_NullName() {
51         final ParticipantPolicyParameters participantParameters = commonTestData
52                 .toObject(commonTestData.getParticipantPolicyParametersMap(null),
53                         ParticipantPolicyParameters.class);
54         final ValidationResult validationResult = participantParameters.validate();
55         assertFalse(validationResult.isValid());
56         assertEquals(null, participantParameters.getName());
57         assertThat(validationResult.getResult()).contains("is null");
58     }
59
60     @Test
61     public void testParticipantPolicyParameters_EmptyName() {
62         final ParticipantPolicyParameters participantParameters = commonTestData
63                 .toObject(commonTestData.getParticipantPolicyParametersMap(""),
64                                 ParticipantPolicyParameters.class);
65         final ValidationResult validationResult = participantParameters.validate();
66         assertFalse(validationResult.isValid());
67         assertEquals("", participantParameters.getName());
68         assertThat(validationResult.getResult()).contains(
69                 "item \"name\" value \"\" INVALID, " + "is blank");
70     }
71
72     @Test
73     public void testParticipantPolicyParameters_SetName() {
74         final ParticipantPolicyParameters participantParameters = commonTestData.toObject(
75                 commonTestData.getParticipantPolicyParametersMap(CommonTestData.PARTICIPANT_GROUP_NAME),
76                 ParticipantPolicyParameters.class);
77         participantParameters.setName("ParticipantNewGroup");
78         assertThat(participantParameters.validate().isValid()).isTrue();
79         assertEquals("ParticipantNewGroup", participantParameters.getName());
80     }
81
82     @Test
83     public void testParticipantPolicyParameters_EmptyParticipantIntermediaryParameters() {
84         final Map<String, Object> map =
85                 commonTestData.getParticipantPolicyParametersMap(CommonTestData.PARTICIPANT_GROUP_NAME);
86         map.replace("intermediaryParameters", commonTestData.getIntermediaryParametersMap(true));
87         final ParticipantPolicyParameters participantParameters =
88                 commonTestData.toObject(map, ParticipantPolicyParameters.class);
89         final ValidationResult validationResult = participantParameters.validate();
90         assertNull(validationResult.getResult());
91     }
92
93     @Test
94     public void testParticipantPolicyParametersp_EmptyTopicParameters() {
95         final Map<String, Object> map =
96                 commonTestData.getParticipantPolicyParametersMap(CommonTestData.PARTICIPANT_GROUP_NAME);
97         final Map<String, Object> intermediaryParametersMap = commonTestData.getIntermediaryParametersMap(false);
98         intermediaryParametersMap.put("clampControlLoopTopics", commonTestData.getTopicParametersMap(true));
99         map.replace("intermediaryParameters", intermediaryParametersMap);
100
101         final ParticipantPolicyParameters participantParameters =
102                 commonTestData.toObject(map, ParticipantPolicyParameters.class);
103         final ValidationResult validationResult = participantParameters.validate();
104         assertNull(validationResult.getResult());
105     }
106 }