[java-identity-provider] 08/11: IDP-1464 Extend UI Node Processor to handle Organization
Rod Widdowson
rdw at steadingsoftware.com
Tue Jun 11 09:38:26 EDT 2019
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=c527c8d4db1cf606da41de072542a85463a91453
commit c527c8d4db1cf606da41de072542a85463a91453
Author: Rod Widdowson <rdw at steadingsoftware.com>
AuthorDate: Mon Jun 10 17:30:49 2019 +0100
IDP-1464 Extend UI Node Processor to handle Organization
https://issues.shibboleth.net/jira/browse/IDP-1464
plus tests
---
.../idp/saml/metadata/impl/UIInfoNodeProcessor.java | 4 ++++
.../idp/saml/metadata/impl/UIInfoNodeProcessorTest.java | 13 ++++++++++++-
.../idp/saml/impl/metadata/NodeProcessor-metadata.xml | 6 ++++++
3 files changed, 22 insertions(+), 1 deletion(-)
diff --git a/idp-saml-impl/src/main/java/net/shibboleth/idp/saml/metadata/impl/UIInfoNodeProcessor.java b/idp-saml-impl/src/main/java/net/shibboleth/idp/saml/metadata/impl/UIInfoNodeProcessor.java
index c87f542..6a3444d 100644
--- a/idp-saml-impl/src/main/java/net/shibboleth/idp/saml/metadata/impl/UIInfoNodeProcessor.java
+++ b/idp-saml-impl/src/main/java/net/shibboleth/idp/saml/metadata/impl/UIInfoNodeProcessor.java
@@ -24,9 +24,11 @@ import org.opensaml.saml.ext.saml2mdui.UIInfo;
import org.opensaml.saml.metadata.resolver.filter.FilterException;
import org.opensaml.saml.metadata.resolver.filter.MetadataNodeProcessor;
import org.opensaml.saml.saml2.metadata.AttributeConsumingService;
+import org.opensaml.saml.saml2.metadata.Organization;
import net.shibboleth.idp.saml.metadata.ACSUIInfo;
import net.shibboleth.idp.saml.metadata.IdPUIInfo;
+import net.shibboleth.idp.saml.metadata.OrganizationUIInfo;
/**
* An implementation of {@link MetadataNodeProcessor} which processes any {@link UIInfo}s
@@ -43,6 +45,8 @@ public class UIInfoNodeProcessor implements MetadataNodeProcessor {
metadataNode.getObjectMetadata().put(new IdPUIInfo((UIInfo) metadataNode));
} else if (metadataNode instanceof AttributeConsumingService) {
metadataNode.getObjectMetadata().put(new ACSUIInfo((AttributeConsumingService)metadataNode));
+ } else if (metadataNode instanceof Organization) {
+ metadataNode.getObjectMetadata().put(new OrganizationUIInfo((Organization)metadataNode));
}
}
diff --git a/idp-saml-impl/src/test/java/net/shibboleth/idp/saml/metadata/impl/UIInfoNodeProcessorTest.java b/idp-saml-impl/src/test/java/net/shibboleth/idp/saml/metadata/impl/UIInfoNodeProcessorTest.java
index 792a22e..f306391 100644
--- a/idp-saml-impl/src/test/java/net/shibboleth/idp/saml/metadata/impl/UIInfoNodeProcessorTest.java
+++ b/idp-saml-impl/src/test/java/net/shibboleth/idp/saml/metadata/impl/UIInfoNodeProcessorTest.java
@@ -32,6 +32,7 @@ import org.testng.annotations.Test;
import net.shibboleth.idp.saml.metadata.ACSUIInfo;
import net.shibboleth.idp.saml.metadata.IdPUIInfo;
+import net.shibboleth.idp.saml.metadata.OrganizationUIInfo;
import net.shibboleth.utilities.java.support.resolver.CriteriaSet;
import net.shibboleth.utilities.java.support.resolver.ResolverException;
@@ -59,7 +60,6 @@ public final class UIInfoNodeProcessorTest extends BaseNodeProcessorTest {
assertEquals(uiInfo.getNonLocaleLogos().size(), 2);
}
-
public void acsUIInfoTest() throws ResolverException {
final EntityDescriptor entity = resolver.resolveSingle(new CriteriaSet(new EntityIdCriterion("https://sp.example.org")));
@@ -76,6 +76,17 @@ public final class UIInfoNodeProcessorTest extends BaseNodeProcessorTest {
assertEquals(uiInfo.getServiceDescriptions().get(l), "ServiceDesc");
}
+ public void organizationInfoTest() throws ResolverException {
+ final EntityDescriptor entity = resolver.resolveSingle(new CriteriaSet(new EntityIdCriterion("https://sp.example.org")));
+
+ final OrganizationUIInfo info = entity.getOrganization().getObjectMetadata().get(OrganizationUIInfo.class).get(0);
+
+ assertEquals(info.getOrganizationNames().size(), 2);
+ assertEquals(info.getOrganizationNames().get(Locale.forLanguageTag("en")), "org");
+ assertEquals(info.getOrganizationDisplayNames().size(), 1);
+ assertEquals(info.getOrganizationUrls().size(), 1);
+ }
+
/** {@inheritDoc} */
protected MetadataNodeProcessor getProcessor() {
diff --git a/idp-saml-impl/src/test/resources/net/shibboleth/idp/saml/impl/metadata/NodeProcessor-metadata.xml b/idp-saml-impl/src/test/resources/net/shibboleth/idp/saml/impl/metadata/NodeProcessor-metadata.xml
index 7bf81df..f250e23 100644
--- a/idp-saml-impl/src/test/resources/net/shibboleth/idp/saml/impl/metadata/NodeProcessor-metadata.xml
+++ b/idp-saml-impl/src/test/resources/net/shibboleth/idp/saml/impl/metadata/NodeProcessor-metadata.xml
@@ -55,5 +55,11 @@ urn:oasis:names:tc:SAML:metadata:ui http://docs.oasis-open.org/security/saml/Pos
<ServiceDescription xml:lang="de">ServiceDesc</ServiceDescription>
</AttributeConsumingService>
</SPSSODescriptor>
+ <Organization>
+ <OrganizationName xml:lang="en">org</OrganizationName>
+ <OrganizationName xml:lang="fr">gro</OrganizationName>
+ <OrganizationDisplayName xml:lang="en">odn</OrganizationDisplayName>
+ <OrganizationURL xml:lang="en">url</OrganizationURL>
+ </Organization>
</EntityDescriptor>
</EntitiesDescriptor>
--
To stop receiving notification emails like this one, please contact
the administrator of this repository.
More information about the commits
mailing list