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

Scott Cantor cantor.2 at osu.edu
Thu Apr 13 18:53:53 UTC 2023


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

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

View the commit online:
http://git.shibboleth.net/view/?p=java-opensaml.git;a=commit;h=b8766263cb904354afd29278d6c18e1c035b3503

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

commit b8766263cb904354afd29278d6c18e1c035b3503
Author: Scott Cantor <cantor.2 at osu.edu>
AuthorDate: Thu Apr 13 14:53:49 2023 -0400

    IDP-2069 - Null Handling Task
    
    https://shibboleth.atlassian.net/browse/IDP-2069
    
    Clean metadata resolver tests.
---
 .../impl/AbstractDynamicMetadataResolverTest.java  |  70 +++++----
 .../impl/FileBackedHTTPMetadataResolverTest.java   | 174 +++++++++++----------
 .../impl/FilesystemMetadataResolverTest.java       |  63 ++++----
 ...ctionDrivenDynamicHTTPMetadataResolverTest.java |  52 +++---
 .../resolver/impl/HTTPMetadataResolverTest.java    |  99 ++++++------
 .../impl/LocalDynamicMetadataResolverTest.java     |   4 +-
 6 files changed, 240 insertions(+), 222 deletions(-)

diff --git a/opensaml-saml-impl/src/test/java/org/opensaml/saml/metadata/resolver/impl/AbstractDynamicMetadataResolverTest.java b/opensaml-saml-impl/src/test/java/org/opensaml/saml/metadata/resolver/impl/AbstractDynamicMetadataResolverTest.java
index 4db0e30dd..461c92325 100644
--- a/opensaml-saml-impl/src/test/java/org/opensaml/saml/metadata/resolver/impl/AbstractDynamicMetadataResolverTest.java
+++ b/opensaml-saml-impl/src/test/java/org/opensaml/saml/metadata/resolver/impl/AbstractDynamicMetadataResolverTest.java
@@ -65,6 +65,7 @@ import org.opensaml.security.crypto.JCAConstants;
 import org.opensaml.security.crypto.KeySupport;
 import org.opensaml.xmlsec.SignatureSigningParameters;
 import org.opensaml.xmlsec.config.impl.DefaultSecurityConfigurationBootstrap;
+import org.opensaml.xmlsec.keyinfo.KeyInfoGeneratorFactory;
 import org.opensaml.xmlsec.signature.support.SignatureConstants;
 import org.opensaml.xmlsec.signature.support.SignatureException;
 import org.opensaml.xmlsec.signature.support.SignatureSupport;
