[java-identity-provider COMMIT] /trunk/idp-attribute-filter-api/src/test/java/net/shibboleth/idp/attribute/filtering/...

noreply at shibboleth.net noreply at shibboleth.net
Wed Mar 21 15:01:40 GMT 2012


Author: rdw
Date: Wed Mar 21 15:01:40 2012
New Revision: 4128

URL: http://svn.shibboleth.net/view/java-identity-provider?rev=4128&view=rev
Log:
Enhance test coverage.  Phase 1

Modified:
    trunk/idp-attribute-filter-api/src/test/java/net/shibboleth/idp/attribute/filtering/AttributeFilteringEngineTest.java

Modified: trunk/idp-attribute-filter-api/src/test/java/net/shibboleth/idp/attribute/filtering/AttributeFilteringEngineTest.java
URL: http://svn.shibboleth.net/view/java-identity-provider/trunk/idp-attribute-filter-api/src/test/java/net/shibboleth/idp/attribute/filtering/AttributeFilteringEngineTest.java?rev=4128&r1=4127&r2=4128&view=diff
==============================================================================
--- trunk/idp-attribute-filter-api/src/test/java/net/shibboleth/idp/attribute/filtering/AttributeFilteringEngineTest.java (original)
+++ trunk/idp-attribute-filter-api/src/test/java/net/shibboleth/idp/attribute/filtering/AttributeFilteringEngineTest.java Wed Mar 21 15:01:40 2012
@@ -18,6 +18,8 @@
 package net.shibboleth.idp.attribute.filtering;
 
 import java.util.Arrays;
+import java.util.Map;
+import java.util.Set;
 
 import net.shibboleth.idp.attribute.Attribute;
 import net.shibboleth.idp.attribute.AttributeValue;
@@ -125,8 +127,94 @@
         engine.initialize();
 
         engine.filterAttributes(filterContext);
-        Assert.assertEquals(filterContext.getFilteredAttributes().size(), 1);
-    }
+        Map<String, Attribute> resultAttrs = filterContext.getFilteredAttributes();
+        Assert.assertEquals(resultAttrs.size(), 1);
+        Set<AttributeValue> result = resultAttrs.get("attribute1").getValues();
+        Assert.assertEquals(result.size(), 2);
+        Assert.assertTrue(result.contains(new StringAttributeValue("one")));
+        Assert.assertTrue(result.contains(new StringAttributeValue("two")));
+    }
+
+    @Test public void testAllMatcher() throws Exception {
+
+        AttributeValueFilterPolicy attribute1Policy = new AttributeValueFilterPolicy();
+        attribute1Policy.setAttributeId("attribute1");
+        attribute1Policy.setValueMatcher(AttributeValueMatcher.MATCHES_ALL);
+
+        AttributeFilterPolicy policy = new AttributeFilterPolicy("attribute1Policy", Predicates.alwaysTrue(), Lists.newArrayList(attribute1Policy));
+
+        AttributeFilterContext filterContext = new AttributeFilterContext();
+
+        Attribute attribute1 = new Attribute("attribute1");
+        attribute1.setValues(Lists.<AttributeValue>newArrayList(new StringAttributeValue("one"), new StringAttributeValue("two")));
+        filterContext.getPrefilteredAttributes().put(attribute1.getId(), attribute1);
+
+        AttributeFilteringEngine engine = new AttributeFilteringEngine("engine", Lists.newArrayList(policy));
+        engine.initialize();
+
+        engine.filterAttributes(filterContext);
+        Set<AttributeValue> result = filterContext.getFilteredAttributes().get("attribute1").getValues();
+        Assert.assertEquals(result.size(), 2);
+        Assert.assertTrue(result.contains(new StringAttributeValue("one")));
+        Assert.assertTrue(result.contains(new StringAttributeValue("two")));
+    }
+
+    @Test public void testNoneMatcher() throws Exception {
+
+        AttributeValueFilterPolicy attribute1Policy = new AttributeValueFilterPolicy();
+        attribute1Policy.setAttributeId("attribute1");
+        attribute1Policy.setValueMatcher(AttributeValueMatcher.MATCHES_NONE);
+
+        AttributeFilterPolicy policy = new AttributeFilterPolicy("attribute1Policy", Predicates.alwaysTrue(), Lists.newArrayList(attribute1Policy));
+
+        AttributeFilterContext filterContext = new AttributeFilterContext();
+
+        Attribute attribute1 = new Attribute("attribute1");
+        attribute1.setValues(Lists.<AttributeValue>newArrayList(new StringAttributeValue("one"), new StringAttributeValue("two")));
+        filterContext.getPrefilteredAttributes().put(attribute1.getId(), attribute1);
+
+        AttributeFilteringEngine engine = new AttributeFilteringEngine("engine", Lists.newArrayList(policy));
+        engine.initialize();
+
+        engine.filterAttributes(filterContext);
+        Assert.assertTrue(filterContext.getFilteredAttributes().isEmpty());
+    }
+
+    @Test public void testDenyFilterAttributes() throws Exception {
+        MockAttributeValueMatcher deny = new MockAttributeValueMatcher();
+        deny.setMatchingAttribute("attribute1");
+        deny.setMatchingValues(Arrays.asList(new StringAttributeValue("one")));
+
+        AttributeValueFilterPolicy denyPolicy = new AttributeValueFilterPolicy();
+        denyPolicy.setAttributeId("attribute1");
+        denyPolicy.setMatchingPermittedValues(false);
+        denyPolicy.setValueMatcher(deny);
+        
+        AttributeValueFilterPolicy allowPolicy = new AttributeValueFilterPolicy();
+        allowPolicy.setAttributeId("attribute1");
+        allowPolicy.setValueMatcher(AttributeValueMatcher.MATCHES_ALL);
+
+

[... 24 lines stripped ...]


More information about the commits mailing list