[java-identity-provider COMMIT] /trunk/idp-attribute-filter-impl/src/test/java/net/shibboleth/idp/attribute/filter/co...
noreply at shibboleth.net
noreply at shibboleth.net
Tue Oct 21 04:56:12 EDT 2014
Author: rdw
Date: Tue Oct 21 04:56:11 2014
New Revision: 6751
URL: http://svn.shibboleth.net/view/java-identity-provider?rev=6751&view=rev
Log:
SC197 more odd tests around matchers as policy and vice versa
Modified:
trunk/idp-attribute-filter-impl/src/test/java/net/shibboleth/idp/attribute/filter/complex/impl/TargettedAttributeValueFilterTest.java
Modified: trunk/idp-attribute-filter-impl/src/test/java/net/shibboleth/idp/attribute/filter/complex/impl/TargettedAttributeValueFilterTest.java
URL: http://svn.shibboleth.net/view/java-identity-provider/trunk/idp-attribute-filter-impl/src/test/java/net/shibboleth/idp/attribute/filter/complex/impl/TargettedAttributeValueFilterTest.java?rev=6751&r1=6750&r2=6751&view=diff
==============================================================================
--- trunk/idp-attribute-filter-impl/src/test/java/net/shibboleth/idp/attribute/filter/complex/impl/TargettedAttributeValueFilterTest.java (original)
+++ trunk/idp-attribute-filter-impl/src/test/java/net/shibboleth/idp/attribute/filter/complex/impl/TargettedAttributeValueFilterTest.java Tue Oct 21 04:56:11 2014
@@ -32,6 +32,7 @@
import net.shibboleth.idp.attribute.filter.context.AttributeFilterContext;
import net.shibboleth.idp.attribute.filter.impl.AttributeFilterImpl;
import net.shibboleth.idp.attribute.filter.matcher.impl.AttributeValueStringMatcher;
+import net.shibboleth.idp.attribute.filter.matcher.logic.impl.NotMatcher;
import net.shibboleth.idp.attribute.resolver.ResolutionException;
import net.shibboleth.utilities.java.support.component.ComponentInitializationException;
import net.shibboleth.utilities.java.support.component.ComponentSupport;
@@ -121,6 +122,68 @@
/**
* test the following policy.
+ *
+ <code>
+ <AttributeFilterPolicy id="targettedValueInEPA">
+ <PolicyRequirementRule xsi:type="basic:ANY" />
+ <AttributeRule attributeID="eduPersonAffiliation">
+ <PermitValueRule xsi:type="basic:Not">
+ <basic:Rule xsi:type="basic:AttributeValueString" value="jsmith" attributeId="uid" ignoreCase="true"/>
+ </PermitValueRule>
+ </AttributeRule>
+ <AttributeFilterPolicy/>
+ </code> which should return all values of eduPersonAffiliation when uid has a "jsmith"
+ *
+ */
+ @Test public void testTargettedNotPolicyRequirement() throws ComponentInitializationException, ResolutionException,
+ AttributeFilterException {
+
+ final AttributeRule attributeValueFilterPolicy = new AttributeRule();
+ attributeValueFilterPolicy.setId("test");
+ attributeValueFilterPolicy.setAttributeId("eduPersonAffiliation");
+ final NotMatcher notM = new NotMatcher(valueMatcher());
+ notM.setId("notM");
+ notM.initialize();
+ final PolicyFromMatcherId pfm = new PolicyFromMatcherId(notM, "uid");
+ pfm.setId("pfm");
+ final MatcherFromPolicy mfp = new MatcherFromPolicy(pfm);
+ mfp.setId("mfp");
+
+ attributeValueFilterPolicy.setMatcher(mfp);
+ attributeValueFilterPolicy.setIsDenyRule(false);
+
+ final AttributeFilterPolicy policy =
+ new AttributeFilterPolicy("targettedAtPermit", PolicyRequirementRule.MATCHES_ALL,
+ Collections.singleton(attributeValueFilterPolicy));
+
+ final AttributeFilter engine = new AttributeFilterImpl("engine", Collections.singleton(policy));
+
+ ComponentSupport.initialize(attributeValueFilterPolicy);
+ ComponentSupport.initialize(policy);
+ ComponentSupport.initialize(engine);
+
+ AttributeFilterContext context = new AttributeFilterContext();
+ context.setPrefilteredIdPAttributes(getIdPAttributes("epa-uidwithjsmith.xml").values());
+ engine.filterAttributes(context);
+ Map<String, IdPAttribute> attributes = context.getFilteredIdPAttributes();
+ IdPAttribute attribute = attributes.get("eduPersonAffiliation");
+ Assert.assertEquals(attribute.getValues().size(), 3);
+
+ context = new AttributeFilterContext();
+ context.setPrefilteredIdPAttributes(getIdPAttributes("uid-epawithjsmith.xml").values());
+ engine.filterAttributes(context);
+ attributes = context.getFilteredIdPAttributes();
+ Assert.assertEquals(attribute.getValues().size(), 3);
+
+ context = new AttributeFilterContext();
+ context.setPrefilteredIdPAttributes(getIdPAttributes("epa-uid.xml").values());
+ engine.filterAttributes(context);
+ attributes = context.getFilteredIdPAttributes();
+ Assert.assertEquals(attribute.getValues().size(), 3);
+ }
+
+ /**
+ * test the following policy.
<code>
<AttributeFilterPolicy id="targettedValueInEPA">
<PolicyRequirementRule xsi:type="basic:AttributeValueString" value="jsmith" attributeId="uid" ignoreCase="true"/>
More information about the commits
mailing list