[java-opensaml2 COMMIT] in /branches/REL_2: doc/RELEASE-NOTES.txt src/test/java/org/opensaml/saml2/metadata/provider/...

noreply at shibboleth.net noreply at shibboleth.net
Fri Mar 22 15:32:43 EDT 2013


Author: putmanb
Date: Fri Mar 22 15:32:43 2013
New Revision: 1637

URL: http://svn.shibboleth.net/view/java-opensaml2?rev=1637&view=rev
Log:
JOST-209: Add tests for fail-fast in HTTPMetadataProvider 

Modified:
    branches/REL_2/doc/RELEASE-NOTES.txt
    branches/REL_2/src/test/java/org/opensaml/saml2/metadata/provider/HTTPMetadataProviderTest.java

Modified: branches/REL_2/doc/RELEASE-NOTES.txt
URL: http://svn.shibboleth.net/view/java-opensaml2/branches/REL_2/doc/RELEASE-NOTES.txt?rev=1637&r1=1636&r2=1637&view=diff
==============================================================================
--- branches/REL_2/doc/RELEASE-NOTES.txt (original)
+++ branches/REL_2/doc/RELEASE-NOTES.txt Fri Mar 22 15:32:43 2013
@@ -21,6 +21,7 @@
 [JOST-205] - MetadataProvider doesn't report error during refresh if the metadata file doesn't exist any more
 [JOST-206] - Setting failFastInitialization=false has no effect
 [JOST-208] - FileBackedHTTPMetadataProvider constructor doesn't behave correctly vis-a-vis fail-fast setting if the backing file path has problems 
+[JOST-209] - Add tests for fail-fast in HTTPMetadataProvider 
 
 Changes in Release 2.5.3
 =============================================

Modified: branches/REL_2/src/test/java/org/opensaml/saml2/metadata/provider/HTTPMetadataProviderTest.java
URL: http://svn.shibboleth.net/view/java-opensaml2/branches/REL_2/src/test/java/org/opensaml/saml2/metadata/provider/HTTPMetadataProviderTest.java?rev=1637&r1=1636&r2=1637&view=diff
==============================================================================
--- branches/REL_2/src/test/java/org/opensaml/saml2/metadata/provider/HTTPMetadataProviderTest.java (original)
+++ branches/REL_2/src/test/java/org/opensaml/saml2/metadata/provider/HTTPMetadataProviderTest.java Fri Mar 22 15:32:43 2013
@@ -19,6 +19,7 @@
 
 import java.util.List;
 
+
 import org.opensaml.common.BaseTestCase;
 import org.opensaml.saml2.metadata.EntitiesDescriptor;
 import org.opensaml.saml2.metadata.EntityDescriptor;
@@ -31,6 +32,7 @@
 public class HTTPMetadataProviderTest extends BaseTestCase {
 
     private String inCommonMDURL;
+    private String badMDURL;
     private String entitiesDescriptorName;
     private String entityID;
     private String supportedProtocol;
@@ -42,6 +44,7 @@
         
         inCommonMDURL = "https://svn.shibboleth.net/java-opensaml2"
                 + "/branches/REL_2/src/test/resources/data/org/opensaml/saml2/metadata/InCommon-metadata.xml";
+        badMDURL = "http://www.google.com/";
         entitiesDescriptorName = "urn:mace:incommon";
         entityID = "urn:mace:incommon:washington.edu";
         supportedProtocol ="urn:oasis:names:tc:SAML:1.1:protocol";
@@ -93,4 +96,38 @@
         RoleDescriptor role = metadataProvider.getRole(entityID, IDPSSODescriptor.DEFAULT_ELEMENT_NAME, supportedProtocol);
         assertNotNull("Roles for entity descriptor was null", role);
     }
+    
+    /**
+     * Test fail-fast = true with known bad metadata URL.
+     */
+    public void testFailFastBadURL() throws MetadataProviderException {
+        metadataProvider = new HTTPMetadataProvider(badMDURL, 1000 * 5);
+        
+        metadataProvider.setFailFastInitialization(true);
+        metadataProvider.setParserPool(parser);
+        
+        try {
+            metadataProvider.initialize();
+            fail("metadata provider claims to have parsed known invalid data");
+        } catch (MetadataProviderException e) {
+            //expected, do nothing
+        }
+    }
+    
+    /**
+     * Test fail-fast = false with known bad metadata URL.
+     */
+    public void testNoFailFastBadURL() throws MetadataProviderException {
+        metadataProvider = new HTTPMetadataProvider(badMDURL, 1000 * 5);
+        
+        metadataProvider.setFailFastInitialization(false);
+        metadataProvider.setParserPool(parser);
+        
+        try {
+            metadataProvider.initialize();
+        } catch (MetadataProviderException e) {
+            fail("Provider failed init with fail-fast=false");
+        }
+    }
+    
 }



More information about the commits mailing list