[java-shib-metadata] branch main updated: IDP-2069 - Null Handling Task

Scott Cantor cantor.2 at osu.edu
Mon Mar 27 16:40:09 UTC 2023


This is an automated email from the git hooks/post-receive script.

scantor pushed a commit to branch main
in repository java-shib-metadata.

View the commit online:
http://git.shibboleth.net/view/?p=java-shib-metadata.git;a=commit;h=4a0af2b7ceb3976f9de8699615eb49c4d8b44af1

The following commit(s) were added to refs/heads/main by this push:
     new 4a0af2b7 IDP-2069 - Null Handling Task
4a0af2b7 is described below

commit 4a0af2b7ceb3976f9de8699615eb49c4d8b44af1
Author: Scott Cantor <cantor.2 at osu.edu>
AuthorDate: Mon Mar 27 12:40:06 2023 -0400

    IDP-2069 - Null Handling Task
    
    https://shibboleth.atlassian.net/browse/IDP-2069
    
    SAML 2 XMLObject null cleanup.
---
 .../saml/metadata/impl/ScopesNodeProcessorTest.java    |  4 ++++
 .../saml/metadata/impl/UIInfoNodeProcessorTest.java    | 18 ++++++++++++------
 .../metadata/filter/AlgorithmFilterParserTest.java     |  2 +-
 .../metadata/filter/ByReferenceFilterParserTest.java   |  2 +-
 .../filter/EntityAttributesFilterParserTest.java       |  2 +-
 .../metadata/filter/NameIDFormatFilterParserTest.java  | 16 +++++++++++-----
 6 files changed, 30 insertions(+), 14 deletions(-)

diff --git a/shib-metadata-impl/src/test/java/net/shibboleth/idp/saml/metadata/impl/ScopesNodeProcessorTest.java b/shib-metadata-impl/src/test/java/net/shibboleth/idp/saml/metadata/impl/ScopesNodeProcessorTest.java
index c514d9e1..98bf7d8f 100644
--- a/shib-metadata-impl/src/test/java/net/shibboleth/idp/saml/metadata/impl/ScopesNodeProcessorTest.java
+++ b/shib-metadata-impl/src/test/java/net/shibboleth/idp/saml/metadata/impl/ScopesNodeProcessorTest.java
@@ -44,8 +44,10 @@ public final class ScopesNodeProcessorTest extends BaseNodeProcessorTest {
         assert(noScopes != null);
         assertTrue(noScopes.getObjectMetadata().get(ScopesContainer.class).isEmpty());
         final AttributeAuthorityDescriptor aaNoScope = noScopes.getAttributeAuthorityDescriptor("urn:oasis:names:tc:SAML:2.0:protocol");
+        assert aaNoScope != null;
         assertTrue(aaNoScope.getObjectMetadata().get(ScopesContainer.class).isEmpty());
         final IDPSSODescriptor idpSSONoScope = noScopes.getIDPSSODescriptor("urn:oasis:names:tc:SAML:2.0:protocol");
+        assert idpSSONoScope != null;
         assertTrue(idpSSONoScope.getObjectMetadata().get(ScopesContainer.class).isEmpty());
     }
     
