aboutsummaryrefslogtreecommitdiffstats
path: root/models-pdp/src/test/java
diff options
context:
space:
mode:
authorJim Hahn <jrh3@att.com>2019-11-21 14:59:52 -0500
committerJim Hahn <jrh3@att.com>2019-11-21 15:09:15 -0500
commite9a04a92d419bc936fa231397a58e72f4d1c14c6 (patch)
treea01299ca4cddaa759e73889a01efb41299f0231b /models-pdp/src/test/java
parent37bd15efd41962e237575ea0c26728e5040abbe1 (diff)
Allow wild cards in supported type filter
PAP was rejecting deployment of policies whose supported type contained a wild card. This was due to the fact that it was querying the Pdp Groups using a filter on the supported type, which did not take wild cards into consideration. Updated the filtering. Change-Id: I50b3202a00ac85ff09a9861d8bbe1efb6dd49ae3 Issue-ID: POLICY-1636 Signed-off-by: Jim Hahn <jrh3@att.com>
Diffstat (limited to 'models-pdp/src/test/java')
-rw-r--r--models-pdp/src/test/java/org/onap/policy/models/pdp/concepts/PdpGroupFilterTest.java39
1 files changed, 38 insertions, 1 deletions
diff --git a/models-pdp/src/test/java/org/onap/policy/models/pdp/concepts/PdpGroupFilterTest.java b/models-pdp/src/test/java/org/onap/policy/models/pdp/concepts/PdpGroupFilterTest.java
index 808bfe7d4..9ffb0f41d 100644
--- a/models-pdp/src/test/java/org/onap/policy/models/pdp/concepts/PdpGroupFilterTest.java
+++ b/models-pdp/src/test/java/org/onap/policy/models/pdp/concepts/PdpGroupFilterTest.java
@@ -27,7 +27,7 @@ import static org.junit.Assert.assertTrue;
import java.util.ArrayList;
import java.util.List;
-
+import java.util.stream.Collectors;
import org.junit.Before;
import org.junit.Test;
import org.onap.policy.common.utils.coder.CoderException;
@@ -183,6 +183,22 @@ public class PdpGroupFilterTest {
assertEquals(0, filteredList.size());
identifierList.clear();
+ // don't match wild cards
+ identifierList.add(new ToscaPolicyTypeIdentifier(NON_EXISTANT, VERSION1));
+ filter = PdpGroupFilter.builder().policyTypeList(identifierList).build();
+ final List<PdpGroup> wildCards =
+ pdpGroupList.stream().map(this::makeWildCardPolicyTypes).collect(Collectors.toList());
+ filteredList = filter.filter(wildCards);
+ assertEquals(0, filteredList.size());
+ identifierList.clear();
+
+ // match wild cards
+ identifierList.add(new ToscaPolicyTypeIdentifier(POLICY_TYPE0, VERSION1));
+ filter = PdpGroupFilter.builder().policyTypeList(identifierList).build();
+ filteredList = filter.filter(wildCards);
+ assertEquals(4, filteredList.size());
+ identifierList.clear();
+
identifierList.add(new ToscaPolicyTypeIdentifier(POLICY_TYPE0, VERSION1));
filter = PdpGroupFilter.builder().policyTypeList(identifierList).build();
filteredList = filter.filter(pdpGroupList);
@@ -251,6 +267,27 @@ public class PdpGroupFilterTest {
assertEquals(1, filteredList.size());
}
+ /**
+ * Makes a clone of a PdpGroup, changing all occurrences of supported policy type,
+ * "policy.type.0", to a wild card type, "policy.type.*".
+ *
+ * @param group group to be cloned
+ * @return a new PdpGroup containing wild card policy types
+ */
+ private PdpGroup makeWildCardPolicyTypes(PdpGroup group) {
+ PdpGroup newGroup = new PdpGroup(group);
+
+ for (PdpSubGroup subgroup : newGroup.getPdpSubgroups()) {
+ for (ToscaPolicyTypeIdentifier subType : subgroup.getSupportedPolicyTypes()) {
+ if (POLICY_TYPE0.equals(subType.getName())) {
+ subType.setName("policy.type.*");
+ }
+ }
+ }
+
+ return newGroup;
+ }
+
@Test
public void testFilterPolicy() {
List<ToscaPolicyIdentifier> identifierList = new ArrayList<>();