[java-opensaml] 14/24: OSJ-204: md:RequestedAttribute doesn't marshall child elements
Brent Putman
putmanb at georgetown.edu
Wed Sep 27 16:46:08 EDT 2017
This is an automated email from the git hooks/post-receive script.
putmanb pushed a commit to branch maint-3.3
in repository java-opensaml.
View the commit online:
http://git.shibboleth.net/view/?p=java-opensaml.git;a=commit;h=4aa60406d008a1b1f5565a8fbbc6cc3119f54ff1
commit 4aa60406d008a1b1f5565a8fbbc6cc3119f54ff1
Author: Brent Putman <putmanb at georgetown.edu>
AuthorDate: Wed May 3 16:33:41 2017 -0400
OSJ-204: md:RequestedAttribute doesn't marshall child elements
---
.../metadata/impl/RequestedAttributeImpl.java | 7 ---
.../metadata/impl/RequestedAttributeTest.java | 59 ++++++++++++++++++++--
.../impl/RequestedAttributeChildElements.xml | 5 ++
3 files changed, 60 insertions(+), 11 deletions(-)
diff --git a/opensaml-saml-impl/src/main/java/org/opensaml/saml/saml2/metadata/impl/RequestedAttributeImpl.java b/opensaml-saml-impl/src/main/java/org/opensaml/saml/saml2/metadata/impl/RequestedAttributeImpl.java
index 1795db7..808dbde 100644
--- a/opensaml-saml-impl/src/main/java/org/opensaml/saml/saml2/metadata/impl/RequestedAttributeImpl.java
+++ b/opensaml-saml-impl/src/main/java/org/opensaml/saml/saml2/metadata/impl/RequestedAttributeImpl.java
@@ -21,9 +21,6 @@
package org.opensaml.saml.saml2.metadata.impl;
-import java.util.List;
-
-import org.opensaml.core.xml.XMLObject;
import org.opensaml.core.xml.schema.XSBooleanValue;
import org.opensaml.saml.saml2.core.impl.AttributeImpl;
import org.opensaml.saml.saml2.metadata.RequestedAttribute;
@@ -76,8 +73,4 @@ public class RequestedAttributeImpl extends AttributeImpl implements RequestedAt
}
- /** {@inheritDoc} */
- public List<XMLObject> getOrderedChildren() {
- return null;
- }
}
\ No newline at end of file
diff --git a/opensaml-saml-impl/src/test/java/org/opensaml/saml/saml2/metadata/impl/RequestedAttributeTest.java b/opensaml-saml-impl/src/test/java/org/opensaml/saml/saml2/metadata/impl/RequestedAttributeTest.java
index 81c208e..d083e64 100644
--- a/opensaml-saml-impl/src/test/java/org/opensaml/saml/saml2/metadata/impl/RequestedAttributeTest.java
+++ b/opensaml-saml-impl/src/test/java/org/opensaml/saml/saml2/metadata/impl/RequestedAttributeTest.java
@@ -17,15 +17,19 @@
package org.opensaml.saml.saml2.metadata.impl;
-import org.testng.annotations.Test;
-import org.testng.annotations.BeforeMethod;
-import org.testng.Assert;
import javax.xml.namespace.QName;
-import org.opensaml.core.xml.schema.XSBooleanValue;
import org.opensaml.core.xml.XMLObjectProviderBaseTestCase;
+import org.opensaml.core.xml.config.XMLObjectProviderRegistrySupport;
+import org.opensaml.core.xml.schema.XSAny;
+import org.opensaml.core.xml.schema.XSBooleanValue;
+import org.opensaml.core.xml.schema.impl.XSAnyBuilder;
import org.opensaml.saml.common.xml.SAMLConstants;
+import org.opensaml.saml.saml2.core.AttributeValue;
import org.opensaml.saml.saml2.metadata.RequestedAttribute;
+import org.testng.Assert;
+import org.testng.annotations.BeforeMethod;
+import org.testng.annotations.Test;
/**
* Test case for creating, marshalling, and unmarshalling
@@ -44,6 +48,9 @@ public class RequestedAttributeTest extends XMLObjectProviderBaseTestCase {
/** Excpected isRequired attribute value */
protected XSBooleanValue expectedIsRequired;
+
+ /** Expected saml2:AttributeValue values (element content).*/
+ protected String expectedAttributeValue0, expectedAttributeValue1;
/**
* Constructor
@@ -51,6 +58,7 @@ public class RequestedAttributeTest extends XMLObjectProviderBaseTestCase {
public RequestedAttributeTest() {
singleElementFile = "/org/opensaml/saml/saml2/metadata/impl/RequestedAttribute.xml";
singleElementOptionalAttributesFile = "/org/opensaml/saml/saml2/metadata/impl/RequestedAttributeOptionalAttributes.xml";
+ childElementsFile = "/org/opensaml/saml/saml2/metadata/impl/RequestedAttributeChildElements.xml";
}
@BeforeMethod
@@ -59,6 +67,8 @@ public class RequestedAttributeTest extends XMLObjectProviderBaseTestCase {
expectedNameFormat = "urn:string";
expectedFriendlyName = "Attribute Name";
expectedIsRequired = new XSBooleanValue(Boolean.TRUE, false);
+ expectedAttributeValue0 = "SomeAttributeValue0";
+ expectedAttributeValue1 = "SomeAttributeValue1";
}
/** {@inheritDoc} */
@@ -91,6 +101,26 @@ public class RequestedAttributeTest extends XMLObjectProviderBaseTestCase {
Assert.assertEquals(requestedAttribute.isRequiredXSBoolean(), expectedIsRequired,
"Is Required was " + isRequired + ", expected " + expectedIsRequired);
}
+
+ /** {@inheritDoc} */
+ @Test
+ public void testChildElementsUnmarshall() {
+ RequestedAttribute attribute = (RequestedAttribute) unmarshallElement(childElementsFile);
+
+ String name = attribute.getName();
+ Assert.assertEquals(name, expectedName, "Name was " + name + ", expected " + expectedName);
+
+ Assert.assertEquals(attribute.getAttributeValues().size(), 2);
+
+ Assert.assertTrue(attribute.getAttributeValues().get(0) instanceof XSAny);
+ XSAny value0 = (XSAny) attribute.getAttributeValues().get(0);
+ Assert.assertEquals(value0.getTextContent(), expectedAttributeValue0);
+
+ Assert.assertTrue(attribute.getAttributeValues().get(1) instanceof XSAny);
+ XSAny value1 = (XSAny) attribute.getAttributeValues().get(1);
+ Assert.assertEquals(value1.getTextContent(), expectedAttributeValue1);
+ }
+
/** {@inheritDoc} */
@Test
@@ -116,6 +146,27 @@ public class RequestedAttributeTest extends XMLObjectProviderBaseTestCase {
assertXMLEquals(expectedOptionalAttributesDOM, requestedAttribute);
}
+ /** {@inheritDoc} */
+ @Test
+ public void testChildElementsMarshall() {
+ QName qname = new QName(SAMLConstants.SAML20MD_NS, RequestedAttribute.DEFAULT_ELEMENT_LOCAL_NAME, SAMLConstants.SAML20MD_PREFIX);
+ RequestedAttribute requestedAttribute = (RequestedAttribute) buildXMLObject(qname);
+
+ requestedAttribute.setName(expectedName);
+
+ XSAnyBuilder valueBuilder = (XSAnyBuilder) XMLObjectProviderRegistrySupport.getBuilderFactory().getBuilder(XSAny.TYPE_NAME);
+
+ XSAny val0 = valueBuilder.buildObject(AttributeValue.DEFAULT_ELEMENT_NAME);
+ val0.setTextContent(expectedAttributeValue0);
+ requestedAttribute.getAttributeValues().add(val0);
+
+ XSAny val1 = valueBuilder.buildObject(AttributeValue.DEFAULT_ELEMENT_NAME);
+ val1.setTextContent(expectedAttributeValue1);
+ requestedAttribute.getAttributeValues().add(val1);
+
+ assertXMLEquals(expectedChildElementsDOM, requestedAttribute);
+ }
+
/**
* Test the proper behavior of the XSBooleanValue attributes.
*/
diff --git a/opensaml-saml-impl/src/test/resources/org/opensaml/saml/saml2/metadata/impl/RequestedAttributeChildElements.xml b/opensaml-saml-impl/src/test/resources/org/opensaml/saml/saml2/metadata/impl/RequestedAttributeChildElements.xml
new file mode 100644
index 0000000..1a81300
--- /dev/null
+++ b/opensaml-saml-impl/src/test/resources/org/opensaml/saml/saml2/metadata/impl/RequestedAttributeChildElements.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<md:RequestedAttribute xmlns:md="urn:oasis:names:tc:SAML:2.0:metadata" Name="attribName">
+ <saml2:AttributeValue xmlns:saml2="urn:oasis:names:tc:SAML:2.0:assertion">SomeAttributeValue0</saml2:AttributeValue>
+ <saml2:AttributeValue xmlns:saml2="urn:oasis:names:tc:SAML:2.0:assertion">SomeAttributeValue1</saml2:AttributeValue>
+</md:RequestedAttribute>
--
To stop receiving notification emails like this one, please contact
the administrator of this repository.
More information about the commits
mailing list