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.
16 * ============LICENSE_END=========================================================
19 package org.onap.policy.controlloop.policy.guard;
21 import static org.junit.Assert.*;
23 import java.util.ArrayList;
24 import java.util.HashMap;
25 import java.util.List;
28 import org.junit.Test;
30 public class ConstraintTest {
33 public void testConstraint() {
34 Constraint constraint = new Constraint();
36 assertNull(constraint.getFreq_limit_per_target());
37 assertNull(constraint.getTime_window());
38 assertNull(constraint.getActive_time_range());
39 assertNull(constraint.getBlacklist());
43 public void testGetAndSetFreq_limit_per_target() {
44 Integer freqLimitPerTarget = 10;
45 Constraint constraint = new Constraint();
46 constraint.setFreq_limit_per_target(freqLimitPerTarget);
47 assertEquals(freqLimitPerTarget, constraint.getFreq_limit_per_target());
51 public void testGetAndSetTime_window() {
52 Map<String, String> timeWindow = new HashMap<>();
53 timeWindow.put("timeWindowKey", "timeWindowValue");
54 Constraint constraint = new Constraint();
55 constraint.setTime_window(timeWindow);
56 assertEquals(timeWindow, constraint.getTime_window());
60 public void testGetAndSetActive_time_range() {
61 Map<String, String> activeTimeRange = new HashMap<>();
62 activeTimeRange.put("timeWindowKey", "timeWindowValue");
63 Constraint constraint = new Constraint();
64 constraint.setActive_time_range(activeTimeRange);;
65 assertEquals(activeTimeRange, constraint.getActive_time_range());
69 public void testGetAndSetBlacklist() {
70 List<String> blacklist = new ArrayList<>();
71 blacklist.add("blacklist item");
72 Constraint constraint = new Constraint();
73 constraint.setBlacklist(blacklist);
74 assertEquals(blacklist, constraint.getBlacklist());
78 public void testConstraintIntegerMapOfStringString() {
79 Integer freqLimitPerTarget = 10;
80 Map<String, String> timeWindow = new HashMap<>();
82 Constraint constraint = new Constraint(freqLimitPerTarget, timeWindow);
84 assertEquals(freqLimitPerTarget, constraint.getFreq_limit_per_target());
85 assertEquals(timeWindow, constraint.getTime_window());
86 assertNull(constraint.getActive_time_range());
87 assertNull(constraint.getBlacklist());
91 public void testConstraintListOfString() {
92 List<String> blacklist = new ArrayList<>();
93 blacklist.add("blacklist item");
94 Constraint constraint = new Constraint(blacklist);
96 assertNull(constraint.getFreq_limit_per_target());
97 assertNull(constraint.getTime_window());
98 assertNull(constraint.getActive_time_range());
99 assertEquals(blacklist, constraint.getBlacklist());
103 public void testConstraintIntegerMapOfStringStringListOfString() {
104 Integer freqLimitPerTarget = 10;
105 Map<String, String> timeWindow = new HashMap<>();
106 List<String> blacklist = new ArrayList<>();
107 blacklist.add("blacklist item");
108 Constraint constraint = new Constraint(freqLimitPerTarget, timeWindow, blacklist);
110 assertEquals(freqLimitPerTarget, constraint.getFreq_limit_per_target());
111 assertEquals(timeWindow, constraint.getTime_window());
112 assertNull(constraint.getActive_time_range());
113 assertEquals(blacklist, constraint.getBlacklist());
117 public void testConstraintIntegerMapOfStringStringMapOfStringString() {
118 Integer freqLimitPerTarget = 10;
119 Map<String, String> timeWindow = new HashMap<>();
120 Map<String, String> activeTimeRange = new HashMap<>();
121 activeTimeRange.put("timeWindowKey", "timeWindowValue");
122 Constraint constraint = new Constraint(freqLimitPerTarget, timeWindow, activeTimeRange);
124 assertEquals(freqLimitPerTarget, constraint.getFreq_limit_per_target());
125 assertEquals(timeWindow, constraint.getTime_window());
126 assertEquals(activeTimeRange, constraint.getActive_time_range());
127 assertNull(constraint.getBlacklist());
132 public void testConstraintIntegerMapOfStringStringMapOfStringStringListOfString() {
133 Integer freqLimitPerTarget = 10;
134 Map<String, String> timeWindow = new HashMap<>();
135 Map<String, String> activeTimeRange = new HashMap<>();
136 activeTimeRange.put("timeWindowKey", "timeWindowValue");
137 List<String> blacklist = new ArrayList<>();
138 blacklist.add("blacklist item");
139 Constraint constraint = new Constraint(freqLimitPerTarget, timeWindow, activeTimeRange, blacklist);
141 assertEquals(freqLimitPerTarget, constraint.getFreq_limit_per_target());
142 assertEquals(timeWindow, constraint.getTime_window());
143 assertEquals(activeTimeRange, constraint.getActive_time_range());
144 assertEquals(blacklist, constraint.getBlacklist());
148 public void testConstraintConstraint() {
149 Integer freqLimitPerTarget = 10;
150 Map<String, String> timeWindow = new HashMap<>();
151 Map<String, String> activeTimeRange = new HashMap<>();
152 activeTimeRange.put("timeWindowKey", "timeWindowValue");
153 List<String> blacklist = new ArrayList<>();
154 blacklist.add("blacklist item");
155 Constraint constraint1 = new Constraint(freqLimitPerTarget, timeWindow, activeTimeRange, blacklist);
156 Constraint constraint2 = new Constraint(constraint1);
158 assertEquals(freqLimitPerTarget, constraint2.getFreq_limit_per_target());
159 assertEquals(timeWindow, constraint2.getTime_window());
160 assertEquals(activeTimeRange, constraint2.getActive_time_range());
161 assertEquals(blacklist, constraint2.getBlacklist());
165 public void testIsValid() {
166 Integer freqLimitPerTarget = 10;
167 Map<String, String> timeWindow = new HashMap<>();
169 Constraint constraint = new Constraint();
170 assertTrue(constraint.isValid());
172 constraint.setFreq_limit_per_target(freqLimitPerTarget);
173 assertFalse(constraint.isValid());
175 constraint.setTime_window(timeWindow);
176 assertTrue(constraint.isValid());
178 constraint.setFreq_limit_per_target(null);
179 assertFalse(constraint.isValid());
183 public void testToString() {
184 Integer freqLimitPerTarget = 10;
185 Map<String, String> timeWindow = new HashMap<>();
186 Map<String, String> activeTimeRange = new HashMap<>();
187 activeTimeRange.put("timeWindowKey", "timeWindowValue");
188 List<String> blacklist = new ArrayList<>();
189 blacklist.add("blacklist item");
190 Constraint constraint = new Constraint(freqLimitPerTarget, timeWindow, activeTimeRange, blacklist);
192 assertEquals(constraint.toString(), "Constraint [freq_limit_per_target=" + freqLimitPerTarget
193 + ", time_window=" + timeWindow + ", active_time_range=" + activeTimeRange
194 + ", blacklist=" + blacklist + "]");
198 public void testEquals() {
199 Integer freqLimitPerTarget = 10;
200 Map<String, String> timeWindow = new HashMap<>();
201 Map<String, String> activeTimeRange = new HashMap<>();
202 List<String> blacklist = new ArrayList<>();
203 blacklist.add("blacklist item");
205 Constraint constraint1 = new Constraint();
206 Constraint constraint2 = new Constraint();
207 assertTrue(constraint1.equals(constraint2));
209 constraint1.setFreq_limit_per_target(freqLimitPerTarget);
210 assertFalse(constraint1.equals(constraint2));
211 constraint2.setFreq_limit_per_target(freqLimitPerTarget);
212 assertTrue(constraint1.equals(constraint2));
213 assertEquals(constraint1.hashCode(), constraint2.hashCode());
215 constraint1.setTime_window(timeWindow);
216 assertFalse(constraint1.equals(constraint2));
217 constraint2.setTime_window(timeWindow);
218 assertTrue(constraint1.equals(constraint2));
219 assertEquals(constraint1.hashCode(), constraint2.hashCode());
221 constraint1.setActive_time_range(activeTimeRange);
222 assertFalse(constraint1.equals(constraint2));
223 constraint2.setActive_time_range(activeTimeRange);
224 assertTrue(constraint1.equals(constraint2));
225 assertEquals(constraint1.hashCode(), constraint2.hashCode());
227 constraint1.setBlacklist(blacklist);
228 assertFalse(constraint1.equals(constraint2));
229 constraint2.setBlacklist(blacklist);
230 assertTrue(constraint1.equals(constraint2));
231 assertEquals(constraint1.hashCode(), constraint2.hashCode());
235 public void testEqualsSameObject() {
236 Constraint constraint = new Constraint();
237 assertTrue(constraint.equals(constraint));
241 public void testEqualsNull() {
242 Constraint constraint = new Constraint();
243 assertFalse(constraint.equals(null));
247 public void testEqualsInstanceOfDiffClass() {
248 Constraint constraint = new Constraint();
249 assertFalse(constraint.equals(""));