2 * ============LICENSE_START=======================================================
4 * ================================================================================
5 * Copyright (C) 2018 AT&T Intellectual Property. All rights reserved.
6 * ================================================================================
7 * Licensed under the Apache License, Version 2.0 (the "License");
8 * you may not use this file except in compliance with the License.
9 * You may obtain a copy of the License at
11 * http://www.apache.org/licenses/LICENSE-2.0
13 * Unless required by applicable law or agreed to in writing, software
14 * distributed under the License is distributed on an "AS IS" BASIS,
15 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16 * See the License for the specific language governing permissions and
17 * limitations under the License.
18 * ============LICENSE_END=========================================================
20 package org.onap.policy.rest.util;
22 import static org.junit.Assert.assertEquals;
23 import static org.junit.Assert.assertNotNull;
24 import static org.junit.Assert.assertNull;
25 import static org.junit.Assert.assertTrue;
26 import java.util.HashSet;
28 import org.junit.Before;
29 import org.junit.Test;
30 import org.onap.policy.rest.util.PDPPolicyContainer.PDPPolicyItem;
31 import org.onap.policy.xacml.std.pap.StdPDP;
32 import org.onap.policy.xacml.std.pap.StdPDPGroup;
33 import org.onap.policy.xacml.std.pap.StdPDPPolicy;
34 import com.att.research.xacml.api.pap.PDP;
35 import com.att.research.xacml.api.pap.PDPPolicy;
37 public class PDPPolicyContainerTest {
39 PDPPolicyContainer container;
44 group = new StdPDPGroup();
45 group.setDefault(true);
46 group.setDefaultGroup(true);
47 group.setDescription("Test");
49 group.setName("Test");
50 group.setOnapPdps(new HashSet<>());
51 group.setOperation("Test");
52 group.setPipConfigs(new HashSet<>());
53 HashSet<PDPPolicy> policies = new HashSet<>();
54 policy = new StdPDPPolicy();
55 policy.setName("Config_test.1.xml");
56 policy.setId("Config_test");
57 policy.setVersion("1.0");
58 policy.setDescription("testDescription");
60 group.setPolicies(policies);
61 group.setSelectedPolicies(new HashSet<>());
62 container = new PDPPolicyContainer(group);
66 public void testPDPPolicyContainer() {
67 container.nextItemId(policy);
68 container.prevItemId(policy);
69 container.firstItemId();
70 container.lastItemId();
71 container.isFirstId(policy);
72 container.isLastId(policy);
73 container.addItemAfter(policy);
74 container.getContainerPropertyIds();
75 container.getItemIds();
76 container.getType("Id");
77 assertTrue(String.class.equals(String.class));
78 container.getType("Name");
79 assertTrue(String.class.equals(String.class));
80 container.getType("Version");
81 assertTrue(String.class.equals(String.class));
82 container.getType("Description");
83 assertTrue(String.class.equals(String.class));
84 container.getType("Root");
85 assertTrue(Boolean.class.equals(Boolean.class));
86 assertTrue(container.size() == 1);
87 container.containsId(policy);
88 container.removeItem(policy);
89 container.addContainerProperty(null, null, null);
90 container.removeContainerProperty(policy);
91 container.removeAllItems();
92 container.addItemAt(0);
95 @Test(expected = NullPointerException.class)
96 public void testConstructor() {
97 // Test PDP based constructor
98 PDP pdp = new StdPDP();
99 PDPPolicyContainer container1 = new PDPPolicyContainer(pdp);
100 assertNotNull(container1);
102 // Test set based constructor
103 Set<PDPPolicy> set = new HashSet<PDPPolicy>();
104 PDPPolicyContainer container2 = new PDPPolicyContainer(set);
105 assertNotNull(container2);
107 // Test object based constructor
108 PDPPolicyContainer container3 = new PDPPolicyContainer("testObject");
109 assertNotNull(container3);
112 @Test(expected = UnsupportedOperationException.class)
113 public void testAddItem() {
118 public void testGetters() {
119 assertNull(container.nextItemId("testItem"));
120 assertNull(container.prevItemId("testItem"));
121 assertNotNull(container.firstItemId());
122 assertNotNull(container.lastItemId());
123 assertEquals(container.indexOfId("testItem"), -1);
124 assertNotNull(container.getIdByIndex(0));
125 assertNotNull(container.getItemIds(0, 1));
129 public void testPDPPolicyItem() {
130 PDPPolicyItem item = container.new PDPPolicyItem(policy);
131 assertEquals("Config_test", item.getId());
132 assertEquals("Config_test.1.xml", item.getName());
133 assertEquals("1.0", item.getVersion());
134 assertEquals("testDescription", item.getDescription());
136 assertEquals(true, item.getRoot());