2 * ============LICENSE_START=======================================================
3 * Copyright (C) 2018 Ericsson. All rights reserved.
4 * Modifications Copyright (C) 2018 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
10 * http://www.apache.org/licenses/LICENSE-2.0
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 * ============LICENSE_END=========================================================
20 package org.onap.policy.controlloop.policy.guard;
22 import static org.junit.Assert.assertEquals;
23 import static org.junit.Assert.assertFalse;
24 import static org.junit.Assert.assertNull;
25 import static org.junit.Assert.assertTrue;
27 import java.util.ArrayList;
28 import java.util.HashMap;
29 import java.util.List;
32 import org.junit.Test;
34 public class ConstraintTest {
37 public void testConstraint() {
38 Constraint constraint = new Constraint();
40 assertNull(constraint.getFreq_limit_per_target());
41 assertNull(constraint.getTime_window());
42 assertNull(constraint.getActive_time_range());
43 assertNull(constraint.getBlacklist());
47 public void testGetAndSetFreq_limit_per_target() {
48 Integer freqLimitPerTarget = 10;
49 Constraint constraint = new Constraint();
50 constraint.setFreq_limit_per_target(freqLimitPerTarget);
51 assertEquals(freqLimitPerTarget, constraint.getFreq_limit_per_target());
55 public void testGetAndSetTime_window() {
56 Map<String, String> timeWindow = new HashMap<>();
57 timeWindow.put("timeWindowKey", "timeWindowValue");
58 Constraint constraint = new Constraint();
59 constraint.setTime_window(timeWindow);
60 assertEquals(timeWindow, constraint.getTime_window());
64 public void testGetAndSetActive_time_range() {
65 Map<String, String> activeTimeRange = new HashMap<>();
66 activeTimeRange.put("timeWindowKey", "timeWindowValue");
67 Constraint constraint = new Constraint();
68 constraint.setActive_time_range(activeTimeRange);;
69 assertEquals(activeTimeRange, constraint.getActive_time_range());
73 public void testGetAndSetBlacklist() {
74 List<String> blacklist = new ArrayList<>();
75 blacklist.add("blacklist item");
76 Constraint constraint = new Constraint();
77 constraint.setBlacklist(blacklist);
78 assertEquals(blacklist, constraint.getBlacklist());
82 public void testConstraintIntegerMapOfStringString() {
83 Integer freqLimitPerTarget = 10;
84 Map<String, String> timeWindow = new HashMap<>();
86 Constraint constraint = new Constraint(freqLimitPerTarget, timeWindow);
88 assertEquals(freqLimitPerTarget, constraint.getFreq_limit_per_target());
89 assertEquals(timeWindow, constraint.getTime_window());
90 assertNull(constraint.getActive_time_range());
91 assertNull(constraint.getBlacklist());
95 public void testConstraintListOfString() {
96 List<String> blacklist = new ArrayList<>();
97 blacklist.add("blacklist item");
98 Constraint constraint = new Constraint(blacklist);
100 assertNull(constraint.getFreq_limit_per_target());
101 assertNull(constraint.getTime_window());
102 assertNull(constraint.getActive_time_range());
103 assertEquals(blacklist, constraint.getBlacklist());
107 public void testConstraintIntegerMapOfStringStringListOfString() {
108 Integer freqLimitPerTarget = 10;
109 Map<String, String> timeWindow = new HashMap<>();
110 List<String> blacklist = new ArrayList<>();
111 blacklist.add("blacklist item");
112 Constraint constraint = new Constraint(freqLimitPerTarget, timeWindow, blacklist);
114 assertEquals(freqLimitPerTarget, constraint.getFreq_limit_per_target());
115 assertEquals(timeWindow, constraint.getTime_window());
116 assertNull(constraint.getActive_time_range());
117 assertEquals(blacklist, constraint.getBlacklist());
121 public void testConstraintIntegerMapOfStringStringMapOfStringString() {
122 Integer freqLimitPerTarget = 10;
123 Map<String, String> timeWindow = new HashMap<>();
124 Map<String, String> activeTimeRange = new HashMap<>();
125 activeTimeRange.put("timeWindowKey", "timeWindowValue");
126 Constraint constraint = new Constraint(freqLimitPerTarget, timeWindow, activeTimeRange);
128 assertEquals(freqLimitPerTarget, constraint.getFreq_limit_per_target());
129 assertEquals(timeWindow, constraint.getTime_window());
130 assertEquals(activeTimeRange, constraint.getActive_time_range());
131 assertNull(constraint.getBlacklist());
136 public void testConstraintIntegerMapOfStringStringMapOfStringStringListOfString() {
137 Integer freqLimitPerTarget = 10;
138 Map<String, String> timeWindow = new HashMap<>();
139 Map<String, String> activeTimeRange = new HashMap<>();
140 activeTimeRange.put("timeWindowKey", "timeWindowValue");
141 List<String> blacklist = new ArrayList<>();
142 blacklist.add("blacklist item");
143 Constraint constraint = new Constraint(freqLimitPerTarget, timeWindow, activeTimeRange, blacklist);
145 assertEquals(freqLimitPerTarget, constraint.getFreq_limit_per_target());
146 assertEquals(timeWindow, constraint.getTime_window());
147 assertEquals(activeTimeRange, constraint.getActive_time_range());
148 assertEquals(blacklist, constraint.getBlacklist());
152 public void testConstraintConstraint() {
153 Integer freqLimitPerTarget = 10;
154 Map<String, String> timeWindow = new HashMap<>();
155 Map<String, String> activeTimeRange = new HashMap<>();
156 activeTimeRange.put("timeWindowKey", "timeWindowValue");
157 List<String> blacklist = new ArrayList<>();
158 blacklist.add("blacklist item");
159 Constraint constraint1 = new Constraint(freqLimitPerTarget, timeWindow, activeTimeRange, blacklist);
160 Constraint constraint2 = new Constraint(constraint1);
162 assertEquals(freqLimitPerTarget, constraint2.getFreq_limit_per_target());
163 assertEquals(timeWindow, constraint2.getTime_window());
164 assertEquals(activeTimeRange, constraint2.getActive_time_range());
165 assertEquals(blacklist, constraint2.getBlacklist());
169 public void testIsValid() {
170 Integer freqLimitPerTarget = 10;
171 final Map<String, String> timeWindow = new HashMap<>();
173 Constraint constraint = new Constraint();
174 assertTrue(constraint.isValid());
176 constraint.setFreq_limit_per_target(freqLimitPerTarget);
177 assertFalse(constraint.isValid());
179 constraint.setTime_window(timeWindow);
180 assertTrue(constraint.isValid());
182 constraint.setFreq_limit_per_target(null);
183 assertFalse(constraint.isValid());
187 public void testToString() {
188 Integer freqLimitPerTarget = 10;
189 Map<String, String> timeWindow = new HashMap<>();
190 Map<String, String> activeTimeRange = new HashMap<>();
191 activeTimeRange.put("timeWindowKey", "timeWindowValue");
192 List<String> blacklist = new ArrayList<>();
193 blacklist.add("blacklist item");
194 Constraint constraint = new Constraint(freqLimitPerTarget, timeWindow, activeTimeRange, blacklist);
196 assertEquals(constraint.toString(), "Constraint [freq_limit_per_target=" + freqLimitPerTarget
197 + ", time_window=" + timeWindow + ", active_time_range=" + activeTimeRange
198 + ", blacklist=" + blacklist + "]");
202 public void testEquals() {
203 Integer freqLimitPerTarget = 10;
204 final Map<String, String> timeWindow = new HashMap<>();
205 final Map<String, String> activeTimeRange = new HashMap<>();
206 List<String> blacklist = new ArrayList<>();
207 blacklist.add("blacklist item");
209 Constraint constraint1 = new Constraint();
210 Constraint constraint2 = new Constraint();
211 assertTrue(constraint1.equals(constraint2));
213 constraint1.setFreq_limit_per_target(freqLimitPerTarget);
214 assertFalse(constraint1.equals(constraint2));
215 constraint2.setFreq_limit_per_target(freqLimitPerTarget);
216 assertTrue(constraint1.equals(constraint2));
217 assertEquals(constraint1.hashCode(), constraint2.hashCode());
219 constraint1.setTime_window(timeWindow);
220 assertFalse(constraint1.equals(constraint2));
221 constraint2.setTime_window(timeWindow);
222 assertTrue(constraint1.equals(constraint2));
223 assertEquals(constraint1.hashCode(), constraint2.hashCode());
225 constraint1.setActive_time_range(activeTimeRange);
226 assertFalse(constraint1.equals(constraint2));
227 constraint2.setActive_time_range(activeTimeRange);
228 assertTrue(constraint1.equals(constraint2));
229 assertEquals(constraint1.hashCode(), constraint2.hashCode());
231 constraint1.setBlacklist(blacklist);
232 assertFalse(constraint1.equals(constraint2));
233 constraint2.setBlacklist(blacklist);
234 assertTrue(constraint1.equals(constraint2));
235 assertEquals(constraint1.hashCode(), constraint2.hashCode());
239 public void testEqualsSameObject() {
240 Constraint constraint = new Constraint();
241 assertTrue(constraint.equals(constraint));
245 public void testEqualsNull() {
246 Constraint constraint = new Constraint();
247 assertFalse(constraint.equals(null));
251 public void testEqualsInstanceOfDiffClass() {
252 Constraint constraint = new Constraint();
253 assertFalse(constraint.equals(""));