[java-metadata-aggregator] branch main updated: MDA-65 - Catch up on unit tests
Ian Young
ian at iay.org.uk
Mon Aug 31 14:07:49 UTC 2020
This is an automated email from the git hooks/post-receive script.
iay pushed a commit to branch main
in repository java-metadata-aggregator.
View the commit online:
http://git.shibboleth.net/view/?p=java-metadata-aggregator.git;a=commit;h=299fda2afff19577c57b38152ea29193aa04050c
The following commit(s) were added to refs/heads/main by this push:
new 299fda2 MDA-65 - Catch up on unit tests
299fda2 is described below
commit 299fda2afff19577c57b38152ea29193aa04050c
Author: Ian Young <ian at iay.org.uk>
AuthorDate: Mon Aug 31 15:07:46 2020 +0100
MDA-65 - Catch up on unit tests
https://issues.shibboleth.net/jira/browse/MDA-65
---
.../saml/DiscoFeedCollectionSerializerTest.java | 48 ++++++++-
...iscoFeedCollectionSerializer-no-uiinfo-leg.json | 11 ++
...DiscoFeedCollectionSerializer-no-uiinfo-leg.xml | 112 +++++++++++++++++++++
.../DiscoFeedCollectionSerializer-no-uiinfo.json | 5 +
.../DiscoFeedCollectionSerializer-no-uiinfo.xml | 112 +++++++++++++++++++++
.../saml/DiscoFeedCollectionSerializer-noidp.xml | 110 ++++++++++++++++++++
.../DiscoFeedCollectionSerializer-nonentity.xml | 4 +
7 files changed, 401 insertions(+), 1 deletion(-)
diff --git a/aggregator-pipeline/src/test/java/net/shibboleth/metadata/dom/saml/DiscoFeedCollectionSerializerTest.java b/aggregator-pipeline/src/test/java/net/shibboleth/metadata/dom/saml/DiscoFeedCollectionSerializerTest.java
index 503c4b2..62b9e5d 100644
--- a/aggregator-pipeline/src/test/java/net/shibboleth/metadata/dom/saml/DiscoFeedCollectionSerializerTest.java
+++ b/aggregator-pipeline/src/test/java/net/shibboleth/metadata/dom/saml/DiscoFeedCollectionSerializerTest.java
@@ -46,7 +46,7 @@ public class DiscoFeedCollectionSerializerTest extends BaseDOMTest {
try (var reader = Json.createReader(in)) {
return reader.readArray();
}
- }
+ }
}
private void checkEntity(@Nonnull final JsonObject entity) {
@@ -214,6 +214,52 @@ public class DiscoFeedCollectionSerializerTest extends BaseDOMTest {
Assert.assertEquals(attrs.getJsonObject(2).getJsonArray("values").getString(0), "whatever");
}
+ // Test a case where we include only an IdP entity
+ @Test
+ public void testOnlyIdP() throws Exception {
+ final var ser = new DiscoFeedCollectionSerializer();
+ ser.initialize();
+ final String output;
+ try (final var out = new ByteArrayOutputStream()) {
+ ser.serializeCollection(List.of(readDOMItem("noidp.xml")), out);
+ output = out.toString();
+ }
+ Assert.assertEquals(output, "[]");
+ }
+
+ // Test output for a non-entity
+ @Test
+ public void testNonEntity() throws Exception {
+ final var ser = new DiscoFeedCollectionSerializer();
+ ser.initialize();
+ final String output;
+ try (final var out = new ByteArrayOutputStream()) {
+ ser.serializeCollection(List.of(readDOMItem("nonentity.xml")), out);
+ output = out.toString();
+ }
+ Assert.assertEquals(output, "[]");
+ }
+
+ // Test an entity with no UIInfo container
+ @Test
+ public void testNoUIInfo() throws Exception {
+ final var ser = new DiscoFeedCollectionSerializer();
+ ser.initialize();
+ final var entity = checkSingle("no-uiinfo", ser);
+ Assert.assertEquals(entity.keySet().size(), 1); // just the entityID
+ Assert.assertFalse(entity.containsKey("DisplayNames"));
+ }
+
+ // Test an entity with no UIInfo container, with legacy display names
+ @Test
+ public void testNoUIInfoLegacy() throws Exception {
+ final var ser = new DiscoFeedCollectionSerializer();
+ ser.setIncludingLegacyDisplayNames(true);
+ ser.initialize();
+ final var entity = checkSingle("no-uiinfo-leg", ser);
+ Assert.assertTrue(entity.containsKey("DisplayNames"));
+ }
+
// Test a large aggregate. This test is normally disabled, but it
// can be brought back to life if necessary to test a new corpus.
@Test(enabled=false)
diff --git a/aggregator-pipeline/src/test/resources/net/shibboleth/metadata/dom/saml/DiscoFeedCollectionSerializer-no-uiinfo-leg.json b/aggregator-pipeline/src/test/resources/net/shibboleth/metadata/dom/saml/DiscoFeedCollectionSerializer-no-uiinfo-leg.json
new file mode 100644
index 0000000..b490bbe
--- /dev/null
+++ b/aggregator-pipeline/src/test/resources/net/shibboleth/metadata/dom/saml/DiscoFeedCollectionSerializer-no-uiinfo-leg.json
@@ -0,0 +1,11 @@
+[
+{
+ "entityID": "https://idp.example.com/idp/shibboleth",
+ "DisplayNames": [
+ {
+ "value": "The Example Organization",
+ "lang": "en"
+ }
+ ]
+}
+]
diff --git a/aggregator-pipeline/src/test/resources/net/shibboleth/metadata/dom/saml/DiscoFeedCollectionSerializer-no-uiinfo-leg.xml b/aggregator-pipeline/src/test/resources/net/shibboleth/metadata/dom/saml/DiscoFeedCollectionSerializer-no-uiinfo-leg.xml
new file mode 100644
index 0000000..32ef135
--- /dev/null
+++ b/aggregator-pipeline/src/test/resources/net/shibboleth/metadata/dom/saml/DiscoFeedCollectionSerializer-no-uiinfo-leg.xml
@@ -0,0 +1,112 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<EntityDescriptor xmlns="urn:oasis:names:tc:SAML:2.0:metadata"
+ xmlns:alg="urn:oasis:names:tc:SAML:metadata:algsupport"
+ xmlns:ds="http://www.w3.org/2000/09/xmldsig#"
+ xmlns:idpdisc="urn:oasis:names:tc:SAML:profiles:SSO:idp-discovery-protocol"
+ xmlns:init="urn:oasis:names:tc:SAML:profiles:SSO:request-init"
+ xmlns:mdattr="urn:oasis:names:tc:SAML:metadata:attribute"
+ xmlns:mdrpi="urn:oasis:names:tc:SAML:metadata:rpi"
+ xmlns:mdui="urn:oasis:names:tc:SAML:metadata:ui"
+ xmlns:remd="http://refeds.org/metadata"
+ xmlns:saml="urn:oasis:names:tc:SAML:2.0:assertion"
+ xmlns:shibmd="urn:mace:shibboleth:metadata:1.0"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ entityID="https://idp.example.com/idp/shibboleth">
+ <Extensions>
+ <shibmd:Scope regexp="false">example.com</shibmd:Scope>
+ <mdrpi:RegistrationInfo registrationAuthority="http://ukfederation.org.uk"
+ registrationInstant="2007-03-30T16:36:00Z">
+ <mdrpi:RegistrationPolicy xml:lang="en"
+ >http://ukfederation.org.uk/doc/mdrps-20130902</mdrpi:RegistrationPolicy>
+ </mdrpi:RegistrationInfo>
+ <mdattr:EntityAttributes xmlns:saml="urn:oasis:names:tc:SAML:2.0:assertion">
+ <saml:Attribute Name="http://macedir.org/entity-category-support"
+ NameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:uri">
+ <saml:AttributeValue>http://refeds.org/category/research-and-scholarship</saml:AttributeValue>
+ </saml:Attribute>
+ </mdattr:EntityAttributes>
+ </Extensions>
+ <IDPSSODescriptor
+ protocolSupportEnumeration="urn:oasis:names:tc:SAML:1.1:protocol urn:mace:shibboleth:1.0 urn:oasis:names:tc:SAML:2.0:protocol">
+ <KeyDescriptor>
+ <ds:KeyInfo>
+ <ds:X509Data>
+ <ds:X509Certificate>
+ MIIDSTCCAjGgAwIBAgIhAMSPOSGN+3UUTXSKV+2EBOuF3x/pwPX/TD9GfyEkzLp+
+ MA0GCSqGSIb3DQEBBQUAMFgxGDAWBgNVBAMMD2lkcDIuaWF5Lm9yZy51azETMBEG
+ CgmSJomT8ixkARkWA2lheTETMBEGCgmSJomT8ixkARkWA29yZzESMBAGCgmSJomT
+ 8ixkARkWAnVrMB4XDTA4MDIyNTEwMzAxNFoXDTI4MDIyNTEwMzAxNFowWDEYMBYG
+ A1UEAwwPaWRwMi5pYXkub3JnLnVrMRMwEQYKCZImiZPyLGQBGRYDaWF5MRMwEQYK
+ CZImiZPyLGQBGRYDb3JnMRIwEAYKCZImiZPyLGQBGRYCdWswggEiMA0GCSqGSIb3
+ DQEBAQUAA4IBDwAwggEKAoIBAQCb6ts48g10XHTnpy+23huzR184aahkrG0AoeUl
+ FVlomPjoFDk6czq0S3Qyd+ceF7tMRu3XzS7cMmtVH53O9d+wCs8aPQcPXxHQ5gLk
+ L7Gu6eJ+3N3jXhpt7/DDPhnzFPNW3EVMueHJ/0IzyspTvq2LPbNWXJ86NKJ+gesZ
+ QftskwXScOjpoJEIP0EA890QYd4WdYtQPqVV+LPKtnYBoGOnuRhSAM1D/EhCbeb0
+ lCmRGcdGbDFBchiPO4VLGl85sLa0EhjxMIPAOKXcj8bBlO9Ww9kkG06kQp6eLHwm
+ Jmt7VNKveCGhyF2QH/CvmdUaPv3gcp1UjrlqFN9LBVSaTIL/AgMBAAEwDQYJKoZI
+ hvcNAQEFBQADggEBAG+jDBAtlKoHaEBB+l6PpW5zuiDjyHG4zZZYqX77mZ9xP/xe
+ Kn0yJ18ZLjS3b9WztGLYyC4SJHSF2okq1K02bqsCv9YeP+UWpw2uRR8jt96lLWxZ
+ jTjoko2v8jBtzDk8LZsqw58m4vZ0AGNZjKeGIywKhxnepwREguyj3bjBpZAGgl0M
+ HQuXoO/BDC9yKyZslE5CpWp5xP4XzY2/LrorrkwOJLnFuk1sox4/gvkDQukUx/jr
+ YRbrWfOjcNBx3LE/HI6RNLINicK7yUwerDE86nix5Zc3hskVcCykW+r6HbY6bx7P
+ YmNKYMZhQAgDtXIjFHOy+WbyVTidmJvxM9UeYCY=
+ </ds:X509Certificate>
+ </ds:X509Data>
+ </ds:KeyInfo>
+ </KeyDescriptor>
+ <ArtifactResolutionService Binding="urn:oasis:names:tc:SAML:1.0:bindings:SOAP-binding"
+ Location="https://idp.example.com:8443/idp/profile/SAML1/SOAP/ArtifactResolution" index="1"/>
+ <ArtifactResolutionService Binding="urn:oasis:names:tc:SAML:2.0:bindings:SOAP"
+ Location="https://idp.example.com:8443/idp/profile/SAML2/SOAP/ArtifactResolution" index="2"/>
+ <NameIDFormat>urn:mace:shibboleth:1.0:nameIdentifier</NameIDFormat>
+ <NameIDFormat>urn:oasis:names:tc:SAML:2.0:nameid-format:transient</NameIDFormat>
+ <SingleSignOnService Binding="urn:mace:shibboleth:1.0:profiles:AuthnRequest"
+ Location="https://idp.example.com/idp/profile/Shibboleth/SSO"/>
+ <SingleSignOnService Binding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST"
+ Location="https://idp.example.com/idp/profile/SAML2/POST/SSO"/>
+ <SingleSignOnService Binding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST-SimpleSign"
+ Location="https://idp.example.com/idp/profile/SAML2/POST-SimpleSign/SSO"/>
+ <SingleSignOnService Binding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Redirect"
+ Location="https://idp.example.com/idp/profile/SAML2/Redirect/SSO"/>
+ </IDPSSODescriptor>
+ <AttributeAuthorityDescriptor
+ protocolSupportEnumeration="urn:oasis:names:tc:SAML:1.1:protocol urn:oasis:names:tc:SAML:2.0:protocol">
+ <KeyDescriptor>
+ <ds:KeyInfo>
+ <ds:X509Data>
+ <ds:X509Certificate>
+ MIIDSTCCAjGgAwIBAgIhAMSPOSGN+3UUTXSKV+2EBOuF3x/pwPX/TD9GfyEkzLp+
+ MA0GCSqGSIb3DQEBBQUAMFgxGDAWBgNVBAMMD2lkcDIuaWF5Lm9yZy51azETMBEG
+ CgmSJomT8ixkARkWA2lheTETMBEGCgmSJomT8ixkARkWA29yZzESMBAGCgmSJomT
+ 8ixkARkWAnVrMB4XDTA4MDIyNTEwMzAxNFoXDTI4MDIyNTEwMzAxNFowWDEYMBYG
+ A1UEAwwPaWRwMi5pYXkub3JnLnVrMRMwEQYKCZImiZPyLGQBGRYDaWF5MRMwEQYK
+ CZImiZPyLGQBGRYDb3JnMRIwEAYKCZImiZPyLGQBGRYCdWswggEiMA0GCSqGSIb3
+ DQEBAQUAA4IBDwAwggEKAoIBAQCb6ts48g10XHTnpy+23huzR184aahkrG0AoeUl
+ FVlomPjoFDk6czq0S3Qyd+ceF7tMRu3XzS7cMmtVH53O9d+wCs8aPQcPXxHQ5gLk
+ L7Gu6eJ+3N3jXhpt7/DDPhnzFPNW3EVMueHJ/0IzyspTvq2LPbNWXJ86NKJ+gesZ
+ QftskwXScOjpoJEIP0EA890QYd4WdYtQPqVV+LPKtnYBoGOnuRhSAM1D/EhCbeb0
+ lCmRGcdGbDFBchiPO4VLGl85sLa0EhjxMIPAOKXcj8bBlO9Ww9kkG06kQp6eLHwm
+ Jmt7VNKveCGhyF2QH/CvmdUaPv3gcp1UjrlqFN9LBVSaTIL/AgMBAAEwDQYJKoZI
+ hvcNAQEFBQADggEBAG+jDBAtlKoHaEBB+l6PpW5zuiDjyHG4zZZYqX77mZ9xP/xe
+ Kn0yJ18ZLjS3b9WztGLYyC4SJHSF2okq1K02bqsCv9YeP+UWpw2uRR8jt96lLWxZ
+ jTjoko2v8jBtzDk8LZsqw58m4vZ0AGNZjKeGIywKhxnepwREguyj3bjBpZAGgl0M
+ HQuXoO/BDC9yKyZslE5CpWp5xP4XzY2/LrorrkwOJLnFuk1sox4/gvkDQukUx/jr
+ YRbrWfOjcNBx3LE/HI6RNLINicK7yUwerDE86nix5Zc3hskVcCykW+r6HbY6bx7P
+ YmNKYMZhQAgDtXIjFHOy+WbyVTidmJvxM9UeYCY=
+ </ds:X509Certificate>
+ </ds:X509Data>
+ </ds:KeyInfo>
+ </KeyDescriptor>
+ <AttributeService Binding="urn:oasis:names:tc:SAML:1.0:bindings:SOAP-binding"
+ Location="https://idp.example.com:8443/idp/profile/SAML1/SOAP/AttributeQuery"/>
+ <AttributeService Binding="urn:oasis:names:tc:SAML:2.0:bindings:SOAP"
+ Location="https://idp.example.com:8443/idp/profile/SAML2/SOAP/AttributeQuery"/>
+ <NameIDFormat>urn:mace:shibboleth:1.0:nameIdentifier</NameIDFormat>
+ <NameIDFormat>urn:oasis:names:tc:SAML:2.0:nameid-format:transient</NameIDFormat>
+ </AttributeAuthorityDescriptor>
+ <Organization>
+ <OrganizationName xml:lang="en">Example Organization</OrganizationName>
+ <OrganizationDisplayName xml:lang="en">The Example Organization</OrganizationDisplayName>
+ <OrganizationURL xml:lang="en">http://example.com/</OrganizationURL>
+ </Organization>
+</EntityDescriptor>
diff --git a/aggregator-pipeline/src/test/resources/net/shibboleth/metadata/dom/saml/DiscoFeedCollectionSerializer-no-uiinfo.json b/aggregator-pipeline/src/test/resources/net/shibboleth/metadata/dom/saml/DiscoFeedCollectionSerializer-no-uiinfo.json
new file mode 100644
index 0000000..18a1150
--- /dev/null
+++ b/aggregator-pipeline/src/test/resources/net/shibboleth/metadata/dom/saml/DiscoFeedCollectionSerializer-no-uiinfo.json
@@ -0,0 +1,5 @@
+[
+{
+ "entityID": "https://idp.example.com/idp/shibboleth"
+}
+]
diff --git a/aggregator-pipeline/src/test/resources/net/shibboleth/metadata/dom/saml/DiscoFeedCollectionSerializer-no-uiinfo.xml b/aggregator-pipeline/src/test/resources/net/shibboleth/metadata/dom/saml/DiscoFeedCollectionSerializer-no-uiinfo.xml
new file mode 100644
index 0000000..32ef135
--- /dev/null
+++ b/aggregator-pipeline/src/test/resources/net/shibboleth/metadata/dom/saml/DiscoFeedCollectionSerializer-no-uiinfo.xml
@@ -0,0 +1,112 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<EntityDescriptor xmlns="urn:oasis:names:tc:SAML:2.0:metadata"
+ xmlns:alg="urn:oasis:names:tc:SAML:metadata:algsupport"
+ xmlns:ds="http://www.w3.org/2000/09/xmldsig#"
+ xmlns:idpdisc="urn:oasis:names:tc:SAML:profiles:SSO:idp-discovery-protocol"
+ xmlns:init="urn:oasis:names:tc:SAML:profiles:SSO:request-init"
+ xmlns:mdattr="urn:oasis:names:tc:SAML:metadata:attribute"
+ xmlns:mdrpi="urn:oasis:names:tc:SAML:metadata:rpi"
+ xmlns:mdui="urn:oasis:names:tc:SAML:metadata:ui"
+ xmlns:remd="http://refeds.org/metadata"
+ xmlns:saml="urn:oasis:names:tc:SAML:2.0:assertion"
+ xmlns:shibmd="urn:mace:shibboleth:metadata:1.0"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ entityID="https://idp.example.com/idp/shibboleth">
+ <Extensions>
+ <shibmd:Scope regexp="false">example.com</shibmd:Scope>
+ <mdrpi:RegistrationInfo registrationAuthority="http://ukfederation.org.uk"
+ registrationInstant="2007-03-30T16:36:00Z">
+ <mdrpi:RegistrationPolicy xml:lang="en"
+ >http://ukfederation.org.uk/doc/mdrps-20130902</mdrpi:RegistrationPolicy>
+ </mdrpi:RegistrationInfo>
+ <mdattr:EntityAttributes xmlns:saml="urn:oasis:names:tc:SAML:2.0:assertion">
+ <saml:Attribute Name="http://macedir.org/entity-category-support"
+ NameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:uri">
+ <saml:AttributeValue>http://refeds.org/category/research-and-scholarship</saml:AttributeValue>
+ </saml:Attribute>
+ </mdattr:EntityAttributes>
+ </Extensions>
+ <IDPSSODescriptor
+ protocolSupportEnumeration="urn:oasis:names:tc:SAML:1.1:protocol urn:mace:shibboleth:1.0 urn:oasis:names:tc:SAML:2.0:protocol">
+ <KeyDescriptor>
+ <ds:KeyInfo>
+ <ds:X509Data>
+ <ds:X509Certificate>
+ MIIDSTCCAjGgAwIBAgIhAMSPOSGN+3UUTXSKV+2EBOuF3x/pwPX/TD9GfyEkzLp+
+ MA0GCSqGSIb3DQEBBQUAMFgxGDAWBgNVBAMMD2lkcDIuaWF5Lm9yZy51azETMBEG
+ CgmSJomT8ixkARkWA2lheTETMBEGCgmSJomT8ixkARkWA29yZzESMBAGCgmSJomT
+ 8ixkARkWAnVrMB4XDTA4MDIyNTEwMzAxNFoXDTI4MDIyNTEwMzAxNFowWDEYMBYG
+ A1UEAwwPaWRwMi5pYXkub3JnLnVrMRMwEQYKCZImiZPyLGQBGRYDaWF5MRMwEQYK
+ CZImiZPyLGQBGRYDb3JnMRIwEAYKCZImiZPyLGQBGRYCdWswggEiMA0GCSqGSIb3
+ DQEBAQUAA4IBDwAwggEKAoIBAQCb6ts48g10XHTnpy+23huzR184aahkrG0AoeUl
+ FVlomPjoFDk6czq0S3Qyd+ceF7tMRu3XzS7cMmtVH53O9d+wCs8aPQcPXxHQ5gLk
+ L7Gu6eJ+3N3jXhpt7/DDPhnzFPNW3EVMueHJ/0IzyspTvq2LPbNWXJ86NKJ+gesZ
+ QftskwXScOjpoJEIP0EA890QYd4WdYtQPqVV+LPKtnYBoGOnuRhSAM1D/EhCbeb0
+ lCmRGcdGbDFBchiPO4VLGl85sLa0EhjxMIPAOKXcj8bBlO9Ww9kkG06kQp6eLHwm
+ Jmt7VNKveCGhyF2QH/CvmdUaPv3gcp1UjrlqFN9LBVSaTIL/AgMBAAEwDQYJKoZI
+ hvcNAQEFBQADggEBAG+jDBAtlKoHaEBB+l6PpW5zuiDjyHG4zZZYqX77mZ9xP/xe
+ Kn0yJ18ZLjS3b9WztGLYyC4SJHSF2okq1K02bqsCv9YeP+UWpw2uRR8jt96lLWxZ
+ jTjoko2v8jBtzDk8LZsqw58m4vZ0AGNZjKeGIywKhxnepwREguyj3bjBpZAGgl0M
+ HQuXoO/BDC9yKyZslE5CpWp5xP4XzY2/LrorrkwOJLnFuk1sox4/gvkDQukUx/jr
+ YRbrWfOjcNBx3LE/HI6RNLINicK7yUwerDE86nix5Zc3hskVcCykW+r6HbY6bx7P
+ YmNKYMZhQAgDtXIjFHOy+WbyVTidmJvxM9UeYCY=
+ </ds:X509Certificate>
+ </ds:X509Data>
+ </ds:KeyInfo>
+ </KeyDescriptor>
+ <ArtifactResolutionService Binding="urn:oasis:names:tc:SAML:1.0:bindings:SOAP-binding"
+ Location="https://idp.example.com:8443/idp/profile/SAML1/SOAP/ArtifactResolution" index="1"/>
+ <ArtifactResolutionService Binding="urn:oasis:names:tc:SAML:2.0:bindings:SOAP"
+ Location="https://idp.example.com:8443/idp/profile/SAML2/SOAP/ArtifactResolution" index="2"/>
+ <NameIDFormat>urn:mace:shibboleth:1.0:nameIdentifier</NameIDFormat>
+ <NameIDFormat>urn:oasis:names:tc:SAML:2.0:nameid-format:transient</NameIDFormat>
+ <SingleSignOnService Binding="urn:mace:shibboleth:1.0:profiles:AuthnRequest"
+ Location="https://idp.example.com/idp/profile/Shibboleth/SSO"/>
+ <SingleSignOnService Binding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST"
+ Location="https://idp.example.com/idp/profile/SAML2/POST/SSO"/>
+ <SingleSignOnService Binding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST-SimpleSign"
+ Location="https://idp.example.com/idp/profile/SAML2/POST-SimpleSign/SSO"/>
+ <SingleSignOnService Binding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Redirect"
+ Location="https://idp.example.com/idp/profile/SAML2/Redirect/SSO"/>
+ </IDPSSODescriptor>
+ <AttributeAuthorityDescriptor
+ protocolSupportEnumeration="urn:oasis:names:tc:SAML:1.1:protocol urn:oasis:names:tc:SAML:2.0:protocol">
+ <KeyDescriptor>
+ <ds:KeyInfo>
+ <ds:X509Data>
+ <ds:X509Certificate>
+ MIIDSTCCAjGgAwIBAgIhAMSPOSGN+3UUTXSKV+2EBOuF3x/pwPX/TD9GfyEkzLp+
+ MA0GCSqGSIb3DQEBBQUAMFgxGDAWBgNVBAMMD2lkcDIuaWF5Lm9yZy51azETMBEG
+ CgmSJomT8ixkARkWA2lheTETMBEGCgmSJomT8ixkARkWA29yZzESMBAGCgmSJomT
+ 8ixkARkWAnVrMB4XDTA4MDIyNTEwMzAxNFoXDTI4MDIyNTEwMzAxNFowWDEYMBYG
+ A1UEAwwPaWRwMi5pYXkub3JnLnVrMRMwEQYKCZImiZPyLGQBGRYDaWF5MRMwEQYK
+ CZImiZPyLGQBGRYDb3JnMRIwEAYKCZImiZPyLGQBGRYCdWswggEiMA0GCSqGSIb3
+ DQEBAQUAA4IBDwAwggEKAoIBAQCb6ts48g10XHTnpy+23huzR184aahkrG0AoeUl
+ FVlomPjoFDk6czq0S3Qyd+ceF7tMRu3XzS7cMmtVH53O9d+wCs8aPQcPXxHQ5gLk
+ L7Gu6eJ+3N3jXhpt7/DDPhnzFPNW3EVMueHJ/0IzyspTvq2LPbNWXJ86NKJ+gesZ
+ QftskwXScOjpoJEIP0EA890QYd4WdYtQPqVV+LPKtnYBoGOnuRhSAM1D/EhCbeb0
+ lCmRGcdGbDFBchiPO4VLGl85sLa0EhjxMIPAOKXcj8bBlO9Ww9kkG06kQp6eLHwm
+ Jmt7VNKveCGhyF2QH/CvmdUaPv3gcp1UjrlqFN9LBVSaTIL/AgMBAAEwDQYJKoZI
+ hvcNAQEFBQADggEBAG+jDBAtlKoHaEBB+l6PpW5zuiDjyHG4zZZYqX77mZ9xP/xe
+ Kn0yJ18ZLjS3b9WztGLYyC4SJHSF2okq1K02bqsCv9YeP+UWpw2uRR8jt96lLWxZ
+ jTjoko2v8jBtzDk8LZsqw58m4vZ0AGNZjKeGIywKhxnepwREguyj3bjBpZAGgl0M
+ HQuXoO/BDC9yKyZslE5CpWp5xP4XzY2/LrorrkwOJLnFuk1sox4/gvkDQukUx/jr
+ YRbrWfOjcNBx3LE/HI6RNLINicK7yUwerDE86nix5Zc3hskVcCykW+r6HbY6bx7P
+ YmNKYMZhQAgDtXIjFHOy+WbyVTidmJvxM9UeYCY=
+ </ds:X509Certificate>
+ </ds:X509Data>
+ </ds:KeyInfo>
+ </KeyDescriptor>
+ <AttributeService Binding="urn:oasis:names:tc:SAML:1.0:bindings:SOAP-binding"
+ Location="https://idp.example.com:8443/idp/profile/SAML1/SOAP/AttributeQuery"/>
+ <AttributeService Binding="urn:oasis:names:tc:SAML:2.0:bindings:SOAP"
+ Location="https://idp.example.com:8443/idp/profile/SAML2/SOAP/AttributeQuery"/>
+ <NameIDFormat>urn:mace:shibboleth:1.0:nameIdentifier</NameIDFormat>
+ <NameIDFormat>urn:oasis:names:tc:SAML:2.0:nameid-format:transient</NameIDFormat>
+ </AttributeAuthorityDescriptor>
+ <Organization>
+ <OrganizationName xml:lang="en">Example Organization</OrganizationName>
+ <OrganizationDisplayName xml:lang="en">The Example Organization</OrganizationDisplayName>
+ <OrganizationURL xml:lang="en">http://example.com/</OrganizationURL>
+ </Organization>
+</EntityDescriptor>
diff --git a/aggregator-pipeline/src/test/resources/net/shibboleth/metadata/dom/saml/DiscoFeedCollectionSerializer-noidp.xml b/aggregator-pipeline/src/test/resources/net/shibboleth/metadata/dom/saml/DiscoFeedCollectionSerializer-noidp.xml
new file mode 100644
index 0000000..73ff19b
--- /dev/null
+++ b/aggregator-pipeline/src/test/resources/net/shibboleth/metadata/dom/saml/DiscoFeedCollectionSerializer-noidp.xml
@@ -0,0 +1,110 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<EntityDescriptor xmlns="urn:oasis:names:tc:SAML:2.0:metadata"
+ xmlns:alg="urn:oasis:names:tc:SAML:metadata:algsupport"
+ xmlns:ds="http://www.w3.org/2000/09/xmldsig#"
+ xmlns:idpdisc="urn:oasis:names:tc:SAML:profiles:SSO:idp-discovery-protocol"
+ xmlns:init="urn:oasis:names:tc:SAML:profiles:SSO:request-init"
+ xmlns:mdattr="urn:oasis:names:tc:SAML:metadata:attribute"
+ xmlns:mdrpi="urn:oasis:names:tc:SAML:metadata:rpi"
+ xmlns:mdui="urn:oasis:names:tc:SAML:metadata:ui"
+ xmlns:remd="http://refeds.org/metadata"
+ xmlns:saml="urn:oasis:names:tc:SAML:2.0:assertion"
+ xmlns:shibmd="urn:mace:shibboleth:metadata:1.0"
+ xmlns:ukfedlabel="http://ukfederation.org.uk/2006/11/label"
+ entityID="https://sp.example.org/entity">
+ <SPSSODescriptor
+ protocolSupportEnumeration="urn:oasis:names:tc:SAML:1.1:protocol urn:oasis:names:tc:SAML:1.0:protocol urn:oasis:names:tc:SAML:2.0:protocol">
+ <Extensions>
+ <mdui:UIInfo xmlns:mdui="urn:oasis:names:tc:SAML:metadata:ui">
+ <mdui:Logo height="65" width="150">https://auth.edina.ac.uk/public/images/splogos/edina.png</mdui:Logo>
+ <mdui:DisplayName xml:lang="en">EDINA services</mdui:DisplayName>
+ <mdui:Description xml:lang="en">EDINA services for research and education</mdui:Description>
+ </mdui:UIInfo>
+ <init:RequestInitiator Binding="urn:oasis:names:tc:SAML:profiles:SSO:request-init"
+ Location="https://authdev.edina.ac.uk/target/Shibboleth.sso/DS"/>
+ <init:RequestInitiator Binding="urn:oasis:names:tc:SAML:profiles:SSO:request-init"
+ Location="https://auth.edina.ac.uk/target/Shibboleth.sso/DS"/>
+ <idpdisc:DiscoveryResponse Binding="urn:oasis:names:tc:SAML:profiles:SSO:idp-discovery-protocol"
+ Location="https://authdev.edina.ac.uk/target/Shibboleth.sso/DS" index="1"/>
+ <idpdisc:DiscoveryResponse Binding="urn:oasis:names:tc:SAML:profiles:SSO:idp-discovery-protocol"
+ Location="https://auth.edina.ac.uk/target/Shibboleth.sso/DS" index="2"/>
+ </Extensions>
+ <KeyDescriptor>
+ <ds:KeyInfo>
+ <ds:X509Data>
+ <ds:X509Certificate>
+ MIIESDCCAzCgAwIBAgIJAKrBnZO7TvNTMA0GCSqGSIb3DQEBBQUAMIGkMQswCQYD
+ VQQGEwJHQjERMA8GA1UECBMIU2NvdGxhbmQxEjAQBgNVBAcTCUVkaW5idXJnaDEk
+ MCIGA1UEChMbVGhlIFVuaXZlcnNpdHkgb2YgRWRpbmJ1cmdoMQ4wDAYDVQQLEwVF
+ RElOQTEZMBcGA1UEAxMQdnNwMi5lZGluYS5hYy51azEdMBsGCSqGSIb3DQEJARYO
+ ZWRpbmFAZWQuYWMudWswHhcNMTAwMjAxMTY0OTI1WhcNMjAwMTMwMTY0OTI1WjCB
+ pDELMAkGA1UEBhMCR0IxETAPBgNVBAgTCFNjb3RsYW5kMRIwEAYDVQQHEwlFZGlu
+ YnVyZ2gxJDAiBgNVBAoTG1RoZSBVbml2ZXJzaXR5IG9mIEVkaW5idXJnaDEOMAwG
+ A1UECxMFRURJTkExGTAXBgNVBAMTEHZzcDIuZWRpbmEuYWMudWsxHTAbBgkqhkiG
+ 9w0BCQEWDmVkaW5hQGVkLmFjLnVrMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIB
+ CgKCAQEAynwMFgT8x37YBNpxAGTtLJxF3iG1adpqRmin40XS86HdJP21dzsH7JD1
+ RanxUJJOWU8wud9e//ZZTC58TZbc8Zp0JRc5hlTOmLRksYt4B0QxrCqJ4EmFKlIM
+ igE5ZNgoR+lwS1ENKikIHibnVcNF9IpIkX8sTzCY18JcileM8Yz5b+R91yoha1MU
+ asRefMf2j7RR6kldAJw2Xj63aFtN0NXL6Z+HiLyg4JNslJTH9c3Ha88tI+6Ce1Q6
+ rG7rztkpHAD5Rd+ovQMysk9ihA3RN18X0Uu8LqExH2tUqq51Fmd+KQ04hyjE4gx+
+ w2T6MwPmdp6zLQSXFf6x9CeRai7MwwIDAQABo3sweTAJBgNVHRMEAjAAMCwGCWCG
+ SAGG+EIBDQQfFh1PcGVuU1NMIEdlbmVyYXRlZCBDZXJ0aWZpY2F0ZTAdBgNVHQ4E
+ FgQU59hHQ8+jwnn2x3Yz4BDaEaDHUrswHwYDVR0jBBgwFoAU59hHQ8+jwnn2x3Yz
+ 4BDaEaDHUrswDQYJKoZIhvcNAQEFBQADggEBAB5CEE4B61l2mn/sBlc7+qN+obOW
+ gZURJvs/EeIlfR7LpWRITMSn4pE5mPR4R96tL0vNXc1jl5c2sTV9dtztazWmU+Z1
+ u3rniEM6jETPFqlmYhOPFzYWoQTB0LGv3Id0NR4dCFDtFNl+EPaQAug9C39gkOCN
+ iLZJlzOZxUALuUvebPbZMfqSTo8SdFT1Cv2No0hQIBjvlO1OimSjAWgkFR3snW8b
+ xzZ/lWUqrLDZYSo5LXQad3yNfhwi4dMJ5PRuAuTH1akdwlVf4AIeIQDm3QBKJIhj
+ TOGrFRiCdlp4cIQwN66UelzUH2KjlI/iQXYLbq5uUHN/EI47I/E0gpnYr5E=
+ </ds:X509Certificate>
+ </ds:X509Data>
+ </ds:KeyInfo>
+ </KeyDescriptor>
+ <ArtifactResolutionService Binding="urn:oasis:names:tc:SAML:2.0:bindings:SOAP"
+ Location="https://authdev.edina.ac.uk/target/Shibboleth.sso/Artifact/SOAP" index="1"/>
+ <ArtifactResolutionService Binding="urn:oasis:names:tc:SAML:2.0:bindings:SOAP"
+ Location="https://auth.edina.ac.uk/target/Shibboleth.sso/Artifact/SOAP" index="2"/>
+ <AssertionConsumerService Binding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Artifact"
+ Location="https://auth.edina.ac.uk/target/Shibboleth.sso/SAML2/Artifact" index="1"/>
+ <AssertionConsumerService Binding="urn:oasis:names:tc:SAML:2.0:bindings:PAOS"
+ Location="https://auth.edina.ac.uk/target/Shibboleth.sso/SAML2/ECP" index="2"/>
+ <AssertionConsumerService Binding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST"
+ Location="https://auth.edina.ac.uk/target/Shibboleth.sso/SAML2/POST" index="3"/>
+ <AssertionConsumerService Binding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST-SimpleSign"
+ Location="https://auth.edina.ac.uk/target/Shibboleth.sso/SAML2/POST-SimpleSign" index="4"/>
+ <AssertionConsumerService Binding="urn:oasis:names:tc:SAML:1.0:profiles:browser-post"
+ Location="https://auth.edina.ac.uk/target/Shibboleth.sso/SAML/POST" index="5"/>
+ <AssertionConsumerService Binding="urn:oasis:names:tc:SAML:1.0:profiles:artifact-01"
+ Location="https://auth.edina.ac.uk/target/Shibboleth.sso/SAML/Artifact" index="6"/>
+ <AssertionConsumerService Binding="urn:oasis:names:tc:SAML:1.0:profiles:artifact-01"
+ Location="https://authdev.edina.ac.uk/target/Shibboleth.sso/SAML/Artifact" index="7"/>
+ <AssertionConsumerService Binding="urn:oasis:names:tc:SAML:1.0:profiles:browser-post"
+ Location="https://authdev.edina.ac.uk/target/Shibboleth.sso/SAML/POST" index="8"/>
+ <AssertionConsumerService Binding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Artifact"
+ Location="https://authdev.edina.ac.uk/target/Shibboleth.sso/SAML2/Artifact" index="9"/>
+ <AssertionConsumerService Binding="urn:oasis:names:tc:SAML:2.0:bindings:PAOS"
+ Location="https://authdev.edina.ac.uk/target/Shibboleth.sso/SAML2/ECP" index="10"/>
+ <AssertionConsumerService Binding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST"
+ Location="https://authdev.edina.ac.uk/target/Shibboleth.sso/SAML2/POST" index="11"/>
+ <AssertionConsumerService Binding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST-SimpleSign"
+ Location="https://authdev.edina.ac.uk/target/Shibboleth.sso/SAML2/POST-SimpleSign" index="12"/>
+ </SPSSODescriptor>
+ <Organization>
+ <OrganizationName xml:lang="en">University of Edinburgh</OrganizationName>
+ <OrganizationDisplayName xml:lang="en">EDINA Test Target</OrganizationDisplayName>
+ <OrganizationURL xml:lang="en">http://edina.ac.uk/about/</OrganizationURL>
+ </Organization>
+ <ContactPerson contactType="support">
+ <GivenName>EDINA Helpdesk</GivenName>
+ <EmailAddress>mailto:edina at ed.ac.uk</EmailAddress>
+ </ContactPerson>
+ <ContactPerson contactType="technical">
+ <GivenName>EDINA</GivenName>
+ <EmailAddress>mailto:edina-shibboleth at mlist.is.ed.ac.uk</EmailAddress>
+ </ContactPerson>
+ <ContactPerson contactType="administrative">
+ <GivenName>David</GivenName>
+ <SurName>Elsmore</SurName>
+ <EmailAddress>mailto:david.elsmore at ed.ac.uk</EmailAddress>
+ </ContactPerson>
+</EntityDescriptor>
diff --git a/aggregator-pipeline/src/test/resources/net/shibboleth/metadata/dom/saml/DiscoFeedCollectionSerializer-nonentity.xml b/aggregator-pipeline/src/test/resources/net/shibboleth/metadata/dom/saml/DiscoFeedCollectionSerializer-nonentity.xml
new file mode 100644
index 0000000..f4d0f9a
--- /dev/null
+++ b/aggregator-pipeline/src/test/resources/net/shibboleth/metadata/dom/saml/DiscoFeedCollectionSerializer-nonentity.xml
@@ -0,0 +1,4 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<NotAnEntity>
+ <notEvenInTheRightNamespace/>
+</NotAnEntity>
--
To stop receiving notification emails like this one, please contact
the administrator of this repository.
More information about the commits
mailing list