JUnit/SONAR/Checkstyle in ONAP-REST
[policy/engine.git] / ONAP-REST / src / test / java / org / onap / policy / rest / jpa / ActionDictionaryJpaTest.java
1 /*-
2  * ============LICENSE_START=======================================================
3  * ONAP-REST
4  * ================================================================================
5  * Copyright (C) 2018 AT&T Intellectual Property. All rights reserved.
6  * Modifications Copyright (C) 2019 Nordix Foundation.
7  * ================================================================================
8  * Licensed under the Apache License, Version 2.0 (the "License");
9  * you may not use this file except in compliance with the License.
10  * You may obtain a copy of the License at
11  *
12  *      http://www.apache.org/licenses/LICENSE-2.0
13  *
14  * Unless required by applicable law or agreed to in writing, software
15  * distributed under the License is distributed on an "AS IS" BASIS,
16  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
17  * See the License for the specific language governing permissions and
18  * limitations under the License.
19  * ============LICENSE_END=========================================================
20  */
21
22 package org.onap.policy.rest.jpa;
23
24 import static org.junit.Assert.assertEquals;
25 import static org.junit.Assert.assertFalse;
26 import static org.junit.Assert.assertNull;
27 import static org.junit.Assert.assertTrue;
28
29 import com.att.research.xacml.api.Identifier;
30
31 import java.util.ArrayList;
32 import java.util.Date;
33 import java.util.HashSet;
34
35 import org.junit.Before;
36 import org.junit.Test;
37 import org.onap.policy.common.logging.flexlogger.FlexLogger;
38 import org.onap.policy.common.logging.flexlogger.Logger;
39
40 public class ActionDictionaryJpaTest {
41
42     private static Logger logger = FlexLogger.getLogger(ActionDictionaryJpaTest.class);
43     private UserInfo userInfo;
44
45     /**
46      * Set up the test.
47      *
48      * @throws Exception on test errors
49      */
50     @Before
51     public void setUp() throws Exception {
52         logger.info("setUp: Entering");
53         userInfo = new UserInfo();
54         userInfo.setUserLoginId("Test");
55         userInfo.setUserName("Test");
56         logger.info("setUp: exit");
57     }
58
59     @Test
60     public void testActionDictionary() {
61         ActionPolicyDict data = new ActionPolicyDict();
62         data.setId(1);
63         assertTrue(1 == data.getId());
64         data.setAttributeName("Test");
65         assertTrue("Test".equals(data.getAttributeName()));
66         data.setDescription("Test");
67         assertTrue("Test".equals(data.getDescription()));
68         data.setBody("Test");
69         assertTrue("Test".equals(data.getBody()));
70         data.setHeader("Test");
71         assertTrue("Test".equals(data.getHeader()));
72         data.setMethod("GET");
73         assertTrue("GET".equals(data.getMethod()));
74         data.setType("JSON");
75         assertTrue("JSON".equals(data.getType()));
76         data.setUrl("http://test.com");
77         assertTrue("http://test.com".equals(data.getUrl()));
78         data.prePersist();
79         data.preUpdate();
80         data.setCreatedDate(new Date());
81         assertTrue(data.getCreatedDate() != null);
82         data.setModifiedDate(new Date());
83         assertTrue(data.getModifiedDate() != null);
84         data.setUserCreatedBy(userInfo);
85         assertTrue(data.getUserCreatedBy() != null);
86         data.setUserModifiedBy(userInfo);
87         assertTrue(data.getUserModifiedBy() != null);
88     }
89
90     @Test
91     public void testFunctionArgument() {
92         FunctionArgument data = new FunctionArgument();
93         data.setArgIndex(1);
94         assertTrue(1 == data.getArgIndex());
95         data.setDatatypeBean(new Datatype());
96         assertTrue(data.getDatatypeBean() != null);
97         data.setFunctionDefinition(new FunctionDefinition());
98         assertTrue(data.getFunctionDefinition() != null);
99         data.setId(1);
100         assertTrue(1 == data.getId());
101         assertFalse(data.isBag());
102         assertEquals("FunctionArgument(id=1", data.toString().substring(0, 21));
103         data.setIsBag(1);
104         assertTrue(data.isBag());
105         assertTrue(1 == data.getIsBag());
106         new FunctionArgument(data);
107     }
108
109     @Test
110     public void testFunctionDefinition() {
111         FunctionDefinition data = new FunctionDefinition();
112         data.setArgLb(1);
113         assertTrue(1 == data.getArgLb());
114         data.setArgUb(1);
115         assertTrue(1 == data.getArgUb());
116         data.setDatatypeBean(new Datatype());
117         assertTrue(data.getDatatypeBean() != null);
118         data.setFunctionArguments(new ArrayList<>());
119         assertTrue(data.getFunctionArguments() != null);
120         data.setHigherOrderArgLb(1);
121         assertTrue(1 == data.getHigherOrderArgLb());
122         data.setHigherOrderArgUb(1);
123         assertTrue(1 == data.getHigherOrderArgUb());
124         data.setId(1);
125         assertTrue(1 == data.getId());
126         data.setIsBagReturn(1);
127         assertTrue(1 == data.getIsBagReturn());
128         data.setIsHigherOrder(1);
129         assertTrue(1 == data.getIsHigherOrder());
130         data.setShortname("Test");
131         assertTrue("Test".equals(data.getShortname()));
132         data.setXacmlid("Test");
133         assertTrue("Test".equals(data.getXacmlid()));
134         assertTrue(data.toString().startsWith("FunctionDefinition(id=1"));
135         assertTrue(data.isBagReturn());
136         data.setIsBagReturn(0);
137         assertTrue(data.isHigherOrder());
138         assertFalse(data.isBagReturn());
139         data.setIsHigherOrder(0);
140         assertFalse(data.isHigherOrder());
141         FunctionArgument functionArgument = new FunctionArgument();
142         functionArgument.setId(12345);
143         data.addFunctionArgument(functionArgument);
144         assertEquals(12345, data.getFunctionArguments().iterator().next().getId());
145         data.removeFunctionArgument(functionArgument);
146         assertTrue(data.getFunctionArguments().isEmpty());
147     }
148
149     @Test
150     public void testCategory() {
151         Category data = new Category();
152         new Category(null);
153         data.setAttributes(new HashSet<>());
154         data.addAttribute(new Attribute());
155         data.removeAttribute(new Attribute());
156         data.isStandard();
157         data.isCustom();
158         data.getIdentifer();
159         data.toString();
160         assertTrue(data.getAttributes() != null);
161         data.setGrouping("Test");
162         assertTrue("Test".equals(data.getGrouping()));
163         data.setId(1);
164         assertTrue(1 == data.getId());
165         data.setShortName("Test");
166         assertTrue("Test".equals(data.getShortName()));
167         data.setXacmlId("Test");
168         assertTrue("Test".equals(data.getXacmlId()));
169
170         data.setIsStandard(Category.STANDARD);
171         assertEquals(Category.STANDARD, data.getIsStandard());
172         assertTrue(data.isStandard());
173         assertFalse(data.isCustom());
174
175         data.setIsStandard(Category.CUSTOM);
176         assertEquals(Category.CUSTOM, data.getIsStandard());
177         assertFalse(data.isStandard());
178         assertTrue(data.isCustom());
179
180         Identifier categoryIdentifier = new DummyIdentifier();
181         Category data2 = new Category(categoryIdentifier,
182                         "urn:oasis:names:tc:xacml:1.0:subject-category:intermediary-subject", Category.STANDARD);
183         assertEquals(DummyIdentifier.class.getName(), data2.getIdentifer().stringValue());
184
185         Category data3 = new Category(categoryIdentifier,
186                         "urn:oasis:names:tc:xacml:1.0:subject-category:intermediary-subject");
187         assertEquals(DummyIdentifier.class.getName(), data3.getIdentifer().stringValue());
188
189         assertEquals("subject",
190                         Category.extractGrouping("urn:oasis:names:tc:xacml:1.0:subject-category:intermediary-subject"));
191         assertNull(Category.extractGrouping(null));
192         assertNull(Category.extractGrouping("some random string"));
193         assertNull(Category.extractGrouping(""));
194         assertEquals("intermediary-attribute", Category
195                         .extractGrouping("urn:oasis:names:tc:xacml:1.0:attribute-category:intermediary-attribute"));
196     }
197
198     @Test
199     public void testConstraintType() {
200         ConstraintType data = new ConstraintType();
201         new ConstraintType("Test", "Test");
202         ConstraintType.getRangeTypes();
203         data.setAttributes(new HashSet<>());
204         assertTrue(data.getAttributes() != null);
205         data.setConstraintType("Test");
206         assertTrue("Test".equals(data.getConstraintType()));
207         data.setDescription("Test");
208         assertTrue("Test".equals(data.getDescription()));
209         data.setId(1);
210         assertTrue(1 == data.getId());
211     }
212
213     @Test
214     public void testConstraintValue() {
215         ConstraintValue data = new ConstraintValue();
216         data.clone();
217         new ConstraintValue(new ConstraintValue());
218         new ConstraintValue("Test", "Test");
219         data.setAttribute(new Attribute());
220         assertTrue(data.getAttribute() != null);
221         data.setId(1);
222         assertTrue(1 == data.getId());
223         data.setProperty("Test");
224         assertTrue("Test".equals(data.getProperty()));
225         data.setValue("Test");
226         assertTrue("Test".equals(data.getValue()));
227     }
228
229     @Test
230     public void testObadvice() {
231         Obadvice data = new Obadvice();
232         new Obadvice();
233         new Obadvice("Test", "Test");
234         data.clone();
235         data.addObadviceExpression(new ObadviceExpression());
236         data.removeObadviceExpression(new ObadviceExpression());
237         data.removeAllExpressions();
238         data.prePersist();
239         data.preUpdate();
240         data.setId(1);
241         assertTrue(1 == data.getId());
242         data.setCreatedBy("Test");
243         assertTrue("Test".equals(data.getCreatedBy()));
244         data.setDescription("Test");
245         assertTrue("Test".equals(data.getDescription()));
246         data.setFulfillOn("Test");
247         assertTrue("Test".equals(data.getFulfillOn()));
248         data.setModifiedBy("Test");
249         assertTrue("Test".equals(data.getModifiedBy()));
250         data.setObadviceExpressions(new HashSet<>());
251         assertTrue(data.getObadviceExpressions() != null);
252         data.setType("Test");
253         assertTrue("Test".equals(data.getType()));
254         data.setXacmlId("Test");
255         assertTrue("Test".equals(data.getXacmlId()));
256     }
257
258     @Test
259     public void testObadviceExpression() {
260         ObadviceExpression data = new ObadviceExpression();
261         data.clone();
262         data.setAttribute(new Attribute());
263         assertTrue(data.getAttribute() != null);
264         data.setId(1);
265         assertTrue(1 == data.getId());
266         data.setObadvice(new Obadvice());
267         assertTrue(data.getObadvice() != null);
268         data.setType("Test");
269         assertTrue("Test".equals(data.getType()));
270     }
271
272     @Test
273     public void testRuleAlgorithms() {
274         RuleAlgorithms data = new RuleAlgorithms();
275         data.isCustom();
276         data.isStandard();
277         data.setId(1);
278         assertTrue(1 == data.getId());
279         data.setShortName("Test");
280         assertTrue("Test".equals(data.getShortName()));
281         data.setXacmlId("Test");
282         assertTrue("Test".equals(data.getXacmlId()));
283         data.toString();
284     }
285
286     @Test
287     public void testAttributeAssignment() {
288         AttributeAssignment data = new AttributeAssignment();
289         data.setId(1);
290         assertTrue(1 == data.getId());
291         data.setAttributeId(1);
292         assertTrue(1 == data.getAttributeId());
293         data.setExpression("Test");
294         assertTrue("Test".equals(data.getExpression()));
295     }
296
297     @Test
298     public void testDatatype() {
299         Datatype data = new Datatype();
300         new Datatype(null);
301         new Datatype(1, new Datatype());
302         data.setArguments(new HashSet<>());
303         assertTrue(data.getArguments() != null);
304         data.setAttributes(new HashSet<>());
305         assertTrue(data.getAttributes() != null);
306         data.setFunctions(new HashSet<>());
307         assertTrue(data.getFunctions() != null);
308         data.setId(1);
309         assertTrue(1 == data.getId());
310         data.setShortName("Test");
311         assertTrue("Test".equals(data.getShortName()));
312         data.setXacmlId("Test");
313         assertTrue("Test".equals(data.getXacmlId()));
314         data.addArgument(new FunctionArgument());
315         data.addAttribute(new Attribute());
316         data.addFunction(new FunctionDefinition());
317         data.removeArgument(new FunctionArgument());
318         data.removeAttribute(new Attribute());
319         data.removeAttribute(new FunctionDefinition());
320         assertTrue(data.getIdentifer() != null);
321         assertTrue(data.getIdentiferByShortName() != null);
322         data.setIsStandard(Datatype.STANDARD);
323         assertTrue(data.isStandard());
324         data.setIsStandard(Datatype.CUSTOM);
325         assertTrue(data.isCustom());
326
327         data.setIsStandard(Category.STANDARD);
328         assertEquals(Category.STANDARD, data.getIsStandard());
329         assertTrue(data.isStandard());
330         assertFalse(data.isCustom());
331
332         data.setIsStandard(Category.CUSTOM);
333         assertEquals(Category.CUSTOM, data.getIsStandard());
334         assertFalse(data.isStandard());
335         assertTrue(data.isCustom());
336
337         Datatype data2 = new Datatype(new DummyIdentifier(), Datatype.STANDARD);
338         assertEquals(DummyIdentifier.class.getName(), data2.getIdentifer().stringValue());
339     }
340
341     @Test
342     public void testPolicyAlgorithms() {
343         PolicyAlgorithms data = new PolicyAlgorithms();
344         data.setId(1);
345         assertTrue(1 == data.getId());
346         data.setShortName("Test");
347         assertTrue("Test".equals(data.getShortName()));
348         data.setXacmlId("Test");
349         assertTrue("Test".equals(data.getXacmlId()));
350         data.setIsStandard(PolicyAlgorithms.STANDARD);
351         assertTrue(data.isStandard());
352     }
353 }