3bf801d5737e6820d50b049688a1844dcdd449a7
[policy/drools-applications.git] /
1 /*-
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
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  * ============LICENSE_END=========================================================
17  */
18 package org.onap.policy.controlloop.policy.guard;
19
20 import static org.junit.Assert.assertEquals;
21 import static org.junit.Assert.assertFalse;
22 import static org.junit.Assert.assertNotNull;
23 import static org.junit.Assert.assertNull;
24 import static org.junit.Assert.assertTrue;
25
26 import java.util.LinkedList;
27 import java.util.List;
28
29 import org.junit.Test;
30
31 public class GuardPolicyTest {
32         
33         @Test
34         public void testConstructor(){
35                 GuardPolicy guardPolicy = new GuardPolicy();
36                 
37                 assertNotNull(guardPolicy.getId());
38                 assertNull(guardPolicy.getName());
39                 assertNull(guardPolicy.getDescription());
40                 assertNull(guardPolicy.getMatch_parameters());
41                 assertNull(guardPolicy.getLimit_constraints());
42         }
43         
44         @Test
45         public void testConstructorString(){
46                 String id = "guard id";
47                 GuardPolicy guardPolicy = new GuardPolicy(id);
48                 
49                 assertEquals(id, guardPolicy.getId());
50                 assertNull(guardPolicy.getName());
51                 assertNull(guardPolicy.getDescription());
52                 assertNull(guardPolicy.getMatch_parameters());
53                 assertNull(guardPolicy.getLimit_constraints());
54         }
55                 
56         @Test
57         public void testConstructorStringStringStringMatchParameters(){
58                 String id = "guard id";
59                 String name = "guard name";
60                 String description = "guard description";
61                 MatchParameters matchParameters = new MatchParameters();
62                 List<Constraint> limitConstraints = new LinkedList<>();
63                 limitConstraints.add(new Constraint());
64                 GuardPolicy guardPolicy = new GuardPolicy(id, name, description, matchParameters);
65                 
66                 assertNotNull(guardPolicy.getId());
67                 assertEquals(name, guardPolicy.getName());
68                 assertEquals(description, guardPolicy.getDescription());
69                 assertEquals(matchParameters, guardPolicy.getMatch_parameters());
70                 assertNull(guardPolicy.getLimit_constraints());
71         }
72         
73         @Test
74         public void testConstructorStringMatchParametersList(){
75                 String name = "guard name";
76                 MatchParameters matchParameters = new MatchParameters();
77                 List<Constraint> limitConstraints = new LinkedList<>();
78                 limitConstraints.add(new Constraint());
79                 GuardPolicy guardPolicy = new GuardPolicy(name, matchParameters, limitConstraints);
80                 
81                 assertNotNull(guardPolicy.getId());
82                 assertEquals(name, guardPolicy.getName());
83                 assertNull(guardPolicy.getDescription());
84                 assertEquals(matchParameters, guardPolicy.getMatch_parameters());
85                 assertEquals(limitConstraints, guardPolicy.getLimit_constraints());
86         }
87         
88         @Test
89         public void testConstructorStringStringMatchParametersList(){
90                 String name = "guard name";
91                 String description = "guard description";
92                 MatchParameters matchParameters = new MatchParameters();
93                 List<Constraint> limitConstraints = new LinkedList<>();
94                 limitConstraints.add(new Constraint());
95                 GuardPolicy guardPolicy = new GuardPolicy(name, description, matchParameters, limitConstraints);
96                 
97                 assertNotNull(guardPolicy.getId());
98                 assertEquals(name, guardPolicy.getName());
99                 assertEquals(description, guardPolicy.getDescription());
100                 assertEquals(matchParameters, guardPolicy.getMatch_parameters());
101                 assertEquals(limitConstraints, guardPolicy.getLimit_constraints());
102         }
103     
104         @Test
105         public void testConstructorStringStringStringMatchParametersList(){
106                 String id = "guard id";
107                 String name = "guard name";
108                 String description = "guard description";
109                 MatchParameters matchParameters = new MatchParameters();
110                 List<Constraint> limitConstraints = new LinkedList<>();
111                 limitConstraints.add(new Constraint());
112                 GuardPolicy guardPolicy = new GuardPolicy(id, name, description, matchParameters, limitConstraints);
113                 
114                 assertEquals(id, guardPolicy.getId());
115                 assertEquals(name, guardPolicy.getName());
116                 assertEquals(description, guardPolicy.getDescription());
117                 assertEquals(matchParameters, guardPolicy.getMatch_parameters());
118                 assertEquals(limitConstraints, guardPolicy.getLimit_constraints());
119         }
120         
121         @Test
122         public void testConstructorGuardPolicy(){
123                 String id = "guard id";
124                 String name = "guard name";
125                 String description = "guard description";
126                 MatchParameters matchParameters = new MatchParameters();
127                 List<Constraint> limitConstraints = new LinkedList<>();
128                 limitConstraints.add(new Constraint());
129                 GuardPolicy guardPolicy1 = new GuardPolicy(id, name, description, matchParameters, limitConstraints);
130                 
131                 GuardPolicy guardPolicy2 = new GuardPolicy(guardPolicy1);
132
133                 
134                 assertEquals(id, guardPolicy2.getId());
135                 assertEquals(name, guardPolicy2.getName());
136                 assertEquals(description, guardPolicy2.getDescription());
137                 assertEquals(matchParameters, guardPolicy2.getMatch_parameters());
138                 assertEquals(limitConstraints, guardPolicy2.getLimit_constraints());
139         }
140         
141         @Test
142         public void testSetAndGetId(){
143                 String id = "guard id";
144                 GuardPolicy guardPolicy = new GuardPolicy();
145                 guardPolicy.setId(id);
146                 assertEquals(id, guardPolicy.getId());
147         }
148         
149         @Test
150         public void testSetAndGetName(){
151                 String name = "guard name";
152                 GuardPolicy guardPolicy = new GuardPolicy();
153                 guardPolicy.setName(name);
154                 assertEquals(name, guardPolicy.getName());
155         }
156         
157         @Test
158         public void testSetAndGetDescription(){
159                 String description = "guard description";
160                 GuardPolicy guardPolicy = new GuardPolicy();
161                 guardPolicy.setDescription(description);
162                 assertEquals(description, guardPolicy.getDescription());
163         }
164         
165         @Test
166         public void testSetAndGetMatchParameters(){
167                 MatchParameters matchParameters = new MatchParameters();
168                 GuardPolicy guardPolicy = new GuardPolicy();
169                 guardPolicy.setMatch_parameters(matchParameters);
170                 assertEquals(matchParameters, guardPolicy.getMatch_parameters());
171         }
172         
173         @Test
174         public void testSetAndGetLimitConstraints(){
175                 LinkedList<Constraint> limitConstraints = new LinkedList<>();
176                 limitConstraints.add(new Constraint());
177                 GuardPolicy guardPolicy = new GuardPolicy();
178                 guardPolicy.setLimit_constraints(limitConstraints);
179                 assertEquals(limitConstraints, guardPolicy.getLimit_constraints());
180         }
181         
182         @Test
183         public void testIsValid(){
184                 GuardPolicy guardPolicy = new GuardPolicy();
185                 assertFalse(guardPolicy.isValid());
186                 
187                 guardPolicy.setName("guard name");
188                 assertTrue(guardPolicy.isValid());
189                 
190                 guardPolicy.setId(null);
191                 assertFalse(guardPolicy.isValid());
192         }
193         
194         @Test
195         public void testToString(){
196                 String id = "guard id";
197                 String name = "guard name";
198                 String description = "guard description";
199                 MatchParameters matchParameters = new MatchParameters();
200                 List<Constraint> limitConstraints = new LinkedList<>();
201                 limitConstraints.add(new Constraint());
202                 GuardPolicy guardPolicy = new GuardPolicy(id, name, description, matchParameters, limitConstraints);
203                 
204                 assertEquals(guardPolicy.toString(), "Policy [id=guard id, name=guard name, description=guard description, "
205                                 + "match_parameters=MatchParameters [controlLoopName=null, actor=null, recipe=null, targets=null], "
206                                 + "limitConstraints=[Constraint [freq_limit_per_target=null, time_window=null, active_time_range=null, blacklist=null]]]", guardPolicy.toString());
207         }
208         
209         @Test
210         public void testEquals(){
211                 String id = "guard id";
212                 String name = "guard name";
213                 String description = "guard description";
214                 GuardPolicy guardPolicy1 = new GuardPolicy(id);
215                 GuardPolicy guardPolicy2 = new GuardPolicy();
216                 assertFalse(guardPolicy1.equals(guardPolicy2));
217                 
218                 guardPolicy2.setId(id);
219                 assertTrue(guardPolicy1.equals(guardPolicy2));
220                 assertEquals(guardPolicy1.hashCode(), guardPolicy2.hashCode());
221                 
222                 guardPolicy1.setName(name);
223                 assertFalse(guardPolicy1.equals(guardPolicy2));
224                 guardPolicy2.setName(name);
225                 assertTrue(guardPolicy1.equals(guardPolicy2));
226                 assertEquals(guardPolicy1.hashCode(), guardPolicy2.hashCode());
227         
228                 guardPolicy1.setDescription(description);
229                 assertFalse(guardPolicy1.equals(guardPolicy2));
230                 guardPolicy2.setDescription(description);
231                 assertTrue(guardPolicy1.equals(guardPolicy2));
232                 assertEquals(guardPolicy1.hashCode(), guardPolicy2.hashCode());
233
234                 MatchParameters matchParameters = new MatchParameters();
235                 guardPolicy1.setMatch_parameters(matchParameters);
236                 assertFalse(guardPolicy1.equals(guardPolicy2));
237                 guardPolicy2.setMatch_parameters(matchParameters);
238                 assertTrue(guardPolicy1.equals(guardPolicy2));
239                 assertEquals(guardPolicy1.hashCode(), guardPolicy2.hashCode());
240
241                 LinkedList<Constraint> limitConstraints = new LinkedList<>();
242                 limitConstraints.add(new Constraint());
243                 guardPolicy1.setLimit_constraints(limitConstraints);
244                 assertFalse(guardPolicy1.equals(guardPolicy2));
245                 guardPolicy2.setLimit_constraints(limitConstraints);
246                 assertTrue(guardPolicy1.equals(guardPolicy2));
247                 assertEquals(guardPolicy1.hashCode(), guardPolicy2.hashCode());
248         }
249         
250         @Test
251         public void testEqualsSameObject(){
252                 GuardPolicy guardPolicy = new GuardPolicy();
253                 assertTrue(guardPolicy.equals(guardPolicy));
254         }
255         
256         @Test
257         public void testEqualsNull(){
258                 GuardPolicy guardPolicy = new GuardPolicy();
259                 assertFalse(guardPolicy.equals(null));
260         }
261         
262         @Test
263         public void testEqualsInstanceOfDiffClass(){
264                 GuardPolicy guardPolicy = new GuardPolicy();
265                 assertFalse(guardPolicy.equals(""));
266         }
267 }