2 * ============LICENSE_START=======================================================
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
12 * http://www.apache.org/licenses/LICENSE-2.0
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=========================================================
22 package org.onap.policy.rest.jpa;
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;
29 import com.att.research.xacml.api.Identifier;
31 import java.util.ArrayList;
32 import java.util.Date;
33 import java.util.HashSet;
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;
40 public class ActionDictionaryJpaTest {
42 private static Logger logger = FlexLogger.getLogger(ActionDictionaryJpaTest.class);
43 private UserInfo userInfo;
48 * @throws Exception on test errors
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");
60 public void testActionDictionary() {
61 ActionPolicyDict data = new ActionPolicyDict();
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()));
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()));
75 assertTrue("JSON".equals(data.getType()));
76 data.setUrl("http://test.com");
77 assertTrue("http://test.com".equals(data.getUrl()));
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);
91 public void testFunctionArgument() {
92 FunctionArgument data = new FunctionArgument();
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);
100 assertTrue(1 == data.getId());
104 assertTrue(1 == data.getIsBag());
105 new FunctionArgument(data);
109 public void testFunctionDefinition() {
110 FunctionDefinition data = new FunctionDefinition();
112 assertTrue(1 == data.getArgLb());
114 assertTrue(1 == data.getArgUb());
115 data.setDatatypeBean(new Datatype());
116 assertTrue(data.getDatatypeBean() != null);
117 data.setFunctionArguments(new ArrayList<>());
118 assertTrue(data.getFunctionArguments() != null);
119 data.setHigherOrderArg_LB(1);
120 assertTrue(1 == data.getHigherOrderArg_LB());
121 data.setHigherOrderArg_UB(1);
122 assertTrue(1 == data.getHigherOrderArg_UB());
124 assertTrue(1 == data.getId());
125 data.setIsBagReturn(1);
126 assertTrue(1 == data.getIsBagReturn());
127 data.setIsHigherOrder(1);
128 assertTrue(1 == data.getIsHigherOrder());
129 data.setShortname("Test");
130 assertTrue("Test".equals(data.getShortname()));
131 data.setXacmlid("Test");
132 assertTrue("Test".equals(data.getXacmlid()));
135 data.isHigherOrder();
136 data.addFunctionArgument(new FunctionArgument());
137 data.removeFunctionArgument(new FunctionArgument());
141 public void testCategory() {
142 Category data = new Category();
144 data.setAttributes(new HashSet<>());
145 data.addAttribute(new Attribute());
146 data.removeAttribute(new Attribute());
151 assertTrue(data.getAttributes() != null);
152 data.setGrouping("Test");
153 assertTrue("Test".equals(data.getGrouping()));
155 assertTrue(1 == data.getId());
156 data.setShortName("Test");
157 assertTrue("Test".equals(data.getShortName()));
158 data.setXacmlId("Test");
159 assertTrue("Test".equals(data.getXacmlId()));
161 data.setIsStandard(Category.STANDARD);
162 assertEquals(Category.STANDARD, data.getIsStandard());
163 assertTrue(data.isStandard());
164 assertFalse(data.isCustom());
166 data.setIsStandard(Category.CUSTOM);
167 assertEquals(Category.CUSTOM, data.getIsStandard());
168 assertFalse(data.isStandard());
169 assertTrue(data.isCustom());
171 Identifier categoryIdentifier = new DummyIdentifier();
172 Category data2 = new Category(categoryIdentifier,
173 "urn:oasis:names:tc:xacml:1.0:subject-category:intermediary-subject", Category.STANDARD);
174 assertEquals(DummyIdentifier.class.getName(), data2.getIdentifer().stringValue());
176 Category data3 = new Category(categoryIdentifier,
177 "urn:oasis:names:tc:xacml:1.0:subject-category:intermediary-subject");
178 assertEquals(DummyIdentifier.class.getName(), data3.getIdentifer().stringValue());
180 assertEquals("subject",
181 Category.extractGrouping("urn:oasis:names:tc:xacml:1.0:subject-category:intermediary-subject"));
182 assertNull(Category.extractGrouping(null));
183 assertNull(Category.extractGrouping("some random string"));
184 assertNull(Category.extractGrouping(""));
185 assertEquals("intermediary-attribute", Category
186 .extractGrouping("urn:oasis:names:tc:xacml:1.0:attribute-category:intermediary-attribute"));
190 public void testConstraintType() {
191 ConstraintType data = new ConstraintType();
192 new ConstraintType("Test", "Test");
193 ConstraintType.getRangeTypes();
194 data.setAttributes(new HashSet<>());
195 assertTrue(data.getAttributes() != null);
196 data.setConstraintType("Test");
197 assertTrue("Test".equals(data.getConstraintType()));
198 data.setDescription("Test");
199 assertTrue("Test".equals(data.getDescription()));
201 assertTrue(1 == data.getId());
205 public void testConstraintValue() {
206 ConstraintValue data = new ConstraintValue();
208 new ConstraintValue(new ConstraintValue());
209 new ConstraintValue("Test", "Test");
210 data.setAttribute(new Attribute());
211 assertTrue(data.getAttribute() != null);
213 assertTrue(1 == data.getId());
214 data.setProperty("Test");
215 assertTrue("Test".equals(data.getProperty()));
216 data.setValue("Test");
217 assertTrue("Test".equals(data.getValue()));
221 public void testObadvice() {
222 Obadvice data = new Obadvice();
224 new Obadvice("Test", "Test");
226 data.addObadviceExpression(new ObadviceExpression());
227 data.removeObadviceExpression(new ObadviceExpression());
228 data.removeAllExpressions();
232 assertTrue(1 == data.getId());
233 data.setCreatedBy("Test");
234 assertTrue("Test".equals(data.getCreatedBy()));
235 data.setDescription("Test");
236 assertTrue("Test".equals(data.getDescription()));
237 data.setFulfillOn("Test");
238 assertTrue("Test".equals(data.getFulfillOn()));
239 data.setModifiedBy("Test");
240 assertTrue("Test".equals(data.getModifiedBy()));
241 data.setObadviceExpressions(new HashSet<>());
242 assertTrue(data.getObadviceExpressions() != null);
243 data.setType("Test");
244 assertTrue("Test".equals(data.getType()));
245 data.setXacmlId("Test");
246 assertTrue("Test".equals(data.getXacmlId()));
250 public void testObadviceExpression() {
251 ObadviceExpression data = new ObadviceExpression();
253 data.setAttribute(new Attribute());
254 assertTrue(data.getAttribute() != null);
256 assertTrue(1 == data.getId());
257 data.setObadvice(new Obadvice());
258 assertTrue(data.getObadvice() != null);
259 data.setType("Test");
260 assertTrue("Test".equals(data.getType()));
264 public void testRuleAlgorithms() {
265 RuleAlgorithms data = new RuleAlgorithms();
269 assertTrue(1 == data.getId());
270 data.setShortName("Test");
271 assertTrue("Test".equals(data.getShortName()));
272 data.setXacmlId("Test");
273 assertTrue("Test".equals(data.getXacmlId()));
278 public void testAttributeAssignment() {
279 AttributeAssignment data = new AttributeAssignment();
281 assertTrue(1 == data.getId());
282 data.setAttributeId(1);
283 assertTrue(1 == data.getAttributeId());
284 data.setExpression("Test");
285 assertTrue("Test".equals(data.getExpression()));
289 public void testDatatype() {
290 Datatype data = new Datatype();
292 new Datatype(1, new Datatype());
293 data.setArguments(new HashSet<>());
294 assertTrue(data.getArguments() != null);
295 data.setAttributes(new HashSet<>());
296 assertTrue(data.getAttributes() != null);
297 data.setFunctions(new HashSet<>());
298 assertTrue(data.getFunctions() != null);
300 assertTrue(1 == data.getId());
301 data.setShortName("Test");
302 assertTrue("Test".equals(data.getShortName()));
303 data.setXacmlId("Test");
304 assertTrue("Test".equals(data.getXacmlId()));
305 data.addArgument(new FunctionArgument());
306 data.addAttribute(new Attribute());
307 data.addFunction(new FunctionDefinition());
308 data.removeArgument(new FunctionArgument());
309 data.removeAttribute(new Attribute());
310 data.removeAttribute(new FunctionDefinition());
311 assertTrue(data.getIdentifer() != null);
312 assertTrue(data.getIdentiferByShortName() != null);
313 data.setIsStandard(Datatype.STANDARD);
314 assertTrue(data.isStandard());
315 data.setIsStandard(Datatype.CUSTOM);
316 assertTrue(data.isCustom());
318 data.setIsStandard(Category.STANDARD);
319 assertEquals(Category.STANDARD, data.getIsStandard());
320 assertTrue(data.isStandard());
321 assertFalse(data.isCustom());
323 data.setIsStandard(Category.CUSTOM);
324 assertEquals(Category.CUSTOM, data.getIsStandard());
325 assertFalse(data.isStandard());
326 assertTrue(data.isCustom());
328 Datatype data2 = new Datatype(new DummyIdentifier(), Datatype.STANDARD);
329 assertEquals(DummyIdentifier.class.getName(), data2.getIdentifer().stringValue());
333 public void testPolicyAlgorithms() {
334 PolicyAlgorithms data = new PolicyAlgorithms();
336 assertTrue(1 == data.getId());
337 data.setShortName("Test");
338 assertTrue("Test".equals(data.getShortName()));
339 data.setXacmlId("Test");
340 assertTrue("Test".equals(data.getXacmlId()));
341 data.setIsStandard(PolicyAlgorithms.STANDARD);
342 assertTrue(data.isStandard());