[java-identity-provider] 04/07: IDP-1184 Flattened schema and Attribute Definitions
Rod Widdowson
rdw at steadingsoftware.com
Fri Jul 14 09:10:24 EDT 2017
This is an automated email from the git hooks/post-receive script.
rdw 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=9c53d894ca8eadb29d8d24e4d0cec234a2a40a4f
commit 9c53d894ca8eadb29d8d24e4d0cec234a2a40a4f
Author: Rod Widdowson <rdw at steadingsoftware.com>
AuthorDate: Thu Jul 13 16:43:18 2017 +0100
IDP-1184 Flattened schema and Attribute Definitions
https://issues.shibboleth.net/jira/browse/IDP-1184
Add tests for multiple elements where they are meaningless.
Add specific logging (on warning) where there was no warning previously.
---
.../ad/impl/ScriptedAttributeDefinitionParser.java | 11 +++++---
.../ad/impl/TemplateAttributeDefinitionParser.java | 14 +++++++----
.../impl/MappedAttributeDefinitionParser.java | 18 +++++++-------
.../spring/dc/AbstractDataConnectorParser.java | 2 +-
.../spring/ad/ScriptedAttributeParserTest.java | 26 +++++++++++--------
.../ad/TemplateAttributeDefinitionParserTest.java | 29 ++++++++++++++++------
.../MappedAttributeDefinitionParserTest.java | 26 ++++++++++++-------
.../resolver/spring/ad/mapped/multiDefault.xml | 16 ++++++++++++
.../resolver/spring/ad/scriptedAttributeDupl.xml | 18 ++++----------
.../spring/ad/scriptedAttributeDuplFile.xml | 9 +++++++
.../resolver/spring/ad/templateTwoTemplate.xml | 15 +++++++++++
11 files changed, 126 insertions(+), 58 deletions(-)
diff --git a/idp-attribute-resolver-spring/src/main/java/net/shibboleth/idp/attribute/resolver/spring/ad/impl/ScriptedAttributeDefinitionParser.java b/idp-attribute-resolver-spring/src/main/java/net/shibboleth/idp/attribute/resolver/spring/ad/impl/ScriptedAttributeDefinitionParser.java
index a7adb7e..545f522 100644
--- a/idp-attribute-resolver-spring/src/main/java/net/shibboleth/idp/attribute/resolver/spring/ad/impl/ScriptedAttributeDefinitionParser.java
+++ b/idp-attribute-resolver-spring/src/main/java/net/shibboleth/idp/attribute/resolver/spring/ad/impl/ScriptedAttributeDefinitionParser.java
@@ -93,15 +93,20 @@ public class ScriptedAttributeDefinitionParser extends AbstractWarningAttributeD
scriptFileElem.addAll(ElementSupport.getChildElements(config, SCRIPT_FILE_ELEMENT_NAME_RESOLVER));
if (scriptElem != null && scriptElem.size() > 0) {
if (scriptFileElem != null && scriptFileElem.size() > 0) {
- log.warn(
- "{} Attribute definition {}: definition contains both <Script> "
- + "and <ScriptFile> elements, taking the <Script> element",
+ log.warn("{} definition contains both <Script> and <ScriptFile> elements, taking the "
+ + "first <Script> element",
getLogPrefix(), getDefinitionId());
}
final String script = scriptElem.get(0).getTextContent();
log.debug("{} Script: {}", getLogPrefix(), script);
scriptBuilder.addPropertyValue("script", script);
} else if (scriptFileElem != null && scriptFileElem.size() > 0) {
+ if (scriptFileElem.size() > 1) {
+ log.warn("{} Attribute definition {}: definition contains multiple "
+ + "<ScriptFile> elements, taking the first only.",
+ getLogPrefix(), getDefinitionId());
+ }
+
final String scriptFile = scriptFileElem.get(0).getTextContent();
log.debug("{} Script file: {}", getLogPrefix(), scriptFile);
scriptBuilder.addPropertyValue("resource", scriptFile);
diff --git a/idp-attribute-resolver-spring/src/main/java/net/shibboleth/idp/attribute/resolver/spring/ad/impl/TemplateAttributeDefinitionParser.java b/idp-attribute-resolver-spring/src/main/java/net/shibboleth/idp/attribute/resolver/spring/ad/impl/TemplateAttributeDefinitionParser.java
index 444fe25..71e2254 100644
--- a/idp-attribute-resolver-spring/src/main/java/net/shibboleth/idp/attribute/resolver/spring/ad/impl/TemplateAttributeDefinitionParser.java
+++ b/idp-attribute-resolver-spring/src/main/java/net/shibboleth/idp/attribute/resolver/spring/ad/impl/TemplateAttributeDefinitionParser.java
@@ -23,6 +23,11 @@ import javax.annotation.Nonnull;
import javax.annotation.Nullable;
import javax.xml.namespace.QName;
+import net.shibboleth.idp.attribute.resolver.ad.impl.TemplateAttributeDefinition;
+import net.shibboleth.idp.attribute.resolver.spring.impl.AttributeResolverNamespaceHandler;
+import net.shibboleth.utilities.java.support.primitive.StringSupport;
+import net.shibboleth.utilities.java.support.xml.ElementSupport;
+
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.support.BeanDefinitionBuilder;
@@ -30,11 +35,6 @@ import org.springframework.beans.factory.support.ManagedList;
import org.springframework.beans.factory.xml.ParserContext;
import org.w3c.dom.Element;
-import net.shibboleth.idp.attribute.resolver.ad.impl.TemplateAttributeDefinition;
-import net.shibboleth.idp.attribute.resolver.spring.impl.AttributeResolverNamespaceHandler;
-import net.shibboleth.utilities.java.support.primitive.StringSupport;
-import net.shibboleth.utilities.java.support.xml.ElementSupport;
-
/**
* Spring bean definition parser for templated attribute definition elements.
*/
@@ -80,6 +80,10 @@ public class TemplateAttributeDefinitionParser extends AbstractWarningAttributeD
final List<Element> templateElements = ElementSupport.getChildElements(config, TEMPLATE_ELEMENT_NAME_AD);
templateElements.addAll(ElementSupport.getChildElements(config, TEMPLATE_ELEMENT_NAME_RESOLVER));
if (null != templateElements && templateElements.size() >= 1) {
+ if (templateElements.size() > 1) {
+ log.warn("{} Too many <Template> elements, taking the first");
+ }
+
final String templateText = StringSupport.trimOrNull(templateElements.get(0).getTextContent());
log.debug("{} Template is '{}'", getLogPrefix(), templateText);
diff --git a/idp-attribute-resolver-spring/src/main/java/net/shibboleth/idp/attribute/resolver/spring/ad/mapped/impl/MappedAttributeDefinitionParser.java b/idp-attribute-resolver-spring/src/main/java/net/shibboleth/idp/attribute/resolver/spring/ad/mapped/impl/MappedAttributeDefinitionParser.java
index bd130e2..69e4b17 100644
--- a/idp-attribute-resolver-spring/src/main/java/net/shibboleth/idp/attribute/resolver/spring/ad/mapped/impl/MappedAttributeDefinitionParser.java
+++ b/idp-attribute-resolver-spring/src/main/java/net/shibboleth/idp/attribute/resolver/spring/ad/mapped/impl/MappedAttributeDefinitionParser.java
@@ -23,14 +23,6 @@ import javax.annotation.Nonnull;
import javax.annotation.Nullable;
import javax.xml.namespace.QName;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-import org.springframework.beans.factory.BeanCreationException;
-import org.springframework.beans.factory.config.BeanDefinition;
-import org.springframework.beans.factory.support.BeanDefinitionBuilder;
-import org.springframework.beans.factory.xml.ParserContext;
-import org.w3c.dom.Element;
-
import net.shibboleth.ext.spring.util.SpringSupport;
import net.shibboleth.idp.attribute.resolver.ad.mapped.impl.MappedAttributeDefinition;
import net.shibboleth.idp.attribute.resolver.spring.ad.BaseAttributeDefinitionParser;
@@ -39,6 +31,14 @@ import net.shibboleth.idp.attribute.resolver.spring.impl.AttributeResolverNamesp
import net.shibboleth.utilities.java.support.primitive.StringSupport;
import net.shibboleth.utilities.java.support.xml.ElementSupport;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.beans.factory.BeanCreationException;
+import org.springframework.beans.factory.config.BeanDefinition;
+import org.springframework.beans.factory.support.BeanDefinitionBuilder;
+import org.springframework.beans.factory.xml.ParserContext;
+import org.w3c.dom.Element;
+
/** Bean definition parser for a {@link MappedAttributeDefinition}. */
public class MappedAttributeDefinitionParser extends BaseAttributeDefinitionParser {
@@ -79,7 +79,7 @@ public class MappedAttributeDefinitionParser extends BaseAttributeDefinitionPars
if (null != defaultValueElements && defaultValueElements.size() > 0) {
if (defaultValueElements.size() > 1) {
- log.warn("{} More than one <DefaultValue> specified");
+ log.warn("{} More than one <DefaultValue> specified, taking the first");
}
final Element defaultValueElement = defaultValueElements.get(0);
defaultValue = StringSupport.trimOrNull(defaultValueElement.getTextContent());
diff --git a/idp-attribute-resolver-spring/src/main/java/net/shibboleth/idp/attribute/resolver/spring/dc/AbstractDataConnectorParser.java b/idp-attribute-resolver-spring/src/main/java/net/shibboleth/idp/attribute/resolver/spring/dc/AbstractDataConnectorParser.java
index 85db532..a132dd7 100644
--- a/idp-attribute-resolver-spring/src/main/java/net/shibboleth/idp/attribute/resolver/spring/dc/AbstractDataConnectorParser.java
+++ b/idp-attribute-resolver-spring/src/main/java/net/shibboleth/idp/attribute/resolver/spring/dc/AbstractDataConnectorParser.java
@@ -109,7 +109,7 @@ public abstract class AbstractDataConnectorParser extends BaseResolverPluginPars
if (failoverConnector != null && !failoverConnector.isEmpty()) {
if (failoverConnector.size() > 1) {
- log.warn("{} More than one failover data connector specified, taking the first",
+ log.warn("{} More than one failover data connector specified, taking the first",
getLogPrefix());
}
final String connectorId = StringSupport.trimOrNull(failoverConnector.get(0).getAttributeNS(null, "ref"));
diff --git a/idp-attribute-resolver-spring/src/test/java/net/shibboleth/idp/attribute/resolver/spring/ad/ScriptedAttributeParserTest.java b/idp-attribute-resolver-spring/src/test/java/net/shibboleth/idp/attribute/resolver/spring/ad/ScriptedAttributeParserTest.java
index 5faa40f..8d56ee7 100644
--- a/idp-attribute-resolver-spring/src/test/java/net/shibboleth/idp/attribute/resolver/spring/ad/ScriptedAttributeParserTest.java
+++ b/idp-attribute-resolver-spring/src/test/java/net/shibboleth/idp/attribute/resolver/spring/ad/ScriptedAttributeParserTest.java
@@ -17,23 +17,23 @@
package net.shibboleth.idp.attribute.resolver.spring.ad;
-import org.springframework.beans.factory.BeanCreationException;
-import org.springframework.beans.factory.BeanDefinitionStoreException;
-import org.testng.Assert;
-import org.testng.annotations.Test;
-
import net.shibboleth.idp.attribute.resolver.ad.impl.ScriptedAttributeDefinition;
import net.shibboleth.idp.attribute.resolver.spring.BaseAttributeDefinitionParserTest;
import net.shibboleth.idp.attribute.resolver.spring.ad.impl.ScriptedAttributeDefinitionParser;
import net.shibboleth.utilities.java.support.primitive.StringSupport;
+import org.springframework.beans.factory.BeanCreationException;
+import org.springframework.beans.factory.BeanDefinitionStoreException;
+import org.testng.Assert;
+import org.testng.annotations.Test;
+
/**
* Test for {@link ScriptedAttributeDefinitionParser}.
*/
public class ScriptedAttributeParserTest extends BaseAttributeDefinitionParserTest {
@Test public void inline() {
- ScriptedAttributeDefinition attrDef =
+ final ScriptedAttributeDefinition attrDef =
getAttributeDefn("scriptedAttributeInline.xml", ScriptedAttributeDefinition.class);
Assert.assertEquals(attrDef.getId(), "scriptedInline");
@@ -42,7 +42,7 @@ public class ScriptedAttributeParserTest extends BaseAttributeDefinitionParserTe
}
@Test public void file() {
- ScriptedAttributeDefinition attrDef =
+ final ScriptedAttributeDefinition attrDef =
getAttributeDefn("scriptedAttributeFile.xml", ScriptedAttributeDefinition.class);
Assert.assertEquals(attrDef.getId(), "scriptedFile");
@@ -54,7 +54,7 @@ public class ScriptedAttributeParserTest extends BaseAttributeDefinitionParserTe
}
@Test public void resolverInline() {
- ScriptedAttributeDefinition attrDef =
+ final ScriptedAttributeDefinition attrDef =
getAttributeDefn("resolver/scriptedAttributeInline.xml", ScriptedAttributeDefinition.class);
Assert.assertEquals(attrDef.getId(), "scriptedInline");
@@ -63,7 +63,7 @@ public class ScriptedAttributeParserTest extends BaseAttributeDefinitionParserTe
}
@Test public void resolverFile() {
- ScriptedAttributeDefinition attrDef =
+ final ScriptedAttributeDefinition attrDef =
getAttributeDefn("resolver/scriptedAttributeFile.xml", ScriptedAttributeDefinition.class);
Assert.assertEquals(attrDef.getId(), "scriptedFile");
@@ -81,6 +81,12 @@ public class ScriptedAttributeParserTest extends BaseAttributeDefinitionParserTe
Assert.assertEquals(attrDef.getId(), "scriptedDupl");
Assert.assertEquals(attrDef.getScript().getScriptLanguage(), "javascript");
Assert.assertEquals(StringSupport.trim(attrDef.getScript().getScript()), "stuff=\"stuff\";");
+
+ attrDef = getAttributeDefn("scriptedAttributeDuplFile.xml", ScriptedAttributeDefinition.class, true);
+
+ Assert.assertEquals(attrDef.getId(), "scriptedDuplFile");
+ Assert.assertEquals(attrDef.getScript().getScriptLanguage(), "javascript");
+ Assert.assertEquals(StringSupport.trim(attrDef.getScript().getScript()), "foo=bar();");
}
@Test public void bad() {
@@ -96,7 +102,7 @@ public class ScriptedAttributeParserTest extends BaseAttributeDefinitionParserTe
try {
getAttributeDefn("scriptedAttributeAbsent.xml", ScriptedAttributeDefinition.class);
Assert.fail("Missing script worked?");
- } catch (BeanDefinitionStoreException e) {
+ } catch (final BeanDefinitionStoreException e) {
// OK
}
}
diff --git a/idp-attribute-resolver-spring/src/test/java/net/shibboleth/idp/attribute/resolver/spring/ad/TemplateAttributeDefinitionParserTest.java b/idp-attribute-resolver-spring/src/test/java/net/shibboleth/idp/attribute/resolver/spring/ad/TemplateAttributeDefinitionParserTest.java
index e7df1bc..79a6615 100644
--- a/idp-attribute-resolver-spring/src/test/java/net/shibboleth/idp/attribute/resolver/spring/ad/TemplateAttributeDefinitionParserTest.java
+++ b/idp-attribute-resolver-spring/src/test/java/net/shibboleth/idp/attribute/resolver/spring/ad/TemplateAttributeDefinitionParserTest.java
@@ -17,15 +17,15 @@
package net.shibboleth.idp.attribute.resolver.spring.ad;
-import org.springframework.beans.factory.BeanCreationException;
-import org.testng.Assert;
-import org.testng.annotations.Test;
-
import net.shibboleth.idp.attribute.resolver.ad.impl.TemplateAttributeDefinition;
import net.shibboleth.idp.attribute.resolver.spring.BaseAttributeDefinitionParserTest;
import net.shibboleth.idp.attribute.resolver.spring.ad.impl.CryptoTransientIdAttributeDefinitionParser;
import net.shibboleth.utilities.java.support.component.ComponentInitializationException;
+import org.springframework.beans.factory.BeanCreationException;
+import org.testng.Assert;
+import org.testng.annotations.Test;
+
/**
* test for {@link CryptoTransientIdAttributeDefinitionParser}
*/
@@ -33,7 +33,7 @@ public class TemplateAttributeDefinitionParserTest extends BaseAttributeDefiniti
@Test(enabled = false) public void noAttr() throws ComponentInitializationException {
- TemplateAttributeDefinition defn =
+ final TemplateAttributeDefinition defn =
getAttributeDefn("templateNoAttributes.xml", "externalBeans.xml", TemplateAttributeDefinition.class);
Assert.assertEquals(defn.getId(), "templateId");
@@ -46,10 +46,10 @@ public class TemplateAttributeDefinitionParserTest extends BaseAttributeDefiniti
try {
getAttributeDefn("templateAttributes.xml", "externalBeans.xml", TemplateAttributeDefinition.class);
Assert.fail("should not find bean");
- } catch (BeanCreationException e) {
+ } catch (final BeanCreationException e) {
// OK
}
- TemplateAttributeDefinition defn =
+ final TemplateAttributeDefinition defn =
getAttributeDefn("templateAttributes.xml", "velocity2.xml", TemplateAttributeDefinition.class);
Assert.assertEquals(defn.getId(), "templateIdAttr");
@@ -61,7 +61,7 @@ public class TemplateAttributeDefinitionParserTest extends BaseAttributeDefiniti
@Test public void resolver() throws ComponentInitializationException {
- TemplateAttributeDefinition defn =
+ final TemplateAttributeDefinition defn =
getAttributeDefn("resolver/templateAttributes.xml", "velocity2.xml", TemplateAttributeDefinition.class);
Assert.assertEquals(defn.getId(), "templateIdAttr");
@@ -70,4 +70,17 @@ public class TemplateAttributeDefinitionParserTest extends BaseAttributeDefiniti
Assert.assertTrue(defn.getSourceAttributes().contains("att1"));
Assert.assertTrue(defn.getSourceAttributes().contains("att2"));
}
+
+ @Test public void dupl() throws ComponentInitializationException {
+
+ final TemplateAttributeDefinition defn =
+ getAttributeDefn("templateTwoTemplate.xml", "velocity2.xml", TemplateAttributeDefinition.class);
+
+ Assert.assertEquals(defn.getId(), "templateIdAttr");
+ Assert.assertEquals(defn.getTemplateText(), "TheTemplate");
+ Assert.assertEquals(defn.getSourceAttributes().size(), 2);
+ Assert.assertTrue(defn.getSourceAttributes().contains("att1"));
+ Assert.assertTrue(defn.getSourceAttributes().contains("att2"));
+ }
+
}
diff --git a/idp-attribute-resolver-spring/src/test/java/net/shibboleth/idp/attribute/resolver/spring/ad/mapped/MappedAttributeDefinitionParserTest.java b/idp-attribute-resolver-spring/src/test/java/net/shibboleth/idp/attribute/resolver/spring/ad/mapped/MappedAttributeDefinitionParserTest.java
index 494220d..b6588c7 100644
--- a/idp-attribute-resolver-spring/src/test/java/net/shibboleth/idp/attribute/resolver/spring/ad/mapped/MappedAttributeDefinitionParserTest.java
+++ b/idp-attribute-resolver-spring/src/test/java/net/shibboleth/idp/attribute/resolver/spring/ad/mapped/MappedAttributeDefinitionParserTest.java
@@ -17,25 +17,33 @@
package net.shibboleth.idp.attribute.resolver.spring.ad.mapped;
-import org.springframework.beans.factory.BeanDefinitionStoreException;
-import org.testng.Assert;
-import org.testng.annotations.Test;
-
import net.shibboleth.idp.attribute.resolver.ad.mapped.impl.MappedAttributeDefinition;
import net.shibboleth.idp.attribute.resolver.spring.BaseAttributeDefinitionParserTest;
import net.shibboleth.idp.attribute.resolver.spring.ad.mapped.impl.MappedAttributeDefinitionParser;
+import org.springframework.beans.factory.BeanDefinitionStoreException;
+import org.testng.Assert;
+import org.testng.annotations.Test;
+
/**
* Test for {@link MappedAttributeDefinitionParser}.
*/
public class MappedAttributeDefinitionParserTest extends BaseAttributeDefinitionParserTest {
- private MappedAttributeDefinition getDefinition(String fileName) {
+ private MappedAttributeDefinition getDefinition(final String fileName) {
return getAttributeDefn("mapped/" + fileName, MappedAttributeDefinition.class);
}
@Test public void defaultCase() {
- MappedAttributeDefinition defn = getDefinition("mapped.xml");
+ final MappedAttributeDefinition defn = getDefinition("mapped.xml");
+
+ Assert.assertTrue(defn.isPassThru());
+ Assert.assertEquals(defn.getValueMaps().size(), 2);
+ Assert.assertEquals(defn.getDefaultAttributeValue().getValue(), "foobar");
+ }
+
+ @Test public void multiDefault() {
+ final MappedAttributeDefinition defn = getDefinition("multiDefault.xml");
Assert.assertTrue(defn.isPassThru());
Assert.assertEquals(defn.getValueMaps().size(), 2);
@@ -43,7 +51,7 @@ public class MappedAttributeDefinitionParserTest extends BaseAttributeDefinition
}
@Test public void resolver() {
- MappedAttributeDefinition defn = getDefinition("resolver/mapped.xml");
+ final MappedAttributeDefinition defn = getDefinition("resolver/mapped.xml");
Assert.assertTrue(defn.isPassThru());
Assert.assertEquals(defn.getValueMaps().size(), 2);
@@ -51,7 +59,7 @@ public class MappedAttributeDefinitionParserTest extends BaseAttributeDefinition
}
@Test public void noDefault() {
- MappedAttributeDefinition defn = getDefinition("mappedNoDefault.xml");
+ final MappedAttributeDefinition defn = getDefinition("mappedNoDefault.xml");
Assert.assertFalse(defn.isPassThru());
Assert.assertEquals(defn.getValueMaps().size(), 1);
@@ -63,7 +71,7 @@ public class MappedAttributeDefinitionParserTest extends BaseAttributeDefinition
try {
getDefinition("mappedNoValueMap.xml");
Assert.fail();
- } catch (BeanDefinitionStoreException e) {
+ } catch (final BeanDefinitionStoreException e) {
// OK
}
}
diff --git a/idp-attribute-resolver-spring/src/test/resources/net/shibboleth/idp/attribute/resolver/spring/ad/mapped/multiDefault.xml b/idp-attribute-resolver-spring/src/test/resources/net/shibboleth/idp/attribute/resolver/spring/ad/mapped/multiDefault.xml
new file mode 100644
index 0000000..d70fcf7
--- /dev/null
+++ b/idp-attribute-resolver-spring/src/test/resources/net/shibboleth/idp/attribute/resolver/spring/ad/mapped/multiDefault.xml
@@ -0,0 +1,16 @@
+<AttributeDefintion xsi:type="Mapped" id="Mapped"
+ xmlns="urn:mace:shibboleth:2.0:resolver" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="urn:mace:shibboleth:2.0:resolver http://shibboleth.net/schema/idp/shibboleth-attribute-resolver.xsd">
+ <DefaultValue passThru="true">foobar</DefaultValue>
+ <ValueMap>
+ <ReturnValue>return</ReturnValue>
+ <SourceValue>source</SourceValue>
+ </ValueMap>
+ <DefaultValue passThru="true">foobar2</DefaultValue>
+ <ValueMap>
+ <ReturnValue>return1</ReturnValue>
+ <SourceValue>source2</SourceValue>
+ </ValueMap>
+ <DefaultValue passThru="true">foobar3</DefaultValue>
+ <Dependency xmlns:resolver="urn:mace:shibboleth:2.0:resolver" ref="TheOrphan" />
+</AttributeDefintion>
diff --git a/idp-attribute-resolver-spring/src/test/resources/net/shibboleth/idp/attribute/resolver/spring/ad/scriptedAttributeDupl.xml b/idp-attribute-resolver-spring/src/test/resources/net/shibboleth/idp/attribute/resolver/spring/ad/scriptedAttributeDupl.xml
index 0d1049d..4e36a1b 100644
--- a/idp-attribute-resolver-spring/src/test/resources/net/shibboleth/idp/attribute/resolver/spring/ad/scriptedAttributeDupl.xml
+++ b/idp-attribute-resolver-spring/src/test/resources/net/shibboleth/idp/attribute/resolver/spring/ad/scriptedAttributeDupl.xml
@@ -1,17 +1,9 @@
<AttributeDefinition
xmlns="urn:mace:shibboleth:2.0:resolver"
- xmlns:ad="urn:mace:shibboleth:2.0:resolver:ad"
- xmlns:enc="urn:mace:shibboleth:2.0:attribute:encoder"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
dependencyOnly="1"
- xsi:type="ad:Script" id="scriptedDupl"
- xsi:schemaLocation="urn:mace:shibboleth:2.0:resolver http://shibboleth.net/schema/idp/shibboleth-attribute-resolver.xsd
- urn:mace:shibboleth:2.0:resolver:pc http://shibboleth.net/schema/idp/shibboleth-attribute-resolver-pc.xsd
- urn:mace:shibboleth:2.0:resolver:ad http://shibboleth.net/schema/idp/shibboleth-attribute-resolver-ad.xsd
- urn:mace:shibboleth:2.0:resolver:dc http://shibboleth.net/schema/idp/shibboleth-attribute-resolver-dc.xsd
- urn:mace:shibboleth:2.0:attribute:encoder http://shibboleth.net/schema/idp/shibboleth-attribute-encoder.xsd
- urn:mace:shibboleth:2.0:security http://shibboleth.net/schema/idp/shibboleth-security.xsd">
- <!-- This file is known to be schema invalid. The test supresses schema testing. -->
- <ad:Script>stuff="stuff";</ad:Script>
- <ad:ScriptFile>src/test/resources/net/shibboleth/idp/attribute/resolver/spring/ad/file.script</ad:ScriptFile>
- </AttributeDefinition>
\ No newline at end of file
+ xsi:type="ScriptedAttribute" id="scriptedDupl"
+ xsi:schemaLocation="urn:mace:shibboleth:2.0:resolver http://shibboleth.net/schema/idp/shibboleth-attribute-resolver.xsd">
+ <Script>stuff="stuff";</Script>
+ <ScriptFile>src/test/resources/net/shibboleth/idp/attribute/resolver/spring/ad/file.script</ScriptFile>
+</AttributeDefinition>
\ No newline at end of file
diff --git a/idp-attribute-resolver-spring/src/test/resources/net/shibboleth/idp/attribute/resolver/spring/ad/scriptedAttributeDuplFile.xml b/idp-attribute-resolver-spring/src/test/resources/net/shibboleth/idp/attribute/resolver/spring/ad/scriptedAttributeDuplFile.xml
new file mode 100644
index 0000000..94fb039
--- /dev/null
+++ b/idp-attribute-resolver-spring/src/test/resources/net/shibboleth/idp/attribute/resolver/spring/ad/scriptedAttributeDuplFile.xml
@@ -0,0 +1,9 @@
+ <AttributeDefinition
+ xmlns="urn:mace:shibboleth:2.0:resolver"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ dependencyOnly="1"
+ xsi:type="ScriptedAttribute" id="scriptedDuplFile"
+ xsi:schemaLocation="urn:mace:shibboleth:2.0:resolver http://shibboleth.net/schema/idp/shibboleth-attribute-resolver.xsd">
+ <ScriptFile>src/test/resources/net/shibboleth/idp/attribute/resolver/spring/ad/file.script</ScriptFile>
+ <ScriptFile>src/test/resources/net/shibboleth/idp/attribute/resolver/spring/ad/file.script2</ScriptFile>
+</AttributeDefinition>
\ No newline at end of file
diff --git a/idp-attribute-resolver-spring/src/test/resources/net/shibboleth/idp/attribute/resolver/spring/ad/templateTwoTemplate.xml b/idp-attribute-resolver-spring/src/test/resources/net/shibboleth/idp/attribute/resolver/spring/ad/templateTwoTemplate.xml
new file mode 100644
index 0000000..72a3634
--- /dev/null
+++ b/idp-attribute-resolver-spring/src/test/resources/net/shibboleth/idp/attribute/resolver/spring/ad/templateTwoTemplate.xml
@@ -0,0 +1,15 @@
+ <AttributeDefinition
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xmlns="urn:mace:shibboleth:2.0:resolver"
+ id="templateIdAttr"
+ velocityEngine="otherVe"
+ xsi:type="Template"
+ xsi:schemaLocation="urn:mace:shibboleth:2.0:resolver http://shibboleth.net/schema/idp/shibboleth-attribute-resolver.xsd" >
+
+ <Dependency xmlns:resolver="urn:mace:shibboleth:2.0:resolver" ref="TheOrphan"/>
+ <Template>TheTemplate</Template>
+ <SourceAttribute>att1</SourceAttribute>
+ <Template>TheTemplate</Template>
+ <SourceAttribute>att2</SourceAttribute>
+ <Template>TheTemplate</Template>
+</AttributeDefinition>
\ No newline at end of file
--
To stop receiving notification emails like this one, please contact
the administrator of this repository.
More information about the commits
mailing list