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=========================================================
18 package org.onap.policy.controlloop.policy.guard;
20 import static org.junit.Assert.*;
22 import java.util.ArrayList;
23 import java.util.HashMap;
24 import java.util.List;
27 import org.junit.Test;
29 public class ConstraintTest {
32 public void testConstraint() {
33 Constraint constraint = new Constraint();
35 assertNull(constraint.getFreq_limit_per_target());
36 assertNull(constraint.getTime_window());
37 assertNull(constraint.getActive_time_range());
38 assertNull(constraint.getBlacklist());
42 public void testGetAndSetFreq_limit_per_target() {
43 Integer freqLimitPerTarget = 10;
44 Constraint constraint = new Constraint();
45 constraint.setFreq_limit_per_target(freqLimitPerTarget);
46 assertEquals(freqLimitPerTarget, constraint.getFreq_limit_per_target());
50 public void testGetAndSetTime_window() {
51 Map<String, String> timeWindow = new HashMap<>();
52 timeWindow.put("timeWindowKey", "timeWindowValue");
53 Constraint constraint = new Constraint();
54 constraint.setTime_window(timeWindow);
55 assertEquals(timeWindow, constraint.getTime_window());
59 public void testGetAndSetActive_time_range() {
60 Map<String, String> activeTimeRange = new HashMap<>();
61 activeTimeRange.put("timeWindowKey", "timeWindowValue");
62 Constraint constraint = new Constraint();
63 constraint.setActive_time_range(activeTimeRange);;
64 assertEquals(activeTimeRange, constraint.getActive_time_range());
68 public void testGetAndSetBlacklist() {
69 List<String> blacklist = new ArrayList<>();
70 blacklist.add("blacklist item");
71 Constraint constraint = new Constraint();
72 constraint.setBlacklist(blacklist);
73 assertEquals(blacklist, constraint.getBlacklist());
77 public void testConstraintIntegerMapOfStringString() {
78 Integer freqLimitPerTarget = 10;
79 Map<String, String> timeWindow = new HashMap<>();
81 Constraint constraint = new Constraint(freqLimitPerTarget, timeWindow);
83 assertEquals(freqLimitPerTarget, constraint.getFreq_limit_per_target());
84 assertEquals(timeWindow, constraint.getTime_window());
85 assertNull(constraint.getActive_time_range());
86 assertNull(constraint.getBlacklist());
90 public void testConstraintListOfString() {
91 List<String> blacklist = new ArrayList<>();
92 blacklist.add("blacklist item");
93 Constraint constraint = new Constraint(blacklist);
95 assertNull(constraint.getFreq_limit_per_target());
96 assertNull(constraint.getTime_window());
97 assertNull(constraint.getActive_time_range());
98 assertEquals(blacklist, constraint.getBlacklist());
102 public void testConstraintIntegerMapOfStringStringListOfString() {
103 Integer freqLimitPerTarget = 10;
104 Map<String, String> timeWindow = new HashMap<>();
105 List<String> blacklist = new ArrayList<>();
106 blacklist.add("blacklist item");
107 Constraint constraint = new Constraint(freqLimitPerTarget, timeWindow, blacklist);
109 assertEquals(freqLimitPerTarget, constraint.getFreq_limit_per_target());
110 assertEquals(timeWindow, constraint.getTime_window());
111 assertNull(constraint.getActive_time_range());
112 assertEquals(blacklist, constraint.getBlacklist());
116 public void testConstraintIntegerMapOfStringStringMapOfStringString() {
117 Integer freqLimitPerTarget = 10;
118 Map<String, String> timeWindow = new HashMap<>();
119 Map<String, String> activeTimeRange = new HashMap<>();
120 activeTimeRange.put("timeWindowKey", "timeWindowValue");
121 Constraint constraint = new Constraint(freqLimitPerTarget, timeWindow, activeTimeRange);
123 assertEquals(freqLimitPerTarget, constraint.getFreq_limit_per_target());
124 assertEquals(timeWindow, constraint.getTime_window());
125 assertEquals(activeTimeRange, constraint.getActive_time_range());
126 assertNull(constraint.getBlacklist());
131 public void testConstraintIntegerMapOfStringStringMapOfStringStringListOfString() {
132 Integer freqLimitPerTarget = 10;
133 Map<String, String> timeWindow = new HashMap<>();
134 Map<String, String> activeTimeRange = new HashMap<>();
135 activeTimeRange.put("timeWindowKey", "timeWindowValue");
136 List<String> blacklist = new ArrayList<>();
137 blacklist.add("blacklist item");
138 Constraint constraint = new Constraint(freqLimitPerTarget, timeWindow, activeTimeRange, blacklist);
140 assertEquals(freqLimitPerTarget, constraint.getFreq_limit_per_target());
141 assertEquals(timeWindow, constraint.getTime_window());
142 assertEquals(activeTimeRange, constraint.getActive_time_range());
143 assertEquals(blacklist, constraint.getBlacklist());
147 public void testConstraintConstraint() {
148 Integer freqLimitPerTarget = 10;
149 Map<String, String> timeWindow = new HashMap<>();
150 Map<String, String> activeTimeRange = new HashMap<>();
151 activeTimeRange.put("timeWindowKey", "timeWindowValue");
152 List<String> blacklist = new ArrayList<>();
153 blacklist.add("blacklist item");
154 Constraint constraint1 = new Constraint(freqLimitPerTarget, timeWindow, activeTimeRange, blacklist);
155 Constraint constraint2 = new Constraint(constraint1);
157 assertEquals(freqLimitPerTarget, constraint2.getFreq_limit_per_target());
158 assertEquals(timeWindow, constraint2.getTime_window());
159 assertEquals(activeTimeRange, constraint2.getActive_time_range());
160 assertEquals(blacklist, constraint2.getBlacklist());
164 public void testIsValid() {
165 Integer freqLimitPerTarget = 10;
166 Map<String, String> timeWindow = new HashMap<>();
168 Constraint constraint = new Constraint();
169 assertTrue(constraint.isValid());
171 constraint.setFreq_limit_per_target(freqLimitPerTarget);
172 assertFalse(constraint.isValid());
174 constraint.setTime_window(timeWindow);
175 assertTrue(constraint.isValid());
177 constraint.setFreq_limit_per_target(null);
178 assertFalse(constraint.isValid());
182 public void testToString() {
183 Integer freqLimitPerTarget = 10;
184 Map<String, String> timeWindow = new HashMap<>();
185 Map<String, String> activeTimeRange = new HashMap<>();
186 activeTimeRange.put("timeWindowKey", "timeWindowValue");
187 List<String> blacklist = new ArrayList<>();
188 blacklist.add("blacklist item");
189 Constraint constraint = new Constraint(freqLimitPerTarget, timeWindow, activeTimeRange, blacklist);
191 assertEquals(constraint.toString(), "Constraint [freq_limit_per_target=" + freqLimitPerTarget + ", time_window=" + timeWindow + ", active_time_range=" + activeTimeRange + ", blacklist=" + blacklist + "]");
195 public void testEquals() {
196 Integer freqLimitPerTarget = 10;
197 Map<String, String> timeWindow = new HashMap<>();
198 Map<String, String> activeTimeRange = new HashMap<>();
199 List<String> blacklist = new ArrayList<>();
200 blacklist.add("blacklist item");
202 Constraint constraint1 = new Constraint();
203 Constraint constraint2 = new Constraint();
204 assertTrue(constraint1.equals(constraint2));
206 constraint1.setFreq_limit_per_target(freqLimitPerTarget);
207 assertFalse(constraint1.equals(constraint2));
208 constraint2.setFreq_limit_per_target(freqLimitPerTarget);
209 assertTrue(constraint1.equals(constraint2));
210 assertEquals(constraint1.hashCode(), constraint2.hashCode());
212 constraint1.setTime_window(timeWindow);
213 assertFalse(constraint1.equals(constraint2));
214 constraint2.setTime_window(timeWindow);
215 assertTrue(constraint1.equals(constraint2));
216 assertEquals(constraint1.hashCode(), constraint2.hashCode());
218 constraint1.setActive_time_range(activeTimeRange);
219 assertFalse(constraint1.equals(constraint2));
220 constraint2.setActive_time_range(activeTimeRange);
221 assertTrue(constraint1.equals(constraint2));
222 assertEquals(constraint1.hashCode(), constraint2.hashCode());
224 constraint1.setBlacklist(blacklist);
225 assertFalse(constraint1.equals(constraint2));
226 constraint2.setBlacklist(blacklist);
227 assertTrue(constraint1.equals(constraint2));
228 assertEquals(constraint1.hashCode(), constraint2.hashCode());
232 public void testEqualsSameObject(){
233 Constraint constraint = new Constraint();
234 assertTrue(constraint.equals(constraint));
238 public void testEqualsNull(){
239 Constraint constraint = new Constraint();
240 assertFalse(constraint.equals(null));
244 public void testEqualsInstanceOfDiffClass(){
245 Constraint constraint = new Constraint();
246 assertFalse(constraint.equals(""));