@@ -115,7 +116,12 @@ public class AbstractDynamicMetadataResolverTest extends XMLObjectBaseTestCase {
         signingParams.setSignatureAlgorithm(SignatureConstants.ALGO_ID_SIGNATURE_RSA_SHA256);
         signingParams.setSignatureCanonicalizationAlgorithm(SignatureConstants.ALGO_ID_C14N_EXCL_OMIT_COMMENTS);
         signingParams.setSignatureReferenceDigestMethod(SignatureConstants.ALGO_ID_DIGEST_SHA256);
-        signingParams.setKeyInfoGenerator(DefaultSecurityConfigurationBootstrap.buildBasicKeyInfoGeneratorManager().getDefaultManager().getFactory(signingCred).newInstance());
+        
+        final KeyInfoGeneratorFactory factory =
+                DefaultSecurityConfigurationBootstrap.buildBasicKeyInfoGeneratorManager().getDefaultManager().getFactory(
+                        signingCred);
+        assert factory != null;
+        signingParams.setKeyInfoGenerator(factory.newInstance());
         
         signatureTrustEngine = new ExplicitKeySignatureTrustEngine(
                 new StaticCredentialResolver(signingCred), 
@@ -192,8 +198,6 @@ public class AbstractDynamicMetadataResolverTest extends XMLObjectBaseTestCase {
         
         resolver.initialize();
         
-        DynamicEntityBackingStore backingStore = resolver.getBackingStore();
-        
         Assert.assertNull(resolver.resolveSingle(new CriteriaSet(new EntityIdCriterion(id1))));
     }
 
@@ -201,7 +205,7 @@ public class AbstractDynamicMetadataResolverTest extends XMLObjectBaseTestCase {
     public void testNoEntities() throws ComponentInitializationException, ResolverException {
         resolver.initialize();
         
-        DynamicEntityBackingStore backingStore = resolver.getBackingStore();
+        final DynamicEntityBackingStore backingStore = resolver.ensureBackingStore();
         
         Assert.assertNull(resolver.resolveSingle(new CriteriaSet(new EntityIdCriterion(id1))));
         
@@ -220,7 +224,7 @@ public class AbstractDynamicMetadataResolverTest extends XMLObjectBaseTestCase {
         Assert.assertSame(resolver.resolveSingle(new CriteriaSet(new EntityIdCriterion(id2))), ed2);
         Assert.assertSame(resolver.resolveSingle(new CriteriaSet(new EntityIdCriterion(id3))), ed3);
         
-        DynamicEntityBackingStore backingStore = resolver.getBackingStore();
+        DynamicEntityBackingStore backingStore = resolver.ensureBackingStore();
         
         Assert.assertTrue(backingStore.getIndexedDescriptors().containsKey(id1));
         Assert.assertEquals(backingStore.getIndexedDescriptors().get(id1).size(), 1);
@@ -244,7 +248,7 @@ public class AbstractDynamicMetadataResolverTest extends XMLObjectBaseTestCase {
         Assert.assertSame(resolver.resolveSingle(new CriteriaSet(new EntityIdCriterion(id2))), ed2);
         Assert.assertSame(resolver.resolveSingle(new CriteriaSet(new EntityIdCriterion(id3))), ed3);
         
-        DynamicEntityBackingStore backingStore = resolver.getBackingStore();
+        final DynamicEntityBackingStore backingStore = resolver.ensureBackingStore();
         
         resolver.clear();
         
@@ -269,7 +273,7 @@ public class AbstractDynamicMetadataResolverTest extends XMLObjectBaseTestCase {
         Assert.assertSame(resolver.resolveSingle(new CriteriaSet(new EntityIdCriterion(id2))), ed2);
         Assert.assertSame(resolver.resolveSingle(new CriteriaSet(new EntityIdCriterion(id3))), ed3);
         
-        DynamicEntityBackingStore backingStore = resolver.getBackingStore();
+        final DynamicEntityBackingStore backingStore = resolver.ensureBackingStore();
         
         resolver.clear(id1);
         resolver.clear(id2);
@@ -289,7 +293,7 @@ public class AbstractDynamicMetadataResolverTest extends XMLObjectBaseTestCase {
         
         resolver.initialize();
         
-        DynamicEntityBackingStore backingStore = resolver.getBackingStore();
+        final DynamicEntityBackingStore backingStore = resolver.ensureBackingStore();
         
         Assert.assertFalse(backingStore.getIndexedDescriptors().containsKey(id1));
         
@@ -311,7 +315,7 @@ public class AbstractDynamicMetadataResolverTest extends XMLObjectBaseTestCase {
     public void testGlobalClearWithNegativeLookupCache() throws ComponentInitializationException, ResolverException, InterruptedException {
         resolver.initialize();
         
-        DynamicEntityBackingStore backingStore = resolver.getBackingStore();
+        final DynamicEntityBackingStore backingStore = resolver.ensureBackingStore();
         
         Assert.assertFalse(backingStore.getIndexedDescriptors().containsKey(id1));
         
@@ -330,7 +334,7 @@ public class AbstractDynamicMetadataResolverTest extends XMLObjectBaseTestCase {
     public void testEntityIDClearWithNegativeLookupCache() throws ComponentInitializationException, ResolverException, InterruptedException {
         resolver.initialize();
         
-        DynamicEntityBackingStore backingStore = resolver.getBackingStore();
+        final DynamicEntityBackingStore backingStore = resolver.ensureBackingStore();
         
         Assert.assertFalse(backingStore.getIndexedDescriptors().containsKey(id1));
         
@@ -443,7 +447,10 @@ public class AbstractDynamicMetadataResolverTest extends XMLObjectBaseTestCase {
         Assert.assertEquals(persistentCacheMap.size(), 0);
         
         Assert.assertNotNull(resolver.resolveSingle(new CriteriaSet(new EntityIdCriterion(id1))));
-        Assert.assertEquals(resolver.resolveSingle(new CriteriaSet(new EntityIdCriterion(id1))).getEntityID(), id1);
+        
+        EntityDescriptor ed = resolver.resolveSingle(new CriteriaSet(new EntityIdCriterion(id1)));
+        assert ed != null;
+        Assert.assertEquals(ed.getEntityID(), id1);
         
         Assert.assertEquals(persistentCacheMap.size(), 1);
         
@@ -451,10 +458,13 @@ public class AbstractDynamicMetadataResolverTest extends XMLObjectBaseTestCase {
         Assert.assertTrue(persistentCacheMap.containsKey(cacheKey));
         Assert.assertSame(persistentCacheMap.get(cacheKey), ed1);
         
-        Assert.assertNotNull(resolver.resolveSingle(new CriteriaSet(new EntityIdCriterion(id2))));
-        Assert.assertEquals(resolver.resolveSingle(new CriteriaSet(new EntityIdCriterion(id2))).getEntityID(), id2);
-        Assert.assertNotNull(resolver.resolveSingle(new CriteriaSet(new EntityIdCriterion(id3))));
-        Assert.assertEquals(resolver.resolveSingle(new CriteriaSet(new EntityIdCriterion(id3))).getEntityID(), id3);
+        ed = resolver.resolveSingle(new CriteriaSet(new EntityIdCriterion(id2)));
+        assert ed != null;
+        Assert.assertEquals(ed.getEntityID(), id2);
+        
+        ed = resolver.resolveSingle(new CriteriaSet(new EntityIdCriterion(id3)));
+        assert ed != null;
+        Assert.assertEquals(ed.getEntityID(), id3);
         
         Assert.assertEquals(persistentCacheMap.size(), 3);
         
@@ -481,7 +491,7 @@ public class AbstractDynamicMetadataResolverTest extends XMLObjectBaseTestCase {
         
         resolver.initialize();
         
-        DynamicEntityBackingStore backingStore = resolver.getBackingStore();
+        final DynamicEntityBackingStore backingStore = resolver.ensureBackingStore();
         
         // These will be there before any resolve() calls, loaded from the persistent cache
         Assert.assertTrue(backingStore.getIndexedDescriptors().containsKey(id1));
@@ -527,7 +537,7 @@ public class AbstractDynamicMetadataResolverTest extends XMLObjectBaseTestCase {
         
         resolver.initialize();
         
-        DynamicEntityBackingStore backingStore = resolver.getBackingStore();
+        final DynamicEntityBackingStore backingStore = resolver.ensureBackingStore();
         
         // This will be there before any resolve() calls, loaded from the persistent cache
         Assert.assertTrue(backingStore.getIndexedDescriptors().containsKey(id1));
@@ -567,7 +577,7 @@ public class AbstractDynamicMetadataResolverTest extends XMLObjectBaseTestCase {
         Assert.assertFalse(persistentCacheMap.containsKey("three"));
         Assert.assertTrue(persistentCacheMap.containsKey(persistentCacheKeyGenerator.apply(ed3)));
         
-        DynamicEntityBackingStore backingStore = resolver.getBackingStore();
+        final DynamicEntityBackingStore backingStore = resolver.ensureBackingStore();
         
         // These will be there before any resolve() calls, loaded from the persistent cache
         Assert.assertTrue(backingStore.getIndexedDescriptors().containsKey(id1));
@@ -595,7 +605,7 @@ public class AbstractDynamicMetadataResolverTest extends XMLObjectBaseTestCase {
         
         resolver.initialize();
         
-        DynamicEntityBackingStore backingStore = resolver.getBackingStore();
+        final DynamicEntityBackingStore backingStore = resolver.ensureBackingStore();
         Optional<Set<String>> indexedData = Optional.empty();
         
         Assert.assertNull(resolver.resolveSingle(new CriteriaSet(new SimpleStringCriterion(id1.toUpperCase()))));
@@ -621,7 +631,7 @@ public class AbstractDynamicMetadataResolverTest extends XMLObjectBaseTestCase {
         
         resolver.initialize();
         
-        DynamicEntityBackingStore backingStore = resolver.getBackingStore();
+        final DynamicEntityBackingStore backingStore = resolver.ensureBackingStore();
         Optional<Set<String>> indexedData = null;
         
         Set<EntityDescriptor> results = new HashSet<>();
@@ -666,7 +676,7 @@ public class AbstractDynamicMetadataResolverTest extends XMLObjectBaseTestCase {
         
         resolver.initialize();
         
-        DynamicEntityBackingStore backingStore = resolver.getBackingStore();
+        final DynamicEntityBackingStore backingStore = resolver.ensureBackingStore();
         Optional<Set<String>> indexedData = null;
         
         Assert.assertNull(resolver.resolveSingle(new CriteriaSet(new EntityIdCriterion(id1))));
@@ -705,13 +715,19 @@ public class AbstractDynamicMetadataResolverTest extends XMLObjectBaseTestCase {
 
         protected XMLObject fetchFromOriginSource(@Nullable CriteriaSet criteria) throws IOException {
             
-            if (criteria.contains(EntityIdCriterion.class)) {
-                return originSourceMap.get(criteria.get(EntityIdCriterion.class).getEntityId());
-            } else if (secondaryLookup && criteria.contains(SimpleStringCriterion.class)) {
-                return originSourceMap.get(criteria.get(SimpleStringCriterion.class).getValue());
-            } else {
-                return null;
+            final EntityIdCriterion c1 = criteria != null ? criteria.get(EntityIdCriterion.class) : null;
+            if (c1 != null) {
+                return originSourceMap.get(c1.getEntityId());
             }
+            
+            if (secondaryLookup) {
+                final SimpleStringCriterion c2 = criteria != null ? criteria.get(SimpleStringCriterion.class) : null; 
+                if (c2 != null) {
+                    return originSourceMap.get(c2.getValue());
+                }
+            }
+            
+            return null;
         }
 
     }
diff --git a/opensaml-saml-impl/src/test/java/org/opensaml/saml/metadata/resolver/impl/FileBackedHTTPMetadataResolverTest.java b/opensaml-saml-impl/src/test/java/org/opensaml/saml/metadata/resolver/impl/FileBackedHTTPMetadataResolverTest.java
index baf8f165e..36f6c82f7 100644
--- a/opensaml-saml-impl/src/test/java/org/opensaml/saml/metadata/resolver/impl/FileBackedHTTPMetadataResolverTest.java
+++ b/opensaml-saml-impl/src/test/java/org/opensaml/saml/metadata/resolver/impl/FileBackedHTTPMetadataResolverTest.java
@@ -25,6 +25,9 @@ import java.nio.file.Path;
 import java.time.Duration;
 import java.time.Instant;
 
+import javax.annotation.Nonnull;
+import javax.annotation.Nullable;
+
 import org.opensaml.core.criterion.EntityIdCriterion;
 import org.opensaml.core.testing.XMLObjectBaseTestCase;
 import org.opensaml.core.xml.XMLObject;
@@ -105,14 +108,14 @@ public class FileBackedHTTPMetadataResolverTest extends XMLObjectBaseTestCase {
         metadataProvider.setActivationCondition(prc -> {return allowActivation;});
         metadataProvider.initialize();
 
-        Assert.assertNotNull(metadataProvider.wasLastRefreshSuccess());
-        Assert.assertTrue(metadataProvider.wasLastRefreshSuccess());
+        final Boolean flag = metadataProvider.wasLastRefreshSuccess();
+        Assert.assertTrue(flag != null && flag);
         Assert.assertNull(metadataProvider.getLastFailureCause());
         
         Assert.assertFalse(metadataProvider.isInitializedFromBackupFile());
         Assert.assertTrue(backupFile.exists());
         
-        EntityDescriptor descriptor = metadataProvider.resolveSingle(criteriaSet);
+        final EntityDescriptor descriptor = metadataProvider.resolveSingle(criteriaSet);
         Assert.assertNull(descriptor, "Retrieved entity descriptor was not null");
     }
     
@@ -130,15 +133,15 @@ public class FileBackedHTTPMetadataResolverTest extends XMLObjectBaseTestCase {
         metadataProvider.setId("test");
         metadataProvider.initialize();
         
-        Assert.assertNotNull(metadataProvider.wasLastRefreshSuccess());
-        Assert.assertTrue(metadataProvider.wasLastRefreshSuccess());
+        final Boolean flag = metadataProvider.wasLastRefreshSuccess();
+        Assert.assertTrue(flag != null && flag);
         Assert.assertNull(metadataProvider.getLastFailureCause());
         
         Assert.assertFalse(metadataProvider.isInitializedFromBackupFile());
         Assert.assertTrue(backupFile.exists());
         
-        EntityDescriptor descriptor = metadataProvider.resolveSingle(criteriaSet);
-        Assert.assertNotNull(descriptor, "Retrieved entity descriptor was null");
+        final EntityDescriptor descriptor = metadataProvider.resolveSingle(criteriaSet);
+        assert descriptor != null;
         Assert.assertEquals(descriptor.getEntityID(), entityID, "Entity's ID does not match requested ID");
     }
     
@@ -158,9 +161,9 @@ public class FileBackedHTTPMetadataResolverTest extends XMLObjectBaseTestCase {
         try {
             metadataProvider.initialize();
             Assert.fail("metadata provider claims to have parsed known invalid data");
-        } catch (ComponentInitializationException e) {
-            Assert.assertNotNull(metadataProvider.wasLastRefreshSuccess());
-            Assert.assertFalse(metadataProvider.wasLastRefreshSuccess());
+        } catch (final ComponentInitializationException e) {
+            final Boolean flag = metadataProvider.wasLastRefreshSuccess();
+            Assert.assertFalse(flag != null && flag);
             Assert.assertNotNull(metadataProvider.getLastFailureCause());
             Assert.assertTrue(ResolverException.class.isInstance(metadataProvider.getLastFailureCause()));
         }
@@ -182,11 +185,11 @@ public class FileBackedHTTPMetadataResolverTest extends XMLObjectBaseTestCase {
         try {
             metadataProvider.initialize();
             
-            Assert.assertNotNull(metadataProvider.wasLastRefreshSuccess());
-            Assert.assertFalse(metadataProvider.wasLastRefreshSuccess());
+            final Boolean flag = metadataProvider.wasLastRefreshSuccess();
+            Assert.assertFalse(flag != null && flag);
             Assert.assertNotNull(metadataProvider.getLastFailureCause());
             Assert.assertTrue(ResolverException.class.isInstance(metadataProvider.getLastFailureCause()));
-        } catch (ComponentInitializationException e) {
+        } catch (final ComponentInitializationException e) {
             Assert.fail("Provider failed init with fail-fast=false");
         }
         
@@ -204,7 +207,7 @@ public class FileBackedHTTPMetadataResolverTest extends XMLObjectBaseTestCase {
         try {
             // Use a known existing directory as backup file path, which is an invalid argument.
             metadataProvider = new FileBackedHTTPMetadataResolver(httpClientBuilder.buildClient(), metadataURLHttp, System.getProperty("java.io.tmpdir"));
-        } catch (ResolverException e) {
+        } catch (final ResolverException e) {
             Assert.fail("Provider failed bad backup file in constructor");
             
         }
@@ -215,7 +218,7 @@ public class FileBackedHTTPMetadataResolverTest extends XMLObjectBaseTestCase {
         try {
             metadataProvider.initialize();
             Assert.fail("Provider passed init with bad backup file, fail-fast=true");
-        } catch (ComponentInitializationException e) {
+        } catch (final ComponentInitializationException e) {
             Assert.assertNull(metadataProvider.wasLastRefreshSuccess());
             Assert.assertNull(metadataProvider.getLastFailureCause());
         }
@@ -244,10 +247,10 @@ public class FileBackedHTTPMetadataResolverTest extends XMLObjectBaseTestCase {
             Assert.assertFalse(metadataProvider.isInitializedFromBackupFile());
             
             // This is success because if backup file is bad, then resolver immediately does the HTTP fetch
-            Assert.assertNotNull(metadataProvider.wasLastRefreshSuccess());
-            Assert.assertTrue(metadataProvider.wasLastRefreshSuccess());
+            final Boolean flag = metadataProvider.wasLastRefreshSuccess();
+            Assert.assertTrue(flag != null && flag);
             Assert.assertNull(metadataProvider.getLastFailureCause());
-        } catch (ComponentInitializationException e) {
+        } catch (final ComponentInitializationException e) {
             Assert.fail("Provider failed init with bad backup file, fail-fast=false");
         }
         
@@ -268,7 +271,7 @@ public class FileBackedHTTPMetadataResolverTest extends XMLObjectBaseTestCase {
         Assert.assertTrue(backupFile.exists(), "Backup file was not created");
         Assert.assertTrue(backupFile.length() > 0, "Backup file contains no data");
         
-        MockContextTrackingFilter mockFilter = new MockContextTrackingFilter();
+        final MockContextTrackingFilter mockFilter = new MockContextTrackingFilter();
 
         metadataProvider = new FileBackedHTTPMetadataResolver(httpClientBuilder.buildClient(), metadataURLHttp, backupFilePath);
         metadataProvider.setParserPool(parserPool);
@@ -278,13 +281,14 @@ public class FileBackedHTTPMetadataResolverTest extends XMLObjectBaseTestCase {
         metadataProvider.setMetadataFilter(mockFilter);
         metadataProvider.initialize();
         
-        Assert.assertNotNull(metadataProvider.wasLastRefreshSuccess());
-        Assert.assertTrue(metadataProvider.wasLastRefreshSuccess());
+        Boolean flag = metadataProvider.wasLastRefreshSuccess();
+        Assert.assertTrue(flag != null && flag);
         Assert.assertNull(metadataProvider.getLastFailureCause());
 
         Assert.assertTrue(metadataProvider.isInitializedFromBackupFile());
 
-        Assert.assertTrue(mockFilter.lastFilterContext.get(MetadataSource.class).isTrusted());
+        MetadataSource source = mockFilter.lastFilterContext.get(MetadataSource.class);
+        Assert.assertTrue(source != null && source.isTrusted());
 
         Instant initRefresh = metadataProvider.getLastRefresh();
         Instant initUpdate = metadataProvider.getLastUpdate();
@@ -294,14 +298,15 @@ public class FileBackedHTTPMetadataResolverTest extends XMLObjectBaseTestCase {
         // Sleep past the artificial next refresh delay on init from backup file.
         Thread.sleep(metadataProvider.getBackupFileInitNextRefreshDelay().toMillis() + 5000);
 
-        Assert.assertTrue(initRefresh.isBefore(metadataProvider.getLastRefresh()));
-        Assert.assertTrue(initUpdate.isBefore(metadataProvider.getLastUpdate()));
+        Assert.assertTrue(initRefresh != null && initRefresh.isBefore(metadataProvider.getLastRefresh()));
+        Assert.assertTrue(initUpdate != null && initUpdate.isBefore(metadataProvider.getLastUpdate()));
         
-        Assert.assertNotNull(metadataProvider.wasLastRefreshSuccess());
-        Assert.assertTrue(metadataProvider.wasLastRefreshSuccess());
+        flag = metadataProvider.wasLastRefreshSuccess();
+        Assert.assertTrue(flag != null && flag);
         Assert.assertNull(metadataProvider.getLastFailureCause());
 
-        Assert.assertFalse(mockFilter.lastFilterContext.get(MetadataSource.class).isTrusted());
+        source = mockFilter.lastFilterContext.get(MetadataSource.class);
+        Assert.assertFalse(source != null && source.isTrusted());
 
         Assert.assertNotNull(metadataProvider.resolveSingle(criteriaSet), "Metadata retrieved from HTTP refreshed metadata was null");
     }
@@ -330,8 +335,8 @@ public class FileBackedHTTPMetadataResolverTest extends XMLObjectBaseTestCase {
         
         metadataProvider.initialize();
         
-        Assert.assertNotNull(metadataProvider.wasLastRefreshSuccess());
-        Assert.assertFalse(metadataProvider.wasLastRefreshSuccess());
+        Boolean flag = metadataProvider.wasLastRefreshSuccess();
+        Assert.assertFalse(flag != null && flag);
         Assert.assertNotNull(metadataProvider.getLastFailureCause());
         Assert.assertTrue(ResolverException.class.isInstance(metadataProvider.getLastFailureCause()));
         
@@ -348,13 +353,12 @@ public class FileBackedHTTPMetadataResolverTest extends XMLObjectBaseTestCase {
         // Sleep past the artificial next refresh delay on init from backup file.
         Thread.sleep(metadataProvider.getBackupFileInitNextRefreshDelay().toMillis() + 5000);
         
-        Assert.assertTrue(initRefresh.isBefore(metadataProvider.getLastRefresh()));
-        Instant refreshUpdate = metadataProvider.getLastUpdate();
-        Assert.assertNotNull(refreshUpdate);
-        Assert.assertTrue(refreshUpdate.isAfter(postInit));
+        Assert.assertTrue(initRefresh != null && initRefresh.isBefore(metadataProvider.getLastRefresh()));
+        final Instant refreshUpdate = metadataProvider.getLastUpdate();
+        Assert.assertTrue(refreshUpdate != null && refreshUpdate.isAfter(postInit));
         
-        Assert.assertNotNull(metadataProvider.wasLastRefreshSuccess());
-        Assert.assertTrue(metadataProvider.wasLastRefreshSuccess());
+        flag = metadataProvider.wasLastRefreshSuccess();
+        Assert.assertTrue(flag != null && flag);
         Assert.assertNull(metadataProvider.getLastFailureCause());
         
         Assert.assertNotNull(metadataProvider.resolveSingle(criteriaSet), "Metadata retrieved from HTTP refreshed metadata was null");
@@ -383,8 +387,8 @@ public class FileBackedHTTPMetadataResolverTest extends XMLObjectBaseTestCase {
         metadataProvider.setBackupFileInitNextRefreshDelay(Duration.ofSeconds(1));
         metadataProvider.initialize();
         
-        Assert.assertNotNull(metadataProvider.wasLastRefreshSuccess());
-        Assert.assertFalse(metadataProvider.wasLastRefreshSuccess());
+        Boolean flag = metadataProvider.wasLastRefreshSuccess();
+        Assert.assertFalse(flag != null && flag);
         Assert.assertNotNull(metadataProvider.getLastFailureCause());
         Assert.assertTrue(ResolverException.class.isInstance(metadataProvider.getLastFailureCause()));
         
@@ -401,13 +405,12 @@ public class FileBackedHTTPMetadataResolverTest extends XMLObjectBaseTestCase {
         // Sleep past the artificial next refresh delay on init from backup file.
         Thread.sleep(metadataProvider.getBackupFileInitNextRefreshDelay().toMillis() + 5000);
         
-        Assert.assertTrue(initRefresh.isBefore(metadataProvider.getLastRefresh()));
+        Assert.assertTrue(initRefresh != null && initRefresh.isBefore(metadataProvider.getLastRefresh()));
         Instant refreshUpdate = metadataProvider.getLastUpdate();
-        Assert.assertNotNull(refreshUpdate);
-        Assert.assertTrue(refreshUpdate.isAfter(postInit));
+        Assert.assertTrue(refreshUpdate != null && refreshUpdate.isAfter(postInit));
         
-        Assert.assertNotNull(metadataProvider.wasLastRefreshSuccess());
-        Assert.assertTrue(metadataProvider.wasLastRefreshSuccess());
+        flag = metadataProvider.wasLastRefreshSuccess();
+        Assert.assertTrue(flag != null && flag);
         Assert.assertNull(metadataProvider.getLastFailureCause());
         
         Assert.assertNotNull(metadataProvider.resolveSingle(criteriaSet), "Metadata retrieved from HTTP refreshed metadata was null");
@@ -433,8 +436,8 @@ public class FileBackedHTTPMetadataResolverTest extends XMLObjectBaseTestCase {
         metadataProvider.setId("test");
         metadataProvider.initialize();
         
-        Assert.assertNotNull(metadataProvider.wasLastRefreshSuccess());
-        Assert.assertTrue(metadataProvider.wasLastRefreshSuccess());
+        Boolean flag = metadataProvider.wasLastRefreshSuccess();
+        Assert.assertTrue(flag != null && flag);
         Assert.assertNull(metadataProvider.getLastFailureCause());
         
         Assert.assertTrue(metadataProvider.isInitializedFromBackupFile());
@@ -450,11 +453,11 @@ public class FileBackedHTTPMetadataResolverTest extends XMLObjectBaseTestCase {
         metadataProvider.refresh();
         
         // We should see refresh attempt, but no update.
-        Assert.assertTrue(initRefresh.isBefore(metadataProvider.getLastRefresh()));
+        Assert.assertTrue(initRefresh != null && initRefresh.isBefore(metadataProvider.getLastRefresh()));
         Assert.assertEquals(initUpdate, metadataProvider.getLastUpdate());
         
-        Assert.assertNotNull(metadataProvider.wasLastRefreshSuccess());
-        Assert.assertTrue(metadataProvider.wasLastRefreshSuccess());
+        flag = metadataProvider.wasLastRefreshSuccess();
+        Assert.assertTrue(flag != null && flag);
         Assert.assertNull(metadataProvider.getLastFailureCause());
         
         Assert.assertNotNull(metadataProvider.resolveSingle(criteriaSet), "Metadata retrieved from cached metadata was null");
@@ -470,12 +473,12 @@ public class FileBackedHTTPMetadataResolverTest extends XMLObjectBaseTestCase {
         metadataProvider.setId("test");
         metadataProvider.initialize();
         
-        Assert.assertNotNull(metadataProvider.wasLastRefreshSuccess());
-        Assert.assertTrue(metadataProvider.wasLastRefreshSuccess());
+        final Boolean flag = metadataProvider.wasLastRefreshSuccess();
+        Assert.assertTrue(flag != null && flag);
         Assert.assertNull(metadataProvider.getLastFailureCause());
         
-        EntityDescriptor descriptor = metadataProvider.resolveSingle(criteriaSet);
-        Assert.assertNotNull(descriptor, "Retrieved entity descriptor was null");
+        final EntityDescriptor descriptor = metadataProvider.resolveSingle(criteriaSet);
+        assert descriptor != null;
         Assert.assertEquals(descriptor.getEntityID(), entityID, "Entity's ID does not match requested ID");
     }
     
@@ -492,12 +495,12 @@ public class FileBackedHTTPMetadataResolverTest extends XMLObjectBaseTestCase {
         metadataProvider.setHttpClientSecurityParameters(params);
         metadataProvider.initialize();
         
-        Assert.assertNotNull(metadataProvider.wasLastRefreshSuccess());
-        Assert.assertTrue(metadataProvider.wasLastRefreshSuccess());
+        final Boolean flag = metadataProvider.wasLastRefreshSuccess();
+        Assert.assertTrue(flag != null && flag);
         Assert.assertNull(metadataProvider.getLastFailureCause());
         
-        EntityDescriptor descriptor = metadataProvider.resolveSingle(criteriaSet);
-        Assert.assertNotNull(descriptor, "Retrieved entity descriptor was null");
+        final EntityDescriptor descriptor = metadataProvider.resolveSingle(criteriaSet);
+        assert descriptor != null;
         Assert.assertEquals(descriptor.getEntityID(), entityID, "Entity's ID does not match requested ID");
     }
     
@@ -514,12 +517,12 @@ public class FileBackedHTTPMetadataResolverTest extends XMLObjectBaseTestCase {
             metadataProvider.setId("test");
             metadataProvider.initialize();
             
-            Assert.assertNotNull(metadataProvider.wasLastRefreshSuccess());
-            Assert.assertTrue(metadataProvider.wasLastRefreshSuccess());
+            final Boolean flag = metadataProvider.wasLastRefreshSuccess();
+            Assert.assertTrue(flag != null && flag);
             Assert.assertNull(metadataProvider.getLastFailureCause());
 
-            EntityDescriptor descriptor = metadataProvider.resolveSingle(criteriaSet);
-            Assert.assertNotNull(descriptor, "Retrieved entity descriptor was null");
+            final EntityDescriptor descriptor = metadataProvider.resolveSingle(criteriaSet);
+            assert descriptor != null;
             Assert.assertEquals(descriptor.getEntityID(), entityID, "Entity's ID does not match requested ID");
         } finally {
             System.setProperty("javax.net.ssl.trustStore", "");
@@ -540,12 +543,12 @@ public class FileBackedHTTPMetadataResolverTest extends XMLObjectBaseTestCase {
         metadataProvider.setHttpClientSecurityParameters(params);
         metadataProvider.initialize();
         
-        Assert.assertNotNull(metadataProvider.wasLastRefreshSuccess());
-        Assert.assertTrue(metadataProvider.wasLastRefreshSuccess());
+        final Boolean flag = metadataProvider.wasLastRefreshSuccess();
+        Assert.assertTrue(flag != null && flag);
         Assert.assertNull(metadataProvider.getLastFailureCause());
         
-        EntityDescriptor descriptor = metadataProvider.resolveSingle(criteriaSet);
-        Assert.assertNotNull(descriptor, "Retrieved entity descriptor was null");
+        final EntityDescriptor descriptor = metadataProvider.resolveSingle(criteriaSet);
+        assert descriptor != null;
         Assert.assertEquals(descriptor.getEntityID(), entityID, "Entity's ID does not match requested ID");
     }
     
@@ -564,9 +567,9 @@ public class FileBackedHTTPMetadataResolverTest extends XMLObjectBaseTestCase {
         try {
             metadataProvider.initialize();
             Assert.fail("Invalid metadata TLS should have failed init");
-        } catch (ComponentInitializationException e) {
-            Assert.assertNotNull(metadataProvider.wasLastRefreshSuccess());
-            Assert.assertFalse(metadataProvider.wasLastRefreshSuccess());
+        } catch (final ComponentInitializationException e) {
+            final Boolean flag = metadataProvider.wasLastRefreshSuccess();
+            Assert.assertFalse(flag != null && flag);
             Assert.assertNotNull(metadataProvider.getLastFailureCause());
             Assert.assertTrue(ResolverException.class.isInstance(metadataProvider.getLastFailureCause())); 
         }
@@ -586,12 +589,12 @@ public class FileBackedHTTPMetadataResolverTest extends XMLObjectBaseTestCase {
 
         metadataProvider.initialize();
         
-        Assert.assertNotNull(metadataProvider.wasLastRefreshSuccess());
-        Assert.assertTrue(metadataProvider.wasLastRefreshSuccess());
+        final Boolean flag = metadataProvider.wasLastRefreshSuccess();
+        Assert.assertTrue(flag != null && flag);
         Assert.assertNull(metadataProvider.getLastFailureCause());
         
-        EntityDescriptor descriptor = metadataProvider.resolveSingle(criteriaSet);
-        Assert.assertNotNull(descriptor, "Retrieved entity descriptor was null");
+        final EntityDescriptor descriptor = metadataProvider.resolveSingle(criteriaSet);
+        assert descriptor != null;
         Assert.assertEquals(descriptor.getEntityID(), entityID, "Entity's ID does not match requested ID");
     }
     
@@ -608,12 +611,12 @@ public class FileBackedHTTPMetadataResolverTest extends XMLObjectBaseTestCase {
 
         metadataProvider.initialize();
         
-        Assert.assertNotNull(metadataProvider.wasLastRefreshSuccess());
-        Assert.assertTrue(metadataProvider.wasLastRefreshSuccess());
+        final Boolean flag = metadataProvider.wasLastRefreshSuccess();
+        Assert.assertTrue(flag != null && flag);
         Assert.assertNull(metadataProvider.getLastFailureCause());
         
-        EntityDescriptor descriptor = metadataProvider.resolveSingle(criteriaSet);
-        Assert.assertNotNull(descriptor, "Retrieved entity descriptor was null");
+        final EntityDescriptor descriptor = metadataProvider.resolveSingle(criteriaSet);
+        assert descriptor != null;
         Assert.assertEquals(descriptor.getEntityID(), entityID, "Entity's ID does not match requested ID");
     }
     
@@ -631,9 +634,9 @@ public class FileBackedHTTPMetadataResolverTest extends XMLObjectBaseTestCase {
         try {
             metadataProvider.initialize();
             Assert.fail("Invalid metadata TLS should have failed init");
-        } catch (ComponentInitializationException e) {
-            Assert.assertNotNull(metadataProvider.wasLastRefreshSuccess());
-            Assert.assertFalse(metadataProvider.wasLastRefreshSuccess());
+        } catch (final ComponentInitializationException e) {
+            final Boolean flag = metadataProvider.wasLastRefreshSuccess();
+            Assert.assertFalse(flag != null && flag);
             Assert.assertNotNull(metadataProvider.getLastFailureCause());
             Assert.assertTrue(ResolverException.class.isInstance(metadataProvider.getLastFailureCause())); 
         }
@@ -654,9 +657,9 @@ public class FileBackedHTTPMetadataResolverTest extends XMLObjectBaseTestCase {
         try {
             metadataProvider.initialize();
             Assert.fail("Invalid metadata TLS should have failed init");
-        } catch (ComponentInitializationException e) {
-            Assert.assertNotNull(metadataProvider.wasLastRefreshSuccess());
-            Assert.assertFalse(metadataProvider.wasLastRefreshSuccess());
+        } catch (final ComponentInitializationException e) {
+            final Boolean flag = metadataProvider.wasLastRefreshSuccess();
+            Assert.assertFalse(flag != null && flag);
             Assert.assertNotNull(metadataProvider.getLastFailureCause());
             Assert.assertTrue(ResolverException.class.isInstance(metadataProvider.getLastFailureCause())); 
         }
@@ -675,9 +678,9 @@ public class FileBackedHTTPMetadataResolverTest extends XMLObjectBaseTestCase {
         try {
             metadataProvider.initialize();
             Assert.fail("Invalid metadata TLS should have failed init");
-        } catch (ComponentInitializationException e) {
-            Assert.assertNotNull(metadataProvider.wasLastRefreshSuccess());
-            Assert.assertFalse(metadataProvider.wasLastRefreshSuccess());
+        } catch (final ComponentInitializationException e) {
+            final Boolean flag = metadataProvider.wasLastRefreshSuccess();
+            Assert.assertFalse(flag != null && flag);
             Assert.assertNotNull(metadataProvider.getLastFailureCause());
             Assert.assertTrue(ResolverException.class.isInstance(metadataProvider.getLastFailureCause())); 
         }
@@ -690,11 +693,12 @@ public class FileBackedHTTPMetadataResolverTest extends XMLObjectBaseTestCase {
         public MetadataFilterContext lastFilterContext;
 
         /** {@inheritDoc} */
-        public XMLObject filter(XMLObject metadata, MetadataFilterContext context) throws FilterException {
+        public XMLObject filter(@Nullable final XMLObject metadata, @Nonnull final MetadataFilterContext context)
+                throws FilterException {
             lastFilterContext = context;
             return metadata;
         }
 
     }
 
-}
+}
\ No newline at end of file
diff --git a/opensaml-saml-impl/src/test/java/org/opensaml/saml/metadata/resolver/impl/FilesystemMetadataResolverTest.java b/opensaml-saml-impl/src/test/java/org/opensaml/saml/metadata/resolver/impl/FilesystemMetadataResolverTest.java
index 690d4e25e..080e2872d 100644
--- a/opensaml-saml-impl/src/test/java/org/opensaml/saml/metadata/resolver/impl/FilesystemMetadataResolverTest.java
+++ b/opensaml-saml-impl/src/test/java/org/opensaml/saml/metadata/resolver/impl/FilesystemMetadataResolverTest.java
@@ -67,12 +67,8 @@ public class FilesystemMetadataResolverTest extends XMLObjectBaseTestCase {
         metadataProvider.setActivationCondition(Predicates.alwaysFalse());
         metadataProvider.initialize();
 
-        Assert.assertNotNull(metadataProvider.wasLastRefreshSuccess());
-        Assert.assertTrue(metadataProvider.wasLastRefreshSuccess());
-        Assert.assertNull(metadataProvider.getLastFailureCause());
-        
-        Assert.assertNotNull(metadataProvider.wasLastRefreshSuccess());
-        Assert.assertTrue(metadataProvider.wasLastRefreshSuccess());
+        final Boolean flag = metadataProvider.wasLastRefreshSuccess();
+        Assert.assertTrue(flag != null && flag);
         Assert.assertNull(metadataProvider.getLastFailureCause());
         
         EntityDescriptor descriptor = metadataProvider.resolveSingle(criteriaSet);
@@ -92,15 +88,15 @@ public class FilesystemMetadataResolverTest extends XMLObjectBaseTestCase {
             metadataProvider.setId("test");
             metadataProvider.initialize();
             
-            Assert.assertNotNull(metadataProvider.wasLastRefreshSuccess());
-            Assert.assertTrue(metadataProvider.wasLastRefreshSuccess());
+            final Boolean flag = metadataProvider.wasLastRefreshSuccess();
+            Assert.assertTrue(flag != null && flag);
             Assert.assertNull(metadataProvider.getLastFailureCause());
         } catch (ComponentInitializationException e) {
             Assert.fail("Valid metdata failed init");
         }
         
-        EntityDescriptor descriptor = metadataProvider.resolveSingle(criteriaSet);
-        Assert.assertNotNull(descriptor, "Retrieved entity descriptor was null");
+        final EntityDescriptor descriptor = metadataProvider.resolveSingle(criteriaSet);
+        assert descriptor != null;
         Assert.assertEquals(descriptor.getEntityID(), entityID, "Entity's ID does not match requested ID");
     }
     
@@ -118,9 +114,9 @@ public class FilesystemMetadataResolverTest extends XMLObjectBaseTestCase {
             metadataProvider.setId("test");
             metadataProvider.initialize();
             Assert.fail("Init should have thrown");
-        } catch (ComponentInitializationException e) {
-            Assert.assertNotNull(metadataProvider.wasLastRefreshSuccess());
-            Assert.assertFalse(metadataProvider.wasLastRefreshSuccess());
+        } catch (final ComponentInitializationException e) {
+            final Boolean flag = metadataProvider.wasLastRefreshSuccess();
+            Assert.assertFalse(flag != null && flag);
             Assert.assertNotNull(metadataProvider.getLastFailureCause());
             Assert.assertTrue(ResolverException.class.isInstance(metadataProvider.getLastFailureCause()));
         }
@@ -149,9 +145,9 @@ public class FilesystemMetadataResolverTest extends XMLObjectBaseTestCase {
             metadataProvider.setId("test");
             metadataProvider.initialize();
             Assert.fail("Init should have thrown");
-        } catch (ComponentInitializationException e) {
-            Assert.assertNotNull(metadataProvider.wasLastRefreshSuccess());
-            Assert.assertFalse(metadataProvider.wasLastRefreshSuccess());
+        } catch (final ComponentInitializationException e) {
+            final Boolean flag = metadataProvider.wasLastRefreshSuccess();
+            Assert.assertFalse(flag != null && flag);
             Assert.assertNotNull(metadataProvider.getLastFailureCause());
             Assert.assertTrue(ResolverException.class.isInstance(metadataProvider.getLastFailureCause()));
         } finally {
@@ -179,9 +175,9 @@ public class FilesystemMetadataResolverTest extends XMLObjectBaseTestCase {
             metadataProvider.setParserPool(parserPool);
             metadataProvider.setId("test");
             metadataProvider.initialize();
-        } catch (ComponentInitializationException e) {
-            Assert.assertNotNull(metadataProvider.wasLastRefreshSuccess());
-            Assert.assertFalse(metadataProvider.wasLastRefreshSuccess());
+        } catch (final ComponentInitializationException e) {
+            final Boolean flag = metadataProvider.wasLastRefreshSuccess();
+            Assert.assertFalse(flag != null && flag);
             Assert.assertNotNull(metadataProvider.getLastFailureCause());
             Assert.assertTrue(ResolverException.class.isInstance(metadataProvider.getLastFailureCause()));
         } finally {
@@ -211,10 +207,10 @@ public class FilesystemMetadataResolverTest extends XMLObjectBaseTestCase {
             metadataProvider.setId("test");
             metadataProvider.initialize();
             
-            Assert.assertNotNull(metadataProvider.wasLastRefreshSuccess());
-            Assert.assertTrue(metadataProvider.wasLastRefreshSuccess());
+            final Boolean flag = metadataProvider.wasLastRefreshSuccess();
+            Assert.assertTrue(flag != null && flag);
             Assert.assertNull(metadataProvider.getLastFailureCause());
-        } catch (ComponentInitializationException e) {
+        } catch (final ComponentInitializationException e) {
             Assert.fail("Filesystem metadata provider init failed with file: " + targetFile.getAbsolutePath());
         }
         
@@ -223,9 +219,9 @@ public class FilesystemMetadataResolverTest extends XMLObjectBaseTestCase {
         try {
             metadataProvider.refresh();
             Assert.fail("Refresh should have thrown");
-        } catch (ResolverException e) {
-            Assert.assertNotNull(metadataProvider.wasLastRefreshSuccess());
-            Assert.assertFalse(metadataProvider.wasLastRefreshSuccess());
+        } catch (final ResolverException e) {
+            final Boolean flag = metadataProvider.wasLastRefreshSuccess();
+            Assert.assertFalse(flag != null && flag);
             Assert.assertNotNull(metadataProvider.getLastFailureCause());
             Assert.assertTrue(ResolverException.class.isInstance(metadataProvider.getLastFailureCause()));
         }
@@ -251,11 +247,11 @@ public class FilesystemMetadataResolverTest extends XMLObjectBaseTestCase {
             metadataProvider.setId("test");
             metadataProvider.initialize();
             
-            Assert.assertNotNull(metadataProvider.wasLastRefreshSuccess());
-            Assert.assertFalse(metadataProvider.wasLastRefreshSuccess());
+            final Boolean flag = metadataProvider.wasLastRefreshSuccess();
+            Assert.assertFalse(flag != null && flag);
             Assert.assertNotNull(metadataProvider.getLastFailureCause());
             Assert.assertTrue(ResolverException.class.isInstance(metadataProvider.getLastFailureCause()));
-        } catch (ComponentInitializationException | ResolverException e) {
+        } catch (final ComponentInitializationException | ResolverException e) {
             Assert.fail("Filesystem metadata provider init failed with non-existent file and fail fast = false");
         }
         
@@ -279,8 +275,8 @@ public class FilesystemMetadataResolverTest extends XMLObjectBaseTestCase {
         try {
             metadataProvider.refresh();
             
-            Assert.assertNotNull(metadataProvider.wasLastRefreshSuccess());
-            Assert.assertTrue(metadataProvider.wasLastRefreshSuccess());
+            final Boolean flag = metadataProvider.wasLastRefreshSuccess();
+            Assert.assertTrue(flag != null && flag);
             Assert.assertNull(metadataProvider.getLastFailureCause());
             
             EntityDescriptor descriptor = metadataProvider.resolveSingle(criteriaSet);
@@ -304,8 +300,8 @@ public class FilesystemMetadataResolverTest extends XMLObjectBaseTestCase {
             metadataProvider.setParserPool(parserPool);
             metadataProvider.initialize();
             
-            Assert.assertNotNull(metadataProvider.wasLastRefreshSuccess());
-            Assert.assertFalse(metadataProvider.wasLastRefreshSuccess());
+            final Boolean flag = metadataProvider.wasLastRefreshSuccess();
+            Assert.assertFalse(flag != null && flag);
             Assert.assertNotNull(metadataProvider.getLastFailureCause());
             Assert.assertTrue(ResolverException.class.isInstance(metadataProvider.getLastFailureCause()));
         } catch (ComponentInitializationException | ResolverException e) {
@@ -315,4 +311,5 @@ public class FilesystemMetadataResolverTest extends XMLObjectBaseTestCase {
         EntityDescriptor entity = metadataProvider.resolveSingle(new CriteriaSet(new EntityIdCriterion("https://idp.example.org")));
         Assert.assertNull(entity);
     }
-}
+    
+}
\ No newline at end of file
diff --git a/opensaml-saml-impl/src/test/java/org/opensaml/saml/metadata/resolver/impl/FunctionDrivenDynamicHTTPMetadataResolverTest.java b/opensaml-saml-impl/src/test/java/org/opensaml/saml/metadata/resolver/impl/FunctionDrivenDynamicHTTPMetadataResolverTest.java
index ea0fc953c..8c8523874 100644
--- a/opensaml-saml-impl/src/test/java/org/opensaml/saml/metadata/resolver/impl/FunctionDrivenDynamicHTTPMetadataResolverTest.java
+++ b/opensaml-saml-impl/src/test/java/org/opensaml/saml/metadata/resolver/impl/FunctionDrivenDynamicHTTPMetadataResolverTest.java
@@ -112,8 +112,8 @@ public class FunctionDrivenDynamicHTTPMetadataResolverTest extends XMLObjectBase
         
         CriteriaSet criteriaSet = new CriteriaSet( new EntityIdCriterion(entityID));
         
-        EntityDescriptor ed = resolver.resolveSingle(criteriaSet);
-        Assert.assertNotNull(ed);
+        final EntityDescriptor ed = resolver.resolveSingle(criteriaSet);
+        assert ed != null;
         Assert.assertEquals(ed.getEntityID(), entityID);
         Assert.assertNull(ed.getDOM());
     }
@@ -141,8 +141,8 @@ public class FunctionDrivenDynamicHTTPMetadataResolverTest extends XMLObjectBase
         
         CriteriaSet criteriaSet = new CriteriaSet( new EntityIdCriterion(entityID));
         
-        EntityDescriptor ed = resolver.resolveSingle(criteriaSet);
-        Assert.assertNotNull(ed);
+        final EntityDescriptor ed = resolver.resolveSingle(criteriaSet);
+        assert ed != null;
         Assert.assertEquals(ed.getEntityID(), entityID);
         Assert.assertNull(ed.getDOM());
     }
@@ -169,7 +169,7 @@ public class FunctionDrivenDynamicHTTPMetadataResolverTest extends XMLObjectBase
         
         CriteriaSet criteriaSet = new CriteriaSet( new EntityIdCriterion(entityID));
         
-        EntityDescriptor ed = resolver.resolveSingle(criteriaSet);
+        final EntityDescriptor ed = resolver.resolveSingle(criteriaSet);
         Assert.assertNull(ed);
     }
     
@@ -192,7 +192,7 @@ public class FunctionDrivenDynamicHTTPMetadataResolverTest extends XMLObjectBase
         
         CriteriaSet criteriaSet = new CriteriaSet( new EntityIdCriterion(entityID));
         
-        EntityDescriptor ed = resolver.resolveSingle(criteriaSet);
+        final EntityDescriptor ed = resolver.resolveSingle(criteriaSet);
         Assert.assertNull(ed);
     }
     
@@ -215,7 +215,7 @@ public class FunctionDrivenDynamicHTTPMetadataResolverTest extends XMLObjectBase
         
         CriteriaSet criteriaSet = new CriteriaSet( new EntityIdCriterion(entityID));
         
-        EntityDescriptor ed = resolver.resolveSingle(criteriaSet);
+        final EntityDescriptor ed = resolver.resolveSingle(criteriaSet);
         Assert.assertNull(ed);
     }
     
@@ -240,8 +240,8 @@ public class FunctionDrivenDynamicHTTPMetadataResolverTest extends XMLObjectBase
         
         CriteriaSet criteriaSet = new CriteriaSet( new EntityIdCriterion(entityID));
         
-        EntityDescriptor ed = resolver.resolveSingle(criteriaSet);
-        Assert.assertNotNull(ed);
+        final EntityDescriptor ed = resolver.resolveSingle(criteriaSet);
+        assert ed != null;
         Assert.assertEquals(ed.getEntityID(), entityID);
         Assert.assertNull(ed.getDOM());
     }
@@ -262,8 +262,8 @@ public class FunctionDrivenDynamicHTTPMetadataResolverTest extends XMLObjectBase
         
         CriteriaSet criteriaSet = new CriteriaSet( new EntityIdCriterion(entityID));
         
-        EntityDescriptor ed = resolver.resolveSingle(criteriaSet);
-        Assert.assertNotNull(ed);
+        final EntityDescriptor ed = resolver.resolveSingle(criteriaSet);
+        assert ed != null;
         Assert.assertEquals(ed.getEntityID(), entityID);
         Assert.assertNull(ed.getDOM());
     }
@@ -292,8 +292,8 @@ public class FunctionDrivenDynamicHTTPMetadataResolverTest extends XMLObjectBase
         
         final CriteriaSet criteriaSet = new CriteriaSet( new ArtifactCriterion(sourceIDArtifact));
         
-        EntityDescriptor ed = resolver.resolveSingle(criteriaSet);
-        Assert.assertNotNull(ed);
+        final EntityDescriptor ed = resolver.resolveSingle(criteriaSet);
+        assert ed != null;
         Assert.assertEquals(ed.getEntityID(), entityID);
         Assert.assertNull(ed.getDOM());
     }
@@ -320,8 +320,8 @@ public class FunctionDrivenDynamicHTTPMetadataResolverTest extends XMLObjectBase
         
         CriteriaSet criteriaSet = new CriteriaSet( new EntityIdCriterion(entityID));
         
-        EntityDescriptor ed = resolver.resolveSingle(criteriaSet);
-        Assert.assertNotNull(ed);
+        final EntityDescriptor ed = resolver.resolveSingle(criteriaSet);
+        assert ed != null;
         Assert.assertEquals(ed.getEntityID(), entityID);
         Assert.assertNull(ed.getDOM());
     }
@@ -353,8 +353,8 @@ public class FunctionDrivenDynamicHTTPMetadataResolverTest extends XMLObjectBase
         
         CriteriaSet criteriaSet = new CriteriaSet( new EntityIdCriterion(entityID));
         
-        EntityDescriptor ed = resolver.resolveSingle(criteriaSet);
-        Assert.assertNotNull(ed);
+        final EntityDescriptor ed = resolver.resolveSingle(criteriaSet);
+        assert ed != null;
         Assert.assertEquals(ed.getEntityID(), entityID);
         Assert.assertNull(ed.getDOM());
     }
@@ -385,8 +385,8 @@ public class FunctionDrivenDynamicHTTPMetadataResolverTest extends XMLObjectBase
 
             CriteriaSet criteriaSet = new CriteriaSet( new EntityIdCriterion(entityID));
 
-            EntityDescriptor ed = resolver.resolveSingle(criteriaSet);
-            Assert.assertNotNull(ed);
+            final EntityDescriptor ed = resolver.resolveSingle(criteriaSet);
+            assert ed != null;
             Assert.assertEquals(ed.getEntityID(), entityID);
             Assert.assertNull(ed.getDOM());
         } finally {
@@ -422,8 +422,8 @@ public class FunctionDrivenDynamicHTTPMetadataResolverTest extends XMLObjectBase
         
         CriteriaSet criteriaSet = new CriteriaSet( new EntityIdCriterion(entityID));
         
-        EntityDescriptor ed = resolver.resolveSingle(criteriaSet);
-        Assert.assertNotNull(ed);
+        final EntityDescriptor ed = resolver.resolveSingle(criteriaSet);
+        assert ed != null;
         Assert.assertEquals(ed.getEntityID(), entityID);
         Assert.assertNull(ed.getDOM());
     }
@@ -455,7 +455,7 @@ public class FunctionDrivenDynamicHTTPMetadataResolverTest extends XMLObjectBase
         
         CriteriaSet criteriaSet = new CriteriaSet( new EntityIdCriterion(entityID));
         
-        EntityDescriptor ed = resolver.resolveSingle(criteriaSet);
+        final EntityDescriptor ed = resolver.resolveSingle(criteriaSet);
         Assert.assertNull(ed);
     }
     
@@ -486,8 +486,8 @@ public class FunctionDrivenDynamicHTTPMetadataResolverTest extends XMLObjectBase
         
         CriteriaSet criteriaSet = new CriteriaSet( new EntityIdCriterion(entityID));
         
-        EntityDescriptor ed = resolver.resolveSingle(criteriaSet);
-        Assert.assertNotNull(ed);
+        final EntityDescriptor ed = resolver.resolveSingle(criteriaSet);
+        assert ed != null;
         Assert.assertEquals(ed.getEntityID(), entityID);
         Assert.assertNull(ed.getDOM());
     }
@@ -519,8 +519,8 @@ public class FunctionDrivenDynamicHTTPMetadataResolverTest extends XMLObjectBase
         
         CriteriaSet criteriaSet = new CriteriaSet( new EntityIdCriterion(entityID));
         
-        EntityDescriptor ed = resolver.resolveSingle(criteriaSet);
-        Assert.assertNotNull(ed);
+        final EntityDescriptor ed = resolver.resolveSingle(criteriaSet);
+        assert ed != null;
         Assert.assertEquals(ed.getEntityID(), entityID);
         Assert.assertNull(ed.getDOM());
     }
diff --git a/opensaml-saml-impl/src/test/java/org/opensaml/saml/metadata/resolver/impl/HTTPMetadataResolverTest.java b/opensaml-saml-impl/src/test/java/org/opensaml/saml/metadata/resolver/impl/HTTPMetadataResolverTest.java
index e5656f557..90e23f025 100644
--- a/opensaml-saml-impl/src/test/java/org/opensaml/saml/metadata/resolver/impl/HTTPMetadataResolverTest.java
+++ b/opensaml-saml-impl/src/test/java/org/opensaml/saml/metadata/resolver/impl/HTTPMetadataResolverTest.java
@@ -48,11 +48,11 @@ import org.testng.annotations.BeforeClass;
 import org.testng.annotations.BeforeMethod;
 import org.testng.annotations.Test;
 
-import com.google.common.base.Predicates;
 import com.google.common.io.ByteStreams;
 
 import net.shibboleth.shared.component.ComponentInitializationException;
 import net.shibboleth.shared.httpclient.HttpClientBuilder;
+import net.shibboleth.shared.logic.PredicateSupport;
 import net.shibboleth.shared.resolver.CriteriaSet;
 import net.shibboleth.shared.resolver.ResolverException;
 import net.shibboleth.shared.testing.RepositorySupport;
@@ -60,6 +60,7 @@ import net.shibboleth.shared.testing.RepositorySupport;
 /**
  * Unit tests for {@link HTTPMetadataResolver}.
  */
+ at SuppressWarnings("javadoc")
 public class HTTPMetadataResolverTest extends XMLObjectBaseTestCase {
     
     private HttpClientBuilder httpClientBuilder;
@@ -100,11 +101,11 @@ public class HTTPMetadataResolverTest extends XMLObjectBaseTestCase {
             metadataProvider = new HTTPMetadataResolver(httpClientBuilder.buildClient(), metadataURLHttp);
             metadataProvider.setParserPool(parserPool);
             metadataProvider.setId("test");
-            metadataProvider.setActivationCondition(Predicates.alwaysFalse());
+            metadataProvider.setActivationCondition(PredicateSupport.alwaysFalse());
             metadataProvider.initialize();
             
-            Assert.assertNotNull(metadataProvider.wasLastRefreshSuccess());
-            Assert.assertTrue(metadataProvider.wasLastRefreshSuccess());
+            final Boolean flag = metadataProvider.wasLastRefreshSuccess();
+            Assert.assertTrue(flag != null && flag);
             Assert.assertNull(metadataProvider.getLastFailureCause());
         } catch (ComponentInitializationException e) {
             Assert.fail("Valid metadata failed init");
@@ -126,15 +127,15 @@ public class HTTPMetadataResolverTest extends XMLObjectBaseTestCase {
             metadataProvider.setId("test");
             metadataProvider.initialize();
             
-            Assert.assertNotNull(metadataProvider.wasLastRefreshSuccess());
-            Assert.assertTrue(metadataProvider.wasLastRefreshSuccess());
+            final Boolean flag = metadataProvider.wasLastRefreshSuccess();
+            Assert.assertTrue(flag != null && flag);
             Assert.assertNull(metadataProvider.getLastFailureCause());
         } catch (ComponentInitializationException e) {
             Assert.fail("Valid metadata failed init");
         }
         
         EntityDescriptor descriptor = metadataProvider.resolveSingle(criteriaSet);
-        Assert.assertNotNull(descriptor, "Retrieved entity descriptor was null");
+        assert descriptor != null;
         Assert.assertEquals(descriptor.getEntityID(), entityID, "Entity's ID does not match requested ID");
     }
     
@@ -154,9 +155,9 @@ public class HTTPMetadataResolverTest extends XMLObjectBaseTestCase {
         try {
             metadataProvider.initialize();
             Assert.fail("metadata provider claims to have parsed known invalid data");
-        } catch (ComponentInitializationException e) {
-            Assert.assertNotNull(metadataProvider.wasLastRefreshSuccess());
-            Assert.assertFalse(metadataProvider.wasLastRefreshSuccess());
+        } catch (final ComponentInitializationException e) {
+            final Boolean flag = metadataProvider.wasLastRefreshSuccess();
+            Assert.assertTrue(flag == null || !flag);
             Assert.assertNotNull(metadataProvider.getLastFailureCause());
             Assert.assertTrue(ResolverException.class.isInstance(metadataProvider.getLastFailureCause()));
         }
@@ -177,16 +178,16 @@ public class HTTPMetadataResolverTest extends XMLObjectBaseTestCase {
         
         try {
             metadataProvider.initialize();
-            
-            Assert.assertNotNull(metadataProvider.wasLastRefreshSuccess());
-            Assert.assertFalse(metadataProvider.wasLastRefreshSuccess());
+
+            final Boolean flag = metadataProvider.wasLastRefreshSuccess();
+            Assert.assertFalse(flag != null && flag);
             Assert.assertNotNull(metadataProvider.getLastFailureCause());
             Assert.assertTrue(ResolverException.class.isInstance(metadataProvider.getLastFailureCause()));
         } catch (ComponentInitializationException e) {
             Assert.fail("Provider failed init with fail-fast=false");
         }
         
-        EntityDescriptor descriptor = metadataProvider.resolveSingle(criteriaSet);
+        final EntityDescriptor descriptor = metadataProvider.resolveSingle(criteriaSet);
         Assert.assertNull(descriptor);
     }
     
@@ -200,12 +201,12 @@ public class HTTPMetadataResolverTest extends XMLObjectBaseTestCase {
         metadataProvider.setId("test");
         metadataProvider.initialize();
         
-        Assert.assertNotNull(metadataProvider.wasLastRefreshSuccess());
-        Assert.assertTrue(metadataProvider.wasLastRefreshSuccess());
+        final Boolean flag = metadataProvider.wasLastRefreshSuccess();
+        Assert.assertTrue(flag != null && flag);
         Assert.assertNull(metadataProvider.getLastFailureCause());
         
-        EntityDescriptor descriptor = metadataProvider.resolveSingle(criteriaSet);
-        Assert.assertNotNull(descriptor, "Retrieved entity descriptor was null");
+        final EntityDescriptor descriptor = metadataProvider.resolveSingle(criteriaSet);
+        assert descriptor != null;
         Assert.assertEquals(descriptor.getEntityID(), entityID, "Entity's ID does not match requested ID");
     }
     
@@ -223,12 +224,12 @@ public class HTTPMetadataResolverTest extends XMLObjectBaseTestCase {
         metadataProvider.setHttpClientSecurityParameters(params);
         metadataProvider.initialize();
         
-        Assert.assertNotNull(metadataProvider.wasLastRefreshSuccess());
-        Assert.assertTrue(metadataProvider.wasLastRefreshSuccess());
+        final Boolean flag = metadataProvider.wasLastRefreshSuccess();
+        Assert.assertTrue(flag != null && flag);
         Assert.assertNull(metadataProvider.getLastFailureCause());
         
-        EntityDescriptor descriptor = metadataProvider.resolveSingle(criteriaSet);
-        Assert.assertNotNull(descriptor, "Retrieved entity descriptor was null");
+        final EntityDescriptor descriptor = metadataProvider.resolveSingle(criteriaSet);
+        assert descriptor != null;
         Assert.assertEquals(descriptor.getEntityID(), entityID, "Entity's ID does not match requested ID");
     }
     
@@ -245,12 +246,12 @@ public class HTTPMetadataResolverTest extends XMLObjectBaseTestCase {
             metadataProvider.setId("test");
             metadataProvider.initialize();
             
-            Assert.assertNotNull(metadataProvider.wasLastRefreshSuccess());
-            Assert.assertTrue(metadataProvider.wasLastRefreshSuccess());
+            final Boolean flag = metadataProvider.wasLastRefreshSuccess();
+            Assert.assertTrue(flag != null && flag);
             Assert.assertNull(metadataProvider.getLastFailureCause());
 
-            EntityDescriptor descriptor = metadataProvider.resolveSingle(criteriaSet);
-            Assert.assertNotNull(descriptor, "Retrieved entity descriptor was null");
+            final EntityDescriptor descriptor = metadataProvider.resolveSingle(criteriaSet);
+            assert descriptor != null;
             Assert.assertEquals(descriptor.getEntityID(), entityID, "Entity's ID does not match requested ID");
         } finally {
             System.setProperty("javax.net.ssl.trustStore", "");
@@ -272,12 +273,12 @@ public class HTTPMetadataResolverTest extends XMLObjectBaseTestCase {
 
         metadataProvider.initialize();
         
-        Assert.assertNotNull(metadataProvider.wasLastRefreshSuccess());
-        Assert.assertTrue(metadataProvider.wasLastRefreshSuccess());
+        final Boolean flag = metadataProvider.wasLastRefreshSuccess();
+        Assert.assertTrue(flag != null && flag);
         Assert.assertNull(metadataProvider.getLastFailureCause());
         
-        EntityDescriptor descriptor = metadataProvider.resolveSingle(criteriaSet);
-        Assert.assertNotNull(descriptor, "Retrieved entity descriptor was null");
+        final EntityDescriptor descriptor = metadataProvider.resolveSingle(criteriaSet);
+        assert descriptor != null;
         Assert.assertEquals(descriptor.getEntityID(), entityID, "Entity's ID does not match requested ID");
     }
     
@@ -297,9 +298,9 @@ public class HTTPMetadataResolverTest extends XMLObjectBaseTestCase {
         try {
             metadataProvider.initialize();
             Assert.fail("Invalid metadata TLS should have failed init");
-        } catch (ComponentInitializationException e) {
-            Assert.assertNotNull(metadataProvider.wasLastRefreshSuccess());
-            Assert.assertFalse(metadataProvider.wasLastRefreshSuccess());
+        } catch (final ComponentInitializationException e) {
+            final Boolean flag = metadataProvider.wasLastRefreshSuccess();
+            Assert.assertFalse(flag != null && flag);
             Assert.assertNotNull(metadataProvider.getLastFailureCause());
             Assert.assertTrue(ResolverException.class.isInstance(metadataProvider.getLastFailureCause()));
         }
@@ -319,12 +320,12 @@ public class HTTPMetadataResolverTest extends XMLObjectBaseTestCase {
 
         metadataProvider.initialize();
         
-        Assert.assertNotNull(metadataProvider.wasLastRefreshSuccess());
-        Assert.assertTrue(metadataProvider.wasLastRefreshSuccess());
+        final Boolean flag = metadataProvider.wasLastRefreshSuccess();
+        Assert.assertTrue(flag != null && flag);
         Assert.assertNull(metadataProvider.getLastFailureCause());
         
-        EntityDescriptor descriptor = metadataProvider.resolveSingle(criteriaSet);
-        Assert.assertNotNull(descriptor, "Retrieved entity descriptor was null");
+        final EntityDescriptor descriptor = metadataProvider.resolveSingle(criteriaSet);
+        assert descriptor != null;
         Assert.assertEquals(descriptor.getEntityID(), entityID, "Entity's ID does not match requested ID");
     }
     
@@ -342,12 +343,12 @@ public class HTTPMetadataResolverTest extends XMLObjectBaseTestCase {
 
         metadataProvider.initialize();
         
-        Assert.assertNotNull(metadataProvider.wasLastRefreshSuccess());
-        Assert.assertTrue(metadataProvider.wasLastRefreshSuccess());
+        final Boolean flag = metadataProvider.wasLastRefreshSuccess();
+        Assert.assertTrue(flag != null && flag);
         Assert.assertNull(metadataProvider.getLastFailureCause());
         
-        EntityDescriptor descriptor = metadataProvider.resolveSingle(criteriaSet);
-        Assert.assertNotNull(descriptor, "Retrieved entity descriptor was null");
+        final EntityDescriptor descriptor = metadataProvider.resolveSingle(criteriaSet);
+        assert descriptor != null;
         Assert.assertEquals(descriptor.getEntityID(), entityID, "Entity's ID does not match requested ID");
     }
     
@@ -367,8 +368,8 @@ public class HTTPMetadataResolverTest extends XMLObjectBaseTestCase {
             metadataProvider.initialize();
             Assert.fail("Invalid metadata TLS should have failed init");
         } catch (ComponentInitializationException e) {
-            Assert.assertNotNull(metadataProvider.wasLastRefreshSuccess());
-            Assert.assertFalse(metadataProvider.wasLastRefreshSuccess());
+            final Boolean flag = metadataProvider.wasLastRefreshSuccess();
+            Assert.assertFalse(flag != null && flag);
             Assert.assertNotNull(metadataProvider.getLastFailureCause());
             Assert.assertTrue(ResolverException.class.isInstance(metadataProvider.getLastFailureCause()));
         }
@@ -389,9 +390,9 @@ public class HTTPMetadataResolverTest extends XMLObjectBaseTestCase {
         try {
             metadataProvider.initialize();
             Assert.fail("Invalid metadata TLS should have failed init");
-        } catch (ComponentInitializationException e) {
-            Assert.assertNotNull(metadataProvider.wasLastRefreshSuccess());
-            Assert.assertFalse(metadataProvider.wasLastRefreshSuccess());
+        } catch (final ComponentInitializationException e) {
+            final Boolean flag = metadataProvider.wasLastRefreshSuccess();
+            Assert.assertFalse(flag != null && flag);
             Assert.assertNotNull(metadataProvider.getLastFailureCause());
             Assert.assertTrue(ResolverException.class.isInstance(metadataProvider.getLastFailureCause()));
         }
@@ -411,9 +412,9 @@ public class HTTPMetadataResolverTest extends XMLObjectBaseTestCase {
         try {
             metadataProvider.initialize();
             Assert.fail("Invalid metadata TLS should have failed init");
-        } catch (ComponentInitializationException e) {
-            Assert.assertNotNull(metadataProvider.wasLastRefreshSuccess());
-            Assert.assertFalse(metadataProvider.wasLastRefreshSuccess());
+        } catch (final ComponentInitializationException e) {
+            final Boolean flag = metadataProvider.wasLastRefreshSuccess();
+            Assert.assertFalse(flag != null && flag);
             Assert.assertNotNull(metadataProvider.getLastFailureCause());
             Assert.assertTrue(ResolverException.class.isInstance(metadataProvider.getLastFailureCause()));
         }
diff --git a/opensaml-saml-impl/src/test/java/org/opensaml/saml/metadata/resolver/impl/LocalDynamicMetadataResolverTest.java b/opensaml-saml-impl/src/test/java/org/opensaml/saml/metadata/resolver/impl/LocalDynamicMetadataResolverTest.java
index 5d51c4a68..b40316673 100644
--- a/opensaml-saml-impl/src/test/java/org/opensaml/saml/metadata/resolver/impl/LocalDynamicMetadataResolverTest.java
+++ b/opensaml-saml-impl/src/test/java/org/opensaml/saml/metadata/resolver/impl/LocalDynamicMetadataResolverTest.java
@@ -154,8 +154,8 @@ public class LocalDynamicMetadataResolverTest extends XMLObjectBaseTestCase {
         
         // Clear from in-memory cache
         resolver.clear(entityID1);
-        Assert.assertNull(resolver.getBackingStore().getIndexedDescriptors().get(entityID1));
-        Assert.assertFalse(resolver.getBackingStore().getOrderedDescriptors().contains(entity1));
+        Assert.assertNull(resolver.ensureBackingStore().getIndexedDescriptors().get(entityID1));
+        Assert.assertFalse(resolver.ensureBackingStore().getOrderedDescriptors().contains(entity1));
         
         // This should re-resolve from source manager directly
         Assert.assertSame(resolver.resolveSingle(new CriteriaSet(new EntityIdCriterion(entityID1))), entity1);

-- 
To stop receiving notification emails like this one, please contact
the administrator of this repository.


More information about the commits mailing list