@@ -67,6 +69,7 @@ public final class ScopesNodeProcessorTest extends BaseNodeProcessorTest {
         assertTrue(entityContainer.matchesScope("entityScope2"));
         
         final IDPSSODescriptor idpSSO = entity.getIDPSSODescriptor("urn:oasis:names:tc:SAML:2.0:protocol");
+        assert idpSSO != null;
         final List<ScopesContainer> idpSSOList = idpSSO.getObjectMetadata().get(ScopesContainer.class);
         assertEquals(idpSSOList.size(),1);
         final ScopesContainer idpSSOContainer = idpSSOList.get(0);
@@ -80,6 +83,7 @@ public final class ScopesNodeProcessorTest extends BaseNodeProcessorTest {
         assertTrue(idpSSOContainer.matchesScope("IDPSSOScope2"));
         
         final AttributeAuthorityDescriptor aa = entity.getAttributeAuthorityDescriptor("urn:oasis:names:tc:SAML:2.0:protocol");
+        assert aa != null;
         final List<ScopesContainer> aaList = aa.getObjectMetadata().get(ScopesContainer.class);
         assertEquals(aaList.size(),1);
         final ScopesContainer aaContainer = aaList.get(0);
diff --git a/shib-metadata-impl/src/test/java/net/shibboleth/idp/saml/metadata/impl/UIInfoNodeProcessorTest.java b/shib-metadata-impl/src/test/java/net/shibboleth/idp/saml/metadata/impl/UIInfoNodeProcessorTest.java
index cf46e8c0..a6aa637e 100644
--- a/shib-metadata-impl/src/test/java/net/shibboleth/idp/saml/metadata/impl/UIInfoNodeProcessorTest.java
+++ b/shib-metadata-impl/src/test/java/net/shibboleth/idp/saml/metadata/impl/UIInfoNodeProcessorTest.java
@@ -27,7 +27,10 @@ import org.opensaml.saml.ext.saml2mdui.UIInfo;
 import org.opensaml.saml.metadata.resolver.filter.MetadataNodeProcessor;
 import org.opensaml.saml.saml2.metadata.AssertionConsumerService;
 import org.opensaml.saml.saml2.metadata.EntityDescriptor;
+import org.opensaml.saml.saml2.metadata.Extensions;
 import org.opensaml.saml.saml2.metadata.IDPSSODescriptor;
+import org.opensaml.saml.saml2.metadata.Organization;
+import org.opensaml.saml.saml2.metadata.SPSSODescriptor;
 import org.testng.annotations.Test;
 
 import net.shibboleth.idp.saml.metadata.ACSUIInfo;
@@ -44,8 +47,10 @@ public final class UIInfoNodeProcessorTest extends BaseNodeProcessorTest {
         final EntityDescriptor entity  = resolver.resolveSingle(new CriteriaSet(new EntityIdCriterion("https://scopes.example.org")));
         assert(entity != null);
         final IDPSSODescriptor idpSSO = entity.getIDPSSODescriptor("urn:oasis:names:tc:SAML:2.0:protocol");
+        final Extensions ext = idpSSO != null ? idpSSO.getExtensions() : null;
+        assert ext != null;
         IdPUIInfo uiInfo = null;
-        for (final XMLObject  x: idpSSO.getExtensions().getUnknownXMLObjects()) {
+        for (final XMLObject  x: ext.getUnknownXMLObjects()) {
             if (!(x instanceof UIInfo)) {
                 continue;
             }
@@ -65,10 +70,9 @@ public final class UIInfoNodeProcessorTest extends BaseNodeProcessorTest {
         final EntityDescriptor entity  = resolver.resolveSingle(new CriteriaSet(new EntityIdCriterion("https://sp.example.org")));
         assert(entity != null);
 
-        final AssertionConsumerService acs = entity.
-                getSPSSODescriptor("urn:oasis:names:tc:SAML:2.0:protocol").
-                getAssertionConsumerServices().
-                get(0);
+        final SPSSODescriptor role = entity.getSPSSODescriptor("urn:oasis:names:tc:SAML:2.0:protocol");
+        assert role != null;
+        final AssertionConsumerService acs = role.getAssertionConsumerServices().get(0);
        
         final ACSUIInfo uiInfo = acs.getObjectMetadata().get(ACSUIInfo.class).get(0);
         
@@ -82,7 +86,9 @@ public final class UIInfoNodeProcessorTest extends BaseNodeProcessorTest {
         final EntityDescriptor entity  = resolver.resolveSingle(new CriteriaSet(new EntityIdCriterion("https://sp.example.org")));
         assert(entity != null);
 
-        final OrganizationUIInfo info = entity.getOrganization().getObjectMetadata().get(OrganizationUIInfo.class).get(0);
+        final Organization org = entity.getOrganization();
+        assert org != null;
+        final OrganizationUIInfo info = org.getObjectMetadata().get(OrganizationUIInfo.class).get(0);
 
         assertEquals(info.getOrganizationNames().size(), 2);
         assertEquals(info.getOrganizationNames().get(Locale.forLanguageTag("en")), "org");
diff --git a/shib-metadata-spring/src/test/java/net/shibboleth/spring/metadata/filter/AlgorithmFilterParserTest.java b/shib-metadata-spring/src/test/java/net/shibboleth/spring/metadata/filter/AlgorithmFilterParserTest.java
index ea7a99c8..4bc2c043 100644
--- a/shib-metadata-spring/src/test/java/net/shibboleth/spring/metadata/filter/AlgorithmFilterParserTest.java
+++ b/shib-metadata-spring/src/test/java/net/shibboleth/spring/metadata/filter/AlgorithmFilterParserTest.java
@@ -92,7 +92,7 @@ public class AlgorithmFilterParserTest extends AbstractMetadataParserTest {
     
     private void validate(final EntityDescriptor entity) {
         final Extensions exts = entity.getExtensions();
-        Assert.assertNotNull(exts);
+        assert exts != null;
         
         List<XMLObject> extElements = exts.getUnknownXMLObjects(DigestMethod.DEFAULT_ELEMENT_NAME);
         assertEquals(extElements.size(), 2);
diff --git a/shib-metadata-spring/src/test/java/net/shibboleth/spring/metadata/filter/ByReferenceFilterParserTest.java b/shib-metadata-spring/src/test/java/net/shibboleth/spring/metadata/filter/ByReferenceFilterParserTest.java
index 0c438d22..ed9d7a3b 100644
--- a/shib-metadata-spring/src/test/java/net/shibboleth/spring/metadata/filter/ByReferenceFilterParserTest.java
+++ b/shib-metadata-spring/src/test/java/net/shibboleth/spring/metadata/filter/ByReferenceFilterParserTest.java
@@ -51,7 +51,7 @@ public class ByReferenceFilterParserTest extends AbstractMetadataParserTest {
         assert entity != null;
 
         Extensions exts = entity.getExtensions();
-        Assert.assertNotNull(exts);
+        assert exts != null;
         Collection<XMLObject> extElements = exts.getUnknownXMLObjects(EntityAttributes.DEFAULT_ELEMENT_NAME);
         Assert.assertFalse(extElements.isEmpty());
         EntityAttributes extTags = (EntityAttributes) extElements.iterator().next();
diff --git a/shib-metadata-spring/src/test/java/net/shibboleth/spring/metadata/filter/EntityAttributesFilterParserTest.java b/shib-metadata-spring/src/test/java/net/shibboleth/spring/metadata/filter/EntityAttributesFilterParserTest.java
index b481ff9a..b2fcc781 100644
--- a/shib-metadata-spring/src/test/java/net/shibboleth/spring/metadata/filter/EntityAttributesFilterParserTest.java
+++ b/shib-metadata-spring/src/test/java/net/shibboleth/spring/metadata/filter/EntityAttributesFilterParserTest.java
@@ -65,7 +65,7 @@ public class EntityAttributesFilterParserTest extends AbstractMetadataParserTest
         assert entity != null;
 
         Extensions exts = entity.getExtensions();
-        Assert.assertNotNull(exts);
+        assert exts != null;
         Collection<XMLObject> extElements = exts.getUnknownXMLObjects(EntityAttributes.DEFAULT_ELEMENT_NAME);
         Assert.assertFalse(extElements.isEmpty());
         EntityAttributes extTags = (EntityAttributes) extElements.iterator().next();
diff --git a/shib-metadata-spring/src/test/java/net/shibboleth/spring/metadata/filter/NameIDFormatFilterParserTest.java b/shib-metadata-spring/src/test/java/net/shibboleth/spring/metadata/filter/NameIDFormatFilterParserTest.java
index 9506cd2a..a2679beb 100644
--- a/shib-metadata-spring/src/test/java/net/shibboleth/spring/metadata/filter/NameIDFormatFilterParserTest.java
+++ b/shib-metadata-spring/src/test/java/net/shibboleth/spring/metadata/filter/NameIDFormatFilterParserTest.java
@@ -28,6 +28,7 @@ import org.opensaml.saml.common.xml.SAMLConstants;
 import org.opensaml.saml.metadata.resolver.MetadataResolver;
 import org.opensaml.saml.metadata.resolver.filter.impl.NameIDFormatFilter;
 import org.opensaml.saml.saml2.metadata.EntityDescriptor;
+import org.opensaml.saml.saml2.metadata.SPSSODescriptor;
 import org.testng.Assert;
 import org.testng.annotations.Test;
 
@@ -57,18 +58,23 @@ public class NameIDFormatFilterParserTest extends AbstractMetadataParserTest {
         EntityDescriptor entity = resolver.resolveSingle(new CriteriaSet(key));
         Assert.assertNotNull(entity);
         assert entity != null;
+        
+        SPSSODescriptor role = entity.getSPSSODescriptor(SAMLConstants.SAML20P_NS);
+        assert role != null;
 
-        Assert.assertEquals(entity.getSPSSODescriptor(SAMLConstants.SAML20P_NS).getNameIDFormats().size(), 1);
-        Assert.assertEquals(entity.getSPSSODescriptor(SAMLConstants.SAML20P_NS).getNameIDFormats().get(0).getURI(), "foo");
+        Assert.assertEquals(role.getNameIDFormats().size(), 1);
+        Assert.assertEquals(role.getNameIDFormats().get(0).getURI(), "foo");
 
         key = new EntityIdCriterion("https://sp2.example.org/sp/shibboleth");
         entity = resolver.resolveSingle(new CriteriaSet(key));
         Assert.assertNotNull(entity);
         assert entity != null;
 
-        Assert.assertEquals(entity.getSPSSODescriptor(SAMLConstants.SAML20P_NS).getNameIDFormats().size(), 2);
-        Assert.assertEquals(entity.getSPSSODescriptor(SAMLConstants.SAML20P_NS).getNameIDFormats().get(0).getURI(), "foo");
-        Assert.assertEquals(entity.getSPSSODescriptor(SAMLConstants.SAML20P_NS).getNameIDFormats().get(1).getURI(), "bar");
+        role = entity.getSPSSODescriptor(SAMLConstants.SAML20P_NS);
+        assert role != null;
+        Assert.assertEquals(role.getNameIDFormats().size(), 2);
+        Assert.assertEquals(role.getNameIDFormats().get(0).getURI(), "foo");
+        Assert.assertEquals(role.getNameIDFormats().get(1).getURI(), "bar");
     }
     
 }
\ 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