[java-identity-provider] branch master updated: Refactor and complete schema/parser/tests for issuer EA rules.
Scott Cantor
cantor.2 at osu.edu
Thu May 23 08:44:06 EDT 2019
This is an automated email from the git hooks/post-receive script.
scantor pushed a commit to branch master
in repository java-identity-provider.
View the commit online:
http://git.shibboleth.net/view/?p=java-identity-provider.git;a=commit;h=386b3e0b935c6011eb6145d3d12e9f2bd5068fa7
The following commit(s) were added to refs/heads/master by this push:
new 386b3e0 Refactor and complete schema/parser/tests for issuer EA rules.
386b3e0 is described below
commit 386b3e0b935c6011eb6145d3d12e9f2bd5068fa7
Author: Scott Cantor <cantor.2 at osu.edu>
AuthorDate: Thu May 23 08:44:04 2019 -0400
Refactor and complete schema/parser/tests for issuer EA rules.
---
.../impl/AttributeFilterNamespaceHandler.java | 8 ++++++
...=> AbstractEntityAttributeExactRuleParser.java} | 17 ++----------
...=> AbstractEntityAttributeRegexRuleParser.java} | 21 +++-----------
...ibuteIssuerEntityAttributeExactRuleParser.java} | 27 ++++++------------
...ibuteIssuerEntityAttributeRegexRuleParser.java} | 28 ++++++-------------
...uteRequesterEntityAttributeExactRuleParser.java | 17 ++----------
...uteRequesterEntityAttributeRegexRuleParser.java | 17 ++----------
...eIssuerEntityAttributeExactRuleParserTest.java} | 11 ++++----
...eIssuerEntityAttributeRegexRuleParserTest.java} | 15 ++++------
...equesterEntityAttributeExactRuleParserTest.java | 3 +-
.../idp/attribute/filter/policyrule/issuerEA2.xml | 8 ++++++
.../attribute/filter/policyrule/issuerEARegex2.xml | 6 ++++
.../src/main/resources/schema/shibboleth-afp.xsd | 32 +++++++++++++++++++---
13 files changed, 91 insertions(+), 119 deletions(-)
diff --git a/idp-attribute-filter-spring/src/main/java/net/shibboleth/idp/attribute/filter/spring/impl/AttributeFilterNamespaceHandler.java b/idp-attribute-filter-spring/src/main/java/net/shibboleth/idp/attribute/filter/spring/impl/AttributeFilterNamespaceHandler.java
index 16139e6..84ab742 100644
--- a/idp-attribute-filter-spring/src/main/java/net/shibboleth/idp/attribute/filter/spring/impl/AttributeFilterNamespaceHandler.java
+++ b/idp-attribute-filter-spring/src/main/java/net/shibboleth/idp/attribute/filter/spring/impl/AttributeFilterNamespaceHandler.java
@@ -41,6 +41,8 @@ import net.shibboleth.idp.attribute.filter.spring.policyrule.impl.PrincipalNameR
import net.shibboleth.idp.attribute.filter.spring.policyrule.impl.ProxiedRequesterRegexRuleParser;
import net.shibboleth.idp.attribute.filter.spring.policyrule.impl.ProxiedRequesterRuleParser;
import net.shibboleth.idp.attribute.filter.spring.saml.impl.AttributeInMetadataRuleParser;
+import net.shibboleth.idp.attribute.filter.spring.saml.impl.AttributeIssuerEntityAttributeExactRuleParser;
+import net.shibboleth.idp.attribute.filter.spring.saml.impl.AttributeIssuerEntityAttributeRegexRuleParser;
import net.shibboleth.idp.attribute.filter.spring.saml.impl.AttributeRequesterEntityAttributeExactRuleParser;
import net.shibboleth.idp.attribute.filter.spring.saml.impl.AttributeRequesterEntityAttributeRegexRuleParser;
import net.shibboleth.idp.attribute.filter.spring.saml.impl.AttributeRequesterInEntityGroupRuleParser;
@@ -121,9 +123,15 @@ public class AttributeFilterNamespaceHandler extends BaseSpringNamespaceHandler
registerBeanDefinitionParser(AttributeRequesterEntityAttributeExactRuleParser.SCHEMA_TYPE,
new AttributeRequesterEntityAttributeExactRuleParser());
+ registerBeanDefinitionParser(AttributeIssuerEntityAttributeExactRuleParser.SCHEMA_TYPE,
+ new AttributeIssuerEntityAttributeExactRuleParser());
+
registerBeanDefinitionParser(AttributeRequesterEntityAttributeRegexRuleParser.SCHEMA_TYPE,
new AttributeRequesterEntityAttributeRegexRuleParser());
+ registerBeanDefinitionParser(AttributeIssuerEntityAttributeRegexRuleParser.SCHEMA_TYPE,
+ new AttributeIssuerEntityAttributeRegexRuleParser());
+
registerBeanDefinitionParser(AttributeRequesterNameIdFormatRuleParser.SCHEMA_TYPE,
new AttributeRequesterNameIdFormatRuleParser());
diff --git a/idp-attribute-filter-spring/src/main/java/net/shibboleth/idp/attribute/filter/spring/saml/impl/AttributeRequesterEntityAttributeExactRuleParser.java b/idp-attribute-filter-spring/src/main/java/net/shibboleth/idp/attribute/filter/spring/saml/impl/AbstractEntityAttributeExactRuleParser.java
similarity index 66%
copy from idp-attribute-filter-spring/src/main/java/net/shibboleth/idp/attribute/filter/spring/saml/impl/AttributeRequesterEntityAttributeExactRuleParser.java
copy to idp-attribute-filter-spring/src/main/java/net/shibboleth/idp/attribute/filter/spring/saml/impl/AbstractEntityAttributeExactRuleParser.java
index e40a5ea..2c04fc3 100644
--- a/idp-attribute-filter-spring/src/main/java/net/shibboleth/idp/attribute/filter/spring/saml/impl/AttributeRequesterEntityAttributeExactRuleParser.java
+++ b/idp-attribute-filter-spring/src/main/java/net/shibboleth/idp/attribute/filter/spring/saml/impl/AbstractEntityAttributeExactRuleParser.java
@@ -18,28 +18,15 @@
package net.shibboleth.idp.attribute.filter.spring.saml.impl;
import javax.annotation.Nonnull;
-import javax.xml.namespace.QName;
-
-import net.shibboleth.idp.attribute.filter.policyrule.saml.impl.AttributeRequesterEntityAttributeExactPolicyRule;
-import net.shibboleth.idp.attribute.filter.spring.BaseFilterParser;
import org.springframework.beans.factory.support.BeanDefinitionBuilder;
import org.springframework.beans.factory.xml.ParserContext;
import org.w3c.dom.Element;
/**
- * Parser for {@link AttributeRequesterEntityAttributeExactPolicyRule}.
+ * Parser for EntityAttributeExactPolicyRule types.
*/
-public class AttributeRequesterEntityAttributeExactRuleParser extends AbstractEntityAttributeRuleParser {
-
- /** Schema type. */
- public static final QName SCHEMA_TYPE = new QName(BaseFilterParser.NAMESPACE,
- "EntityAttributeExactMatch");
-
- @Override @Nonnull protected Class<AttributeRequesterEntityAttributeExactPolicyRule> getNativeBeanClass() {
-
- return AttributeRequesterEntityAttributeExactPolicyRule.class;
- }
+public abstract class AbstractEntityAttributeExactRuleParser extends AbstractEntityAttributeRuleParser {
/** {@inheritDoc} */
@Override protected void doNativeParse(@Nonnull final Element element, @Nonnull final ParserContext parserContext,
diff --git a/idp-attribute-filter-spring/src/main/java/net/shibboleth/idp/attribute/filter/spring/saml/impl/AttributeRequesterEntityAttributeRegexRuleParser.java b/idp-attribute-filter-spring/src/main/java/net/shibboleth/idp/attribute/filter/spring/saml/impl/AbstractEntityAttributeRegexRuleParser.java
similarity index 66%
copy from idp-attribute-filter-spring/src/main/java/net/shibboleth/idp/attribute/filter/spring/saml/impl/AttributeRequesterEntityAttributeRegexRuleParser.java
copy to idp-attribute-filter-spring/src/main/java/net/shibboleth/idp/attribute/filter/spring/saml/impl/AbstractEntityAttributeRegexRuleParser.java
index b92549f..d037825 100644
--- a/idp-attribute-filter-spring/src/main/java/net/shibboleth/idp/attribute/filter/spring/saml/impl/AttributeRequesterEntityAttributeRegexRuleParser.java
+++ b/idp-attribute-filter-spring/src/main/java/net/shibboleth/idp/attribute/filter/spring/saml/impl/AbstractEntityAttributeRegexRuleParser.java
@@ -18,29 +18,15 @@
package net.shibboleth.idp.attribute.filter.spring.saml.impl;
import javax.annotation.Nonnull;
-import javax.xml.namespace.QName;
-
-import net.shibboleth.idp.attribute.filter.policyrule.saml.impl.AttributeRequesterEntityAttributeRegexPolicyRule;
-import net.shibboleth.idp.attribute.filter.spring.BaseFilterParser;
import org.springframework.beans.factory.support.BeanDefinitionBuilder;
import org.springframework.beans.factory.xml.ParserContext;
import org.w3c.dom.Element;
/**
- * Parser for {@link AttributeRequesterEntityAttributeRegexPolicyRule}.
+ * Parser for EntityAttributeRegexPolicyRule types.
*/
-public class AttributeRequesterEntityAttributeRegexRuleParser extends AbstractEntityAttributeRuleParser {
-
- /** Schema type. */
- public static final QName SCHEMA_TYPE = new QName(BaseFilterParser.NAMESPACE,
- "EntityAttributeRegexMatch");
-
- /** {@inheritDoc} */
- @Override @Nonnull protected Class<AttributeRequesterEntityAttributeRegexPolicyRule> getNativeBeanClass() {
-
- return AttributeRequesterEntityAttributeRegexPolicyRule.class;
- }
+public abstract class AbstractEntityAttributeRegexRuleParser extends AbstractEntityAttributeRuleParser {
/** {@inheritDoc} */
@Override protected void doNativeParse(@Nonnull final Element element, @Nonnull final ParserContext parserContext,
@@ -49,4 +35,5 @@ public class AttributeRequesterEntityAttributeRegexRuleParser extends AbstractEn
builder.addPropertyValue("valueRegex", element.getAttributeNS(null, "attributeValueRegex"));
}
-}
+
+}
\ No newline at end of file
diff --git a/idp-attribute-filter-spring/src/main/java/net/shibboleth/idp/attribute/filter/spring/saml/impl/AttributeRequesterEntityAttributeExactRuleParser.java b/idp-attribute-filter-spring/src/main/java/net/shibboleth/idp/attribute/filter/spring/saml/impl/AttributeIssuerEntityAttributeExactRuleParser.java
similarity index 51%
copy from idp-attribute-filter-spring/src/main/java/net/shibboleth/idp/attribute/filter/spring/saml/impl/AttributeRequesterEntityAttributeExactRuleParser.java
copy to idp-attribute-filter-spring/src/main/java/net/shibboleth/idp/attribute/filter/spring/saml/impl/AttributeIssuerEntityAttributeExactRuleParser.java
index e40a5ea..856b45a 100644
--- a/idp-attribute-filter-spring/src/main/java/net/shibboleth/idp/attribute/filter/spring/saml/impl/AttributeRequesterEntityAttributeExactRuleParser.java
+++ b/idp-attribute-filter-spring/src/main/java/net/shibboleth/idp/attribute/filter/spring/saml/impl/AttributeIssuerEntityAttributeExactRuleParser.java
@@ -20,32 +20,21 @@ package net.shibboleth.idp.attribute.filter.spring.saml.impl;
import javax.annotation.Nonnull;
import javax.xml.namespace.QName;
-import net.shibboleth.idp.attribute.filter.policyrule.saml.impl.AttributeRequesterEntityAttributeExactPolicyRule;
+import net.shibboleth.idp.attribute.filter.policyrule.saml.impl.AttributeIssuerEntityAttributeExactPolicyRule;
import net.shibboleth.idp.attribute.filter.spring.BaseFilterParser;
-import org.springframework.beans.factory.support.BeanDefinitionBuilder;
-import org.springframework.beans.factory.xml.ParserContext;
-import org.w3c.dom.Element;
-
/**
- * Parser for {@link AttributeRequesterEntityAttributeExactPolicyRule}.
+ * Parser for {@link AttributeIssuerEntityAttributeExactPolicyRule}.
*/
-public class AttributeRequesterEntityAttributeExactRuleParser extends AbstractEntityAttributeRuleParser {
+public class AttributeIssuerEntityAttributeExactRuleParser extends AbstractEntityAttributeExactRuleParser {
/** Schema type. */
- public static final QName SCHEMA_TYPE = new QName(BaseFilterParser.NAMESPACE,
- "EntityAttributeExactMatch");
+ @Nonnull public static final QName SCHEMA_TYPE = new QName(BaseFilterParser.NAMESPACE,
+ "IssuerEntityAttributeExactMatch");
- @Override @Nonnull protected Class<AttributeRequesterEntityAttributeExactPolicyRule> getNativeBeanClass() {
+ @Override @Nonnull protected Class<AttributeIssuerEntityAttributeExactPolicyRule> getNativeBeanClass() {
- return AttributeRequesterEntityAttributeExactPolicyRule.class;
+ return AttributeIssuerEntityAttributeExactPolicyRule.class;
}
- /** {@inheritDoc} */
- @Override protected void doNativeParse(@Nonnull final Element element, @Nonnull final ParserContext parserContext,
- @Nonnull final BeanDefinitionBuilder builder) {
- super.doNativeParse(element, parserContext, builder);
-
- builder.addPropertyValue("value", element.getAttributeNS(null, "attributeValue"));
- }
-}
+}
\ No newline at end of file
diff --git a/idp-attribute-filter-spring/src/main/java/net/shibboleth/idp/attribute/filter/spring/saml/impl/AttributeRequesterEntityAttributeExactRuleParser.java b/idp-attribute-filter-spring/src/main/java/net/shibboleth/idp/attribute/filter/spring/saml/impl/AttributeIssuerEntityAttributeRegexRuleParser.java
similarity index 53%
copy from idp-attribute-filter-spring/src/main/java/net/shibboleth/idp/attribute/filter/spring/saml/impl/AttributeRequesterEntityAttributeExactRuleParser.java
copy to idp-attribute-filter-spring/src/main/java/net/shibboleth/idp/attribute/filter/spring/saml/impl/AttributeIssuerEntityAttributeRegexRuleParser.java
index e40a5ea..31dc2d7 100644
--- a/idp-attribute-filter-spring/src/main/java/net/shibboleth/idp/attribute/filter/spring/saml/impl/AttributeRequesterEntityAttributeExactRuleParser.java
+++ b/idp-attribute-filter-spring/src/main/java/net/shibboleth/idp/attribute/filter/spring/saml/impl/AttributeIssuerEntityAttributeRegexRuleParser.java
@@ -20,32 +20,22 @@ package net.shibboleth.idp.attribute.filter.spring.saml.impl;
import javax.annotation.Nonnull;
import javax.xml.namespace.QName;
-import net.shibboleth.idp.attribute.filter.policyrule.saml.impl.AttributeRequesterEntityAttributeExactPolicyRule;
+import net.shibboleth.idp.attribute.filter.policyrule.saml.impl.AttributeIssuerEntityAttributeRegexPolicyRule;
import net.shibboleth.idp.attribute.filter.spring.BaseFilterParser;
-import org.springframework.beans.factory.support.BeanDefinitionBuilder;
-import org.springframework.beans.factory.xml.ParserContext;
-import org.w3c.dom.Element;
-
/**
- * Parser for {@link AttributeRequesterEntityAttributeExactPolicyRule}.
+ * Parser for {@link AttributeIssuerEntityAttributeRegexPolicyRule}.
*/
-public class AttributeRequesterEntityAttributeExactRuleParser extends AbstractEntityAttributeRuleParser {
+public class AttributeIssuerEntityAttributeRegexRuleParser extends AbstractEntityAttributeRegexRuleParser {
/** Schema type. */
- public static final QName SCHEMA_TYPE = new QName(BaseFilterParser.NAMESPACE,
- "EntityAttributeExactMatch");
-
- @Override @Nonnull protected Class<AttributeRequesterEntityAttributeExactPolicyRule> getNativeBeanClass() {
-
- return AttributeRequesterEntityAttributeExactPolicyRule.class;
- }
+ @Nonnull public static final QName SCHEMA_TYPE = new QName(BaseFilterParser.NAMESPACE,
+ "IssuerEntityAttributeRegexMatch");
/** {@inheritDoc} */
- @Override protected void doNativeParse(@Nonnull final Element element, @Nonnull final ParserContext parserContext,
- @Nonnull final BeanDefinitionBuilder builder) {
- super.doNativeParse(element, parserContext, builder);
+ @Override @Nonnull protected Class<AttributeIssuerEntityAttributeRegexPolicyRule> getNativeBeanClass() {
- builder.addPropertyValue("value", element.getAttributeNS(null, "attributeValue"));
+ return AttributeIssuerEntityAttributeRegexPolicyRule.class;
}
-}
+
+}
\ No newline at end of file
diff --git a/idp-attribute-filter-spring/src/main/java/net/shibboleth/idp/attribute/filter/spring/saml/impl/AttributeRequesterEntityAttributeExactRuleParser.java b/idp-attribute-filter-spring/src/main/java/net/shibboleth/idp/attribute/filter/spring/saml/impl/AttributeRequesterEntityAttributeExactRuleParser.java
index e40a5ea..061d36e 100644
--- a/idp-attribute-filter-spring/src/main/java/net/shibboleth/idp/attribute/filter/spring/saml/impl/AttributeRequesterEntityAttributeExactRuleParser.java
+++ b/idp-attribute-filter-spring/src/main/java/net/shibboleth/idp/attribute/filter/spring/saml/impl/AttributeRequesterEntityAttributeExactRuleParser.java
@@ -23,17 +23,13 @@ import javax.xml.namespace.QName;
import net.shibboleth.idp.attribute.filter.policyrule.saml.impl.AttributeRequesterEntityAttributeExactPolicyRule;
import net.shibboleth.idp.attribute.filter.spring.BaseFilterParser;
-import org.springframework.beans.factory.support.BeanDefinitionBuilder;
-import org.springframework.beans.factory.xml.ParserContext;
-import org.w3c.dom.Element;
-
/**
* Parser for {@link AttributeRequesterEntityAttributeExactPolicyRule}.
*/
-public class AttributeRequesterEntityAttributeExactRuleParser extends AbstractEntityAttributeRuleParser {
+public class AttributeRequesterEntityAttributeExactRuleParser extends AbstractEntityAttributeExactRuleParser {
/** Schema type. */
- public static final QName SCHEMA_TYPE = new QName(BaseFilterParser.NAMESPACE,
+ @Nonnull public static final QName SCHEMA_TYPE = new QName(BaseFilterParser.NAMESPACE,
"EntityAttributeExactMatch");
@Override @Nonnull protected Class<AttributeRequesterEntityAttributeExactPolicyRule> getNativeBeanClass() {
@@ -41,11 +37,4 @@ public class AttributeRequesterEntityAttributeExactRuleParser extends AbstractEn
return AttributeRequesterEntityAttributeExactPolicyRule.class;
}
- /** {@inheritDoc} */
- @Override protected void doNativeParse(@Nonnull final Element element, @Nonnull final ParserContext parserContext,
- @Nonnull final BeanDefinitionBuilder builder) {
- super.doNativeParse(element, parserContext, builder);
-
- builder.addPropertyValue("value", element.getAttributeNS(null, "attributeValue"));
- }
-}
+}
\ No newline at end of file
diff --git a/idp-attribute-filter-spring/src/main/java/net/shibboleth/idp/attribute/filter/spring/saml/impl/AttributeRequesterEntityAttributeRegexRuleParser.java b/idp-attribute-filter-spring/src/main/java/net/shibboleth/idp/attribute/filter/spring/saml/impl/AttributeRequesterEntityAttributeRegexRuleParser.java
index b92549f..44aa186 100644
--- a/idp-attribute-filter-spring/src/main/java/net/shibboleth/idp/attribute/filter/spring/saml/impl/AttributeRequesterEntityAttributeRegexRuleParser.java
+++ b/idp-attribute-filter-spring/src/main/java/net/shibboleth/idp/attribute/filter/spring/saml/impl/AttributeRequesterEntityAttributeRegexRuleParser.java
@@ -23,17 +23,13 @@ import javax.xml.namespace.QName;
import net.shibboleth.idp.attribute.filter.policyrule.saml.impl.AttributeRequesterEntityAttributeRegexPolicyRule;
import net.shibboleth.idp.attribute.filter.spring.BaseFilterParser;
-import org.springframework.beans.factory.support.BeanDefinitionBuilder;
-import org.springframework.beans.factory.xml.ParserContext;
-import org.w3c.dom.Element;
-
/**
* Parser for {@link AttributeRequesterEntityAttributeRegexPolicyRule}.
*/
-public class AttributeRequesterEntityAttributeRegexRuleParser extends AbstractEntityAttributeRuleParser {
+public class AttributeRequesterEntityAttributeRegexRuleParser extends AbstractEntityAttributeRegexRuleParser {
/** Schema type. */
- public static final QName SCHEMA_TYPE = new QName(BaseFilterParser.NAMESPACE,
+ @Nonnull public static final QName SCHEMA_TYPE = new QName(BaseFilterParser.NAMESPACE,
"EntityAttributeRegexMatch");
/** {@inheritDoc} */
@@ -42,11 +38,4 @@ public class AttributeRequesterEntityAttributeRegexRuleParser extends AbstractEn
return AttributeRequesterEntityAttributeRegexPolicyRule.class;
}
- /** {@inheritDoc} */
- @Override protected void doNativeParse(@Nonnull final Element element, @Nonnull final ParserContext parserContext,
- @Nonnull final BeanDefinitionBuilder builder) {
- super.doNativeParse(element, parserContext, builder);
-
- builder.addPropertyValue("valueRegex", element.getAttributeNS(null, "attributeValueRegex"));
- }
-}
+}
\ No newline at end of file
diff --git a/idp-attribute-filter-spring/src/test/java/net/shibboleth/idp/attribute/filter/spring/saml/AttributeRequesterEntityAttributeExactRuleParserTest.java b/idp-attribute-filter-spring/src/test/java/net/shibboleth/idp/attribute/filter/spring/saml/AttributeIssuerEntityAttributeExactRuleParserTest.java
similarity index 74%
copy from idp-attribute-filter-spring/src/test/java/net/shibboleth/idp/attribute/filter/spring/saml/AttributeRequesterEntityAttributeExactRuleParserTest.java
copy to idp-attribute-filter-spring/src/test/java/net/shibboleth/idp/attribute/filter/spring/saml/AttributeIssuerEntityAttributeExactRuleParserTest.java
index 6bf4453..0e3624f 100644
--- a/idp-attribute-filter-spring/src/test/java/net/shibboleth/idp/attribute/filter/spring/saml/AttributeRequesterEntityAttributeExactRuleParserTest.java
+++ b/idp-attribute-filter-spring/src/test/java/net/shibboleth/idp/attribute/filter/spring/saml/AttributeIssuerEntityAttributeExactRuleParserTest.java
@@ -21,19 +21,18 @@ import static org.testng.Assert.*;
import org.testng.annotations.Test;
-import net.shibboleth.idp.attribute.filter.policyrule.saml.impl.AttributeRequesterEntityAttributeExactPolicyRule;
+import net.shibboleth.idp.attribute.filter.policyrule.saml.impl.AttributeIssuerEntityAttributeExactPolicyRule;
import net.shibboleth.idp.attribute.filter.spring.BaseAttributeFilterParserTest;
-import net.shibboleth.idp.attribute.filter.spring.saml.impl.AttributeRequesterEntityAttributeRegexRuleParser;
import net.shibboleth.utilities.java.support.component.ComponentInitializationException;
/**
- * test for {@link AttributeRequesterEntityAttributeRegexRuleParser}.
+ * test for {@link AttributeIssuerEntityAttributeExactRuleParser}.
*/
-public class AttributeRequesterEntityAttributeExactRuleParserTest extends BaseAttributeFilterParserTest {
+public class AttributeIssuerEntityAttributeExactRuleParserTest extends BaseAttributeFilterParserTest {
@Test public void basic() throws ComponentInitializationException {
- AttributeRequesterEntityAttributeExactPolicyRule rule =
- (AttributeRequesterEntityAttributeExactPolicyRule) getPolicyRule("requesterEA2.xml");
+ AttributeIssuerEntityAttributeExactPolicyRule rule =
+ (AttributeIssuerEntityAttributeExactPolicyRule) getPolicyRule("issuerEA2.xml");
assertEquals(rule.getValue(), "urn:example.org:policy:ABCD1234");
assertEquals(rule.getAttributeName(), "urn:example.org:policy");
diff --git a/idp-attribute-filter-spring/src/test/java/net/shibboleth/idp/attribute/filter/spring/saml/AttributeRequesterEntityAttributeExactRuleParserTest.java b/idp-attribute-filter-spring/src/test/java/net/shibboleth/idp/attribute/filter/spring/saml/AttributeIssuerEntityAttributeRegexRuleParserTest.java
similarity index 68%
copy from idp-attribute-filter-spring/src/test/java/net/shibboleth/idp/attribute/filter/spring/saml/AttributeRequesterEntityAttributeExactRuleParserTest.java
copy to idp-attribute-filter-spring/src/test/java/net/shibboleth/idp/attribute/filter/spring/saml/AttributeIssuerEntityAttributeRegexRuleParserTest.java
index 6bf4453..5948492 100644
--- a/idp-attribute-filter-spring/src/test/java/net/shibboleth/idp/attribute/filter/spring/saml/AttributeRequesterEntityAttributeExactRuleParserTest.java
+++ b/idp-attribute-filter-spring/src/test/java/net/shibboleth/idp/attribute/filter/spring/saml/AttributeIssuerEntityAttributeRegexRuleParserTest.java
@@ -21,23 +21,20 @@ import static org.testng.Assert.*;
import org.testng.annotations.Test;
-import net.shibboleth.idp.attribute.filter.policyrule.saml.impl.AttributeRequesterEntityAttributeExactPolicyRule;
+import net.shibboleth.idp.attribute.filter.policyrule.saml.impl.AttributeIssuerEntityAttributeRegexPolicyRule;
import net.shibboleth.idp.attribute.filter.spring.BaseAttributeFilterParserTest;
-import net.shibboleth.idp.attribute.filter.spring.saml.impl.AttributeRequesterEntityAttributeRegexRuleParser;
import net.shibboleth.utilities.java.support.component.ComponentInitializationException;
/**
- * test for {@link AttributeRequesterEntityAttributeRegexRuleParser}.
+ * test for {@link AttributeIssuerEntityAttributeRegexRuleParser}.
*/
-public class AttributeRequesterEntityAttributeExactRuleParserTest extends BaseAttributeFilterParserTest {
+public class AttributeIssuerEntityAttributeRegexRuleParserTest extends BaseAttributeFilterParserTest {
@Test public void basic() throws ComponentInitializationException {
- AttributeRequesterEntityAttributeExactPolicyRule rule =
- (AttributeRequesterEntityAttributeExactPolicyRule) getPolicyRule("requesterEA2.xml");
-
- assertEquals(rule.getValue(), "urn:example.org:policy:ABCD1234");
+ final AttributeIssuerEntityAttributeRegexPolicyRule rule = (AttributeIssuerEntityAttributeRegexPolicyRule) getPolicyRule("issuerEARegex2.xml");
+ assertEquals(rule.getValueRegex().pattern(), "^urn:example\\.org:policy:[^:]*$");
assertEquals(rule.getAttributeName(), "urn:example.org:policy");
- assertTrue(rule.getIgnoreUnmappedEntityAttributes());
+ assertFalse(rule.getIgnoreUnmappedEntityAttributes());
}
}
\ No newline at end of file
diff --git a/idp-attribute-filter-spring/src/test/java/net/shibboleth/idp/attribute/filter/spring/saml/AttributeRequesterEntityAttributeExactRuleParserTest.java b/idp-attribute-filter-spring/src/test/java/net/shibboleth/idp/attribute/filter/spring/saml/AttributeRequesterEntityAttributeExactRuleParserTest.java
index 6bf4453..9899b1b 100644
--- a/idp-attribute-filter-spring/src/test/java/net/shibboleth/idp/attribute/filter/spring/saml/AttributeRequesterEntityAttributeExactRuleParserTest.java
+++ b/idp-attribute-filter-spring/src/test/java/net/shibboleth/idp/attribute/filter/spring/saml/AttributeRequesterEntityAttributeExactRuleParserTest.java
@@ -23,11 +23,10 @@ import org.testng.annotations.Test;
import net.shibboleth.idp.attribute.filter.policyrule.saml.impl.AttributeRequesterEntityAttributeExactPolicyRule;
import net.shibboleth.idp.attribute.filter.spring.BaseAttributeFilterParserTest;
-import net.shibboleth.idp.attribute.filter.spring.saml.impl.AttributeRequesterEntityAttributeRegexRuleParser;
import net.shibboleth.utilities.java.support.component.ComponentInitializationException;
/**
- * test for {@link AttributeRequesterEntityAttributeRegexRuleParser}.
+ * test for {@link AttributeRequesterEntityAttributeExactRuleParser}.
*/
public class AttributeRequesterEntityAttributeExactRuleParserTest extends BaseAttributeFilterParserTest {
diff --git a/idp-attribute-filter-spring/src/test/resources/net/shibboleth/idp/attribute/filter/policyrule/issuerEA2.xml b/idp-attribute-filter-spring/src/test/resources/net/shibboleth/idp/attribute/filter/policyrule/issuerEA2.xml
new file mode 100644
index 0000000..4a63012
--- /dev/null
+++ b/idp-attribute-filter-spring/src/test/resources/net/shibboleth/idp/attribute/filter/policyrule/issuerEA2.xml
@@ -0,0 +1,8 @@
+<AttributeFilterPolicy id="MostBasicExample" xmlns="urn:mace:shibboleth:2.0:afp"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="urn:mace:shibboleth:2.0:afp http://shibboleth.net/schema/idp/shibboleth-afp.xsd">
+ <PolicyRequirementRule xsi:type="IssuerEntityAttributeExactMatch"
+ attributeName="urn:example.org:policy"
+ attributeValue="urn:example.org:policy:ABCD1234"
+ ignoreUnmappedEntityAttributes="true"/>
+</AttributeFilterPolicy>
diff --git a/idp-attribute-filter-spring/src/test/resources/net/shibboleth/idp/attribute/filter/policyrule/issuerEARegex2.xml b/idp-attribute-filter-spring/src/test/resources/net/shibboleth/idp/attribute/filter/policyrule/issuerEARegex2.xml
new file mode 100644
index 0000000..ce10655
--- /dev/null
+++ b/idp-attribute-filter-spring/src/test/resources/net/shibboleth/idp/attribute/filter/policyrule/issuerEARegex2.xml
@@ -0,0 +1,6 @@
+<AttributeFilterPolicy id="MostBasicExample" xmlns="urn:mace:shibboleth:2.0:afp" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="urn:mace:shibboleth:2.0:afp http://shibboleth.net/schema/idp/shibboleth-afp.xsd">
+ <PolicyRequirementRule
+ xsi:type="IssuerEntityAttributeRegexMatch"
+ attributeName="urn:example.org:policy" attributeValueRegex="^urn:example\.org:policy:[^:]*$" />
+</AttributeFilterPolicy>
diff --git a/idp-schema/src/main/resources/schema/shibboleth-afp.xsd b/idp-schema/src/main/resources/schema/shibboleth-afp.xsd
index 8f824cb..96352ec 100644
--- a/idp-schema/src/main/resources/schema/shibboleth-afp.xsd
+++ b/idp-schema/src/main/resources/schema/shibboleth-afp.xsd
@@ -584,8 +584,20 @@
<complexType name="EntityAttributeExactMatch">
<annotation>
<documentation>
- A match function that checks if the attribute requester contains an entity attribute with the
- specified value.
+ A match function that checks if the attribute requester's metadata
+ contains an entity attribute with the specified value.
+ </documentation>
+ </annotation>
+ <complexContent>
+ <extension base="afp:EntityAttributeExactMatchType"/>
+ </complexContent>
+ </complexType>
+
+ <complexType name="IssuerEntityAttributeExactMatch">
+ <annotation>
+ <documentation>
+ A match function that checks if the attribute issuer's metadata
+ contains an entity attribute with the specified value.
</documentation>
</annotation>
<complexContent>
@@ -625,8 +637,20 @@
<complexType name="EntityAttributeRegexMatch">
<annotation>
<documentation>
- A match function that checks if the attribute requester contains an entity attribute with a
- value that matches the given regular expression.
+ A match function that checks if the attribute requester's metadata
+ contains an entity attribute with a value that matches the given regular expression.
+ </documentation>
+ </annotation>
+ <complexContent>
+ <extension base="afp:EntityAttributeRegexMatchType"/>
+ </complexContent>
+ </complexType>
+
+ <complexType name="IssuerEntityAttributeRegexMatch">
+ <annotation>
+ <documentation>
+ A match function that checks if the attribute issuer's metadata
+ contains an entity attribute with a value that matches the given regular expression.
</documentation>
</annotation>
<complexContent>
--
To stop receiving notification emails like this one, please contact
the administrator of this repository.
More information about the commits
mailing list