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