[java-identity-provider] 03/03: IDP-1146: Replace unit test usage of Subversion repo resources with Git

Rod Widdowson rdw at steadingsoftware.com
Fri Mar 31 04:51:45 EDT 2017


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

rdw pushed a commit to branch maint-3.3
in repository java-identity-provider.

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

commit e636b67feb64d86c5aa36c7498ea9d2bd79fb97a
Author: Brent Putman <putmanb at georgetown.edu>
AuthorDate: Mon Mar 20 21:32:56 2017 -0400

    IDP-1146: Replace unit test usage of Subversion repo resources with Git
    
    https://issues.shibboleth.net/jira/browse/IDP-1146
    
    Modified cherry pick of 06aa96cf201d into maint-3.3
    with RepositorySupport copied in from java-support from master
---
 .../metadata/AbstractMetadataParserTest.java       | 50 ++++++++----
 .../DynamicHTTPMetadataProviderParserTest.java     | 91 ++++++++++++++++------
 .../FileBackedHTTPMetadataProviderParserTest.java  | 17 +++-
 .../metadata/HTTPMetadataProviderParserTest.java   | 73 +++++++++++++----
 .../metadata/HTTPResourceConfigurationTests.java   | 21 ++++-
 .../relyingparty/metadata/RepositorySupport.java   | 68 ++++++++++++++++
 .../metadata/ResourceMetadataParserTest.java       | 25 +++++-
 .../spring/relyingparty/metadata/HTTPEntities.xml  |  2 +-
 .../relyingparty/metadata/HTTPEntitiesClient.xml   |  2 +-
 .../metadata/HTTPEntity-httpCaching-file.xml       |  2 +-
 .../metadata/HTTPEntity-httpCaching-memory.xml     |  2 +-
 .../metadata/HTTPEntity-httpCaching-none.xml       |  2 +-
 .../spring/relyingparty/metadata/HTTPEntity.xml    |  2 +-
 .../spring/relyingparty/metadata/HTTPProxy.xml     |  2 +-
 .../spring/relyingparty/metadata/HTTPResources.xml | 10 ++-
 .../metadata/dynamic-httpCaching-file.xml          |  2 +-
 .../metadata/dynamic-httpCaching-memory.xml        |  2 +-
 .../metadata/dynamic-httpCaching-none.xml          |  2 +-
 .../metadata/dynamic-https-noTrustEngine.xml       |  2 +-
 .../dynamic-https-trustEngine-explicitKey.xml      |  2 +-
 .../dynamic-https-trustEngine-invalidKey.xml       |  2 +-
 .../dynamic-https-trustEngine-invalidPKIX.xml      |  2 +-
 ...s-trustEngine-validPKIX-explicitTrustedName.xml |  2 +-
 .../dynamic-https-trustEngine-validPKIX.xml        |  2 +-
 .../spring/relyingparty/metadata/dynamicRegex.xml  |  2 +-
 .../relyingparty/metadata/dynamicTemplate.xml      |  2 +-
 .../metadata/fileBackedHTTPEntities.xml            |  2 +-
 .../relyingparty/metadata/fileBackedHTTPEntity.xml |  2 +-
 .../metadata/https-client-security-params.xml      |  2 +-
 .../spring/relyingparty/metadata/https-indexes.xml |  2 +-
 .../relyingparty/metadata/https-noTrustEngine.xml  |  2 +-
 .../relyingparty/metadata/https-timeouts.xml       |  2 +-
 .../metadata/https-trustEngine-explicitKey.xml     |  2 +-
 .../metadata/https-trustEngine-invalidKey.xml      |  2 +-
 .../metadata/https-trustEngine-invalidPKIX.xml     |  2 +-
 ...s-trustEngine-validPKIX-explicitTrustedName.xml |  2 +-
 .../metadata/https-trustEngine-validPKIX.xml       |  2 +-
 .../metadata/resourceFileBackedHTTPEntities.xml    |  2 +-
 .../metadata/resourceFileBackedHTTPEntity.xml      |  2 +-
 .../relyingparty/metadata/resourceHTTPEntities.xml |  2 +-
 .../relyingparty/metadata/resourceHTTPEntity.xml   |  2 +-
 41 files changed, 323 insertions(+), 98 deletions(-)

diff --git a/idp-profile-spring/src/test/java/net/shibboleth/idp/profile/spring/relyingparty/metadata/AbstractMetadataParserTest.java b/idp-profile-spring/src/test/java/net/shibboleth/idp/profile/spring/relyingparty/metadata/AbstractMetadataParserTest.java
index 7d0db0a..5a76c34 100644
--- a/idp-profile-spring/src/test/java/net/shibboleth/idp/profile/spring/relyingparty/metadata/AbstractMetadataParserTest.java
+++ b/idp-profile-spring/src/test/java/net/shibboleth/idp/profile/spring/relyingparty/metadata/AbstractMetadataParserTest.java
@@ -27,14 +27,6 @@ import java.util.HashSet;
 import java.util.Iterator;
 import java.util.List;
 
-import net.shibboleth.ext.spring.config.DurationToLongConverter;
-import net.shibboleth.ext.spring.config.StringToIPRangeConverter;
-import net.shibboleth.ext.spring.context.FilesystemGenericApplicationContext;
-import net.shibboleth.ext.spring.util.SchemaTypeAwareXMLBeanDefinitionReader;
-import net.shibboleth.ext.spring.util.SpringSupport;
-import net.shibboleth.idp.saml.metadata.RelyingPartyMetadataProvider;
-import net.shibboleth.utilities.java.support.resolver.CriteriaSet;
-
 import org.opensaml.core.OpenSAMLInitBaseTestCase;
 import org.opensaml.core.criterion.EntityIdCriterion;
 import org.springframework.context.ApplicationContext;
@@ -42,6 +34,7 @@ import org.springframework.context.support.ConversionServiceFactoryBean;
 import org.springframework.context.support.GenericApplicationContext;
 import org.springframework.context.support.PropertySourcesPlaceholderConfigurer;
 import org.springframework.core.env.MutablePropertySources;
+import org.springframework.core.env.PropertySource;
 import org.springframework.core.env.StandardEnvironment;
 import org.springframework.core.io.ClassPathResource;
 import org.springframework.core.io.Resource;
@@ -49,6 +42,14 @@ import org.springframework.mock.env.MockPropertySource;
 import org.testng.annotations.AfterSuite;
 import org.testng.annotations.BeforeSuite;
 
+import net.shibboleth.ext.spring.config.DurationToLongConverter;
+import net.shibboleth.ext.spring.config.StringToIPRangeConverter;
+import net.shibboleth.ext.spring.context.FilesystemGenericApplicationContext;
+import net.shibboleth.ext.spring.util.SchemaTypeAwareXMLBeanDefinitionReader;
+import net.shibboleth.ext.spring.util.SpringSupport;
+import net.shibboleth.idp.saml.metadata.RelyingPartyMetadataProvider;
+import net.shibboleth.utilities.java.support.resolver.CriteriaSet;
+
 /**
  * Base class for testing metadata providers.
  */
@@ -140,7 +141,7 @@ public class AbstractMetadataParserTest extends OpenSAMLInitBaseTestCase {
 
     }
     
-    protected ApplicationContext getApplicationContext2(final String contextName, final String svnDir, final String... files) throws IOException {
+    protected ApplicationContext getApplicationContext2(final String contextName, final PropertySource propSource, final String svnDir, final String... files) throws IOException {
         final Resource[] resources = new Resource[files.length];
 
         for (int i = 0; i < files.length; i++) {
@@ -150,6 +151,10 @@ public class AbstractMetadataParserTest extends OpenSAMLInitBaseTestCase {
         final GenericApplicationContext context = new FilesystemGenericApplicationContext();
         registerContext(context);
         
+        if (propSource != null) {
+            context.getEnvironment().getPropertySources().addFirst(propSource);
+        }
+        
         setDirectoryPlaceholder(context, svnDir);
 
         final ConversionServiceFactoryBean service = new ConversionServiceFactoryBean();
@@ -169,12 +174,16 @@ public class AbstractMetadataParserTest extends OpenSAMLInitBaseTestCase {
         return context;
     }
     
+    protected ApplicationContext getApplicationContext2(final String contextName, final String svnDir, final String... files) throws IOException {
+        return getApplicationContext2(contextName, null, svnDir, files);
+    }
+    
     protected ApplicationContext getApplicationContext(final String contextName, final String... files) throws IOException {
         return getApplicationContext2(contextName, null, files);
     }
 
-    protected <T> T getBean2(final Class<T> claz, final String svnDir, final String... files) throws IOException {
-        final ApplicationContext context = getApplicationContext2(claz.getCanonicalName(), svnDir, files);
+    protected <T> T getBean2(final Class<T> claz, final PropertySource propSource, final String svnDir, final String... files) throws IOException {
+        final ApplicationContext context = getApplicationContext2(claz.getCanonicalName(), propSource, svnDir, files);
 
         if (context.containsBean("shibboleth.ParserPool")) {
             parserPool = context.getBean("shibboleth.ParserPool");
@@ -192,11 +201,24 @@ public class AbstractMetadataParserTest extends OpenSAMLInitBaseTestCase {
         return claz.cast(rpProvider.getEmbeddedResolver());
     }
     
+    protected <T> T getBean2(final Class<T> claz, final String svnDir, final String... files) throws IOException {
+        return getBean2(claz, null, svnDir, files);
+    }
+    
+    protected <T> T getBean(final Class<T> claz, final PropertySource propSource, final String... files) throws IOException {
+        return getBean2(claz, propSource, null, files);
+    }
+    
     protected <T> T getBean(final Class<T> claz, final String... files) throws IOException {
-        return getBean2(claz, null, files);
+        return getBean2(claz, null, null, files);
     }
-
-
+    
+    protected MockPropertySource singletonPropertySource(final String name, final String value) {
+        MockPropertySource propSource = new MockPropertySource("localProperties");
+        propSource.setProperty(name, value);
+        return propSource;
+    }
+   
     static public CriteriaSet criteriaFor(final String entityId) {
         final EntityIdCriterion criterion = new EntityIdCriterion(entityId);
         return new CriteriaSet(criterion);
diff --git a/idp-profile-spring/src/test/java/net/shibboleth/idp/profile/spring/relyingparty/metadata/DynamicHTTPMetadataProviderParserTest.java b/idp-profile-spring/src/test/java/net/shibboleth/idp/profile/spring/relyingparty/metadata/DynamicHTTPMetadataProviderParserTest.java
index ecd1746..03218b4 100644
--- a/idp-profile-spring/src/test/java/net/shibboleth/idp/profile/spring/relyingparty/metadata/DynamicHTTPMetadataProviderParserTest.java
+++ b/idp-profile-spring/src/test/java/net/shibboleth/idp/profile/spring/relyingparty/metadata/DynamicHTTPMetadataProviderParserTest.java
@@ -20,6 +20,9 @@ package net.shibboleth.idp.profile.spring.relyingparty.metadata;
 import java.util.Arrays;
 import java.util.Collections;
 
+import net.shibboleth.idp.saml.metadata.RelyingPartyMetadataProvider;
+import net.shibboleth.utilities.java.support.resolver.CriteriaSet;
+
 import org.opensaml.core.criterion.EntityIdCriterion;
 import org.opensaml.core.xml.persist.FilesystemLoadSaveManager;
 import org.opensaml.core.xml.persist.XMLObjectLoadSaveManager;
@@ -28,6 +31,7 @@ import org.opensaml.saml.metadata.resolver.impl.FunctionDrivenDynamicHTTPMetadat
 import org.opensaml.saml.metadata.resolver.impl.HTTPEntityIDRequestURLBuilder;
 import org.opensaml.saml.saml2.metadata.EntityDescriptor;
 import org.springframework.context.ApplicationContext;
+import org.springframework.mock.env.MockPropertySource;
 import org.testng.Assert;
 import org.testng.annotations.Test;
 
@@ -39,6 +43,14 @@ import net.shibboleth.utilities.java.support.resolver.CriteriaSet;
 
 public class DynamicHTTPMetadataProviderParserTest extends AbstractMetadataParserTest {
     
+    private static final String PROP_MDURL = "metadataURL";
+    
+    private static final String REPO_IDP = "java-identity-provider";
+    
+    private static final String REPO_OPENSAML = "java-opensaml";
+    
+    private static final String TEMPLATE_URL = "opensaml-saml-impl/src/test/resources/org/opensaml/saml/metadata/resolver/impl/${entityID}.xml";
+    
     @Test
     public void testDefaults() throws Exception {
         FunctionDrivenDynamicHTTPMetadataResolver resolver = getBean(FunctionDrivenDynamicHTTPMetadataResolver.class, 
@@ -207,8 +219,11 @@ public class DynamicHTTPMetadataProviderParserTest extends AbstractMetadataParse
 
     @Test
     public void testTemplate() throws Exception {
-        FunctionDrivenDynamicHTTPMetadataResolver resolver = getBean(FunctionDrivenDynamicHTTPMetadataResolver.class, 
-                "dynamicTemplate.xml", "beans.xml");
+        MockPropertySource propSource = singletonPropertySource(PROP_MDURL, 
+                RepositorySupport.buildHTTPResourceURL(REPO_OPENSAML, TEMPLATE_URL, false));
+        
+        final FunctionDrivenDynamicHTTPMetadataResolver resolver = getBean(FunctionDrivenDynamicHTTPMetadataResolver.class, 
+                propSource, "dynamicTemplate.xml", "beans.xml");
         
         String entityID = "https://www.example.org/sp";
         
@@ -235,8 +250,11 @@ public class DynamicHTTPMetadataProviderParserTest extends AbstractMetadataParse
     
     @Test
     public void testRegex() throws Exception {
-        FunctionDrivenDynamicHTTPMetadataResolver resolver = getBean(FunctionDrivenDynamicHTTPMetadataResolver.class, 
-                "dynamicRegex.xml", "beans.xml");
+        MockPropertySource propSource = singletonPropertySource(PROP_MDURL, 
+                RepositorySupport.buildHTTPResourceURL(REPO_IDP, "idp-profile-spring/src/test/resources/net/shibboleth/idp/profile/spring/relyingparty/metadata/$1.xml", false));
+        
+        final FunctionDrivenDynamicHTTPMetadataResolver resolver = getBean(FunctionDrivenDynamicHTTPMetadataResolver.class, 
+                propSource, "dynamicRegex.xml", "beans.xml");
         
         String entityID = "https://idp.example.org/idp/shibboleth";
         
@@ -249,8 +267,11 @@ public class DynamicHTTPMetadataProviderParserTest extends AbstractMetadataParse
     
     @Test
     public void testHttpCachingNone() throws Exception {
-        FunctionDrivenDynamicHTTPMetadataResolver resolver = getBean(FunctionDrivenDynamicHTTPMetadataResolver.class, 
-                "dynamic-httpCaching-none.xml", "beans.xml");
+        MockPropertySource propSource = singletonPropertySource(PROP_MDURL, 
+                RepositorySupport.buildHTTPResourceURL(REPO_OPENSAML, TEMPLATE_URL, false));
+        
+        final FunctionDrivenDynamicHTTPMetadataResolver resolver = getBean(FunctionDrivenDynamicHTTPMetadataResolver.class, 
+                propSource, "dynamic-httpCaching-none.xml", "beans.xml");
         
         String entityID = "https://www.example.org/sp";
         
@@ -263,8 +284,11 @@ public class DynamicHTTPMetadataProviderParserTest extends AbstractMetadataParse
 
     @Test
     public void testHttpCachingMemory() throws Exception {
-        FunctionDrivenDynamicHTTPMetadataResolver resolver = getBean(FunctionDrivenDynamicHTTPMetadataResolver.class, 
-                "dynamic-httpCaching-memory.xml", "beans.xml");
+        MockPropertySource propSource = singletonPropertySource(PROP_MDURL, 
+                RepositorySupport.buildHTTPResourceURL(REPO_OPENSAML, TEMPLATE_URL, false));
+        
+        final FunctionDrivenDynamicHTTPMetadataResolver resolver = getBean(FunctionDrivenDynamicHTTPMetadataResolver.class, 
+                propSource, "dynamic-httpCaching-memory.xml", "beans.xml");
         
         String entityID = "https://www.example.org/sp";
         
@@ -277,8 +301,12 @@ public class DynamicHTTPMetadataProviderParserTest extends AbstractMetadataParse
 
     @Test
     public void testHttpCachingFile() throws Exception {
-        FunctionDrivenDynamicHTTPMetadataResolver resolver = getBean(FunctionDrivenDynamicHTTPMetadataResolver.class, 
-                "dynamic-httpCaching-file.xml", "beans.xml");
+
+        MockPropertySource propSource = singletonPropertySource(PROP_MDURL, 
+                RepositorySupport.buildHTTPResourceURL(REPO_OPENSAML, TEMPLATE_URL, false));
+        
+        final FunctionDrivenDynamicHTTPMetadataResolver resolver = getBean(FunctionDrivenDynamicHTTPMetadataResolver.class, 
+                propSource, "dynamic-httpCaching-file.xml", "beans.xml");
         
         String entityID = "https://www.example.org/sp";
         
@@ -291,8 +319,12 @@ public class DynamicHTTPMetadataProviderParserTest extends AbstractMetadataParse
     
     @Test
     public void testHTTPSNoTrustEngine() throws Exception {
-        FunctionDrivenDynamicHTTPMetadataResolver resolver = getBean(FunctionDrivenDynamicHTTPMetadataResolver.class, 
-                "dynamic-https-noTrustEngine.xml", "beans.xml");
+
+        MockPropertySource propSource = singletonPropertySource(PROP_MDURL, 
+                RepositorySupport.buildHTTPSResourceURL(REPO_OPENSAML, TEMPLATE_URL));
+        
+        final FunctionDrivenDynamicHTTPMetadataResolver resolver = getBean(FunctionDrivenDynamicHTTPMetadataResolver.class, 
+                propSource, "dynamic-https-noTrustEngine.xml", "beans.xml");
         
         String entityID = "https://www.example.org/sp";
         
@@ -305,8 +337,11 @@ public class DynamicHTTPMetadataProviderParserTest extends AbstractMetadataParse
     
     @Test
     public void testHTTPSTrustEngineExplicitKey() throws Exception {
-        FunctionDrivenDynamicHTTPMetadataResolver resolver = getBean(FunctionDrivenDynamicHTTPMetadataResolver.class, 
-                "dynamic-https-trustEngine-explicitKey.xml", "beans.xml");
+        MockPropertySource propSource = singletonPropertySource(PROP_MDURL, 
+                RepositorySupport.buildHTTPSResourceURL(REPO_OPENSAML, TEMPLATE_URL));
+        
+        final FunctionDrivenDynamicHTTPMetadataResolver resolver = getBean(FunctionDrivenDynamicHTTPMetadataResolver.class, 
+                propSource, "dynamic-https-trustEngine-explicitKey.xml", "beans.xml");
         
         String entityID = "https://www.example.org/sp";
         
@@ -319,8 +354,11 @@ public class DynamicHTTPMetadataProviderParserTest extends AbstractMetadataParse
     
     @Test
     public void testHTTPSTrustEngineInvalidKey() throws Exception {
-        FunctionDrivenDynamicHTTPMetadataResolver resolver = getBean(FunctionDrivenDynamicHTTPMetadataResolver.class, 
-                "dynamic-https-trustEngine-invalidKey.xml", "beans.xml");
+        MockPropertySource propSource = singletonPropertySource(PROP_MDURL, 
+                RepositorySupport.buildHTTPSResourceURL(REPO_OPENSAML, TEMPLATE_URL));
+        
+        final FunctionDrivenDynamicHTTPMetadataResolver resolver = getBean(FunctionDrivenDynamicHTTPMetadataResolver.class, 
+                propSource, "dynamic-https-trustEngine-invalidKey.xml", "beans.xml");
         
         String entityID = "https://www.example.org/sp";
         
@@ -332,8 +370,11 @@ public class DynamicHTTPMetadataProviderParserTest extends AbstractMetadataParse
     
     @Test
     public void testHTTPSTrustEngineValidPKIX() throws Exception {
-        FunctionDrivenDynamicHTTPMetadataResolver resolver = getBean(FunctionDrivenDynamicHTTPMetadataResolver.class, 
-                "dynamic-https-trustEngine-validPKIX.xml", "beans.xml");
+        MockPropertySource propSource = singletonPropertySource(PROP_MDURL, 
+                RepositorySupport.buildHTTPSResourceURL(REPO_OPENSAML, TEMPLATE_URL));
+        
+        final FunctionDrivenDynamicHTTPMetadataResolver resolver = getBean(FunctionDrivenDynamicHTTPMetadataResolver.class, 
+                propSource, "dynamic-https-trustEngine-validPKIX.xml", "beans.xml");
         
         String entityID = "https://www.example.org/sp";
         
@@ -346,8 +387,11 @@ public class DynamicHTTPMetadataProviderParserTest extends AbstractMetadataParse
     
     @Test
     public void testHTTPSTrustEngineValidPKIXExplicitTrustedName() throws Exception {
-        FunctionDrivenDynamicHTTPMetadataResolver resolver = getBean(FunctionDrivenDynamicHTTPMetadataResolver.class, 
-                "dynamic-https-trustEngine-validPKIX-explicitTrustedName.xml", "beans.xml");
+        MockPropertySource propSource = singletonPropertySource(PROP_MDURL, 
+                RepositorySupport.buildHTTPSResourceURL(REPO_OPENSAML, TEMPLATE_URL));
+        
+        final FunctionDrivenDynamicHTTPMetadataResolver resolver = getBean(FunctionDrivenDynamicHTTPMetadataResolver.class, 
+                propSource, "dynamic-https-trustEngine-validPKIX-explicitTrustedName.xml", "beans.xml");
         
         String entityID = "https://www.example.org/sp";
         
@@ -360,8 +404,11 @@ public class DynamicHTTPMetadataProviderParserTest extends AbstractMetadataParse
     
     @Test
     public void testHTTPSTrustEngineInvalidPKIX() throws Exception {
-        FunctionDrivenDynamicHTTPMetadataResolver resolver = getBean(FunctionDrivenDynamicHTTPMetadataResolver.class, 
-                "dynamic-https-trustEngine-invalidPKIX.xml", "beans.xml");
+        MockPropertySource propSource = singletonPropertySource(PROP_MDURL, 
+                RepositorySupport.buildHTTPSResourceURL(REPO_OPENSAML, TEMPLATE_URL));
+        
+        final FunctionDrivenDynamicHTTPMetadataResolver resolver = getBean(FunctionDrivenDynamicHTTPMetadataResolver.class, 
+                propSource, "dynamic-https-trustEngine-invalidPKIX.xml", "beans.xml");
         
         String entityID = "https://www.example.org/sp";
         
diff --git a/idp-profile-spring/src/test/java/net/shibboleth/idp/profile/spring/relyingparty/metadata/FileBackedHTTPMetadataProviderParserTest.java b/idp-profile-spring/src/test/java/net/shibboleth/idp/profile/spring/relyingparty/metadata/FileBackedHTTPMetadataProviderParserTest.java
index f6a197f..13aea74 100644
--- a/idp-profile-spring/src/test/java/net/shibboleth/idp/profile/spring/relyingparty/metadata/FileBackedHTTPMetadataProviderParserTest.java
+++ b/idp-profile-spring/src/test/java/net/shibboleth/idp/profile/spring/relyingparty/metadata/FileBackedHTTPMetadataProviderParserTest.java
@@ -22,15 +22,26 @@ import java.util.Iterator;
 import org.opensaml.saml.metadata.resolver.MetadataResolver;
 import org.opensaml.saml.metadata.resolver.impl.FileBackedHTTPMetadataResolver;
 import org.opensaml.saml.saml2.metadata.EntityDescriptor;
+import org.springframework.mock.env.MockPropertySource;
 import org.testng.Assert;
 import org.testng.annotations.Test;
 
 public class FileBackedHTTPMetadataProviderParserTest extends AbstractMetadataParserTest {
+    
+    private static final String PROP_MDURL = "metadataURL";
+    
+    private static final String REPO_IDP = "java-identity-provider";
+
+    private static final String ENTITY_XML = "idp-profile-spring/src/test/resources/net/shibboleth/idp/profile/spring/relyingparty/metadata/entity.xml";
+    
+    private static final String ENTITIES_XML = "idp-profile-spring/src/test/resources/net/shibboleth/idp/profile/spring/relyingparty/metadata/entities.xml";
 
     
     @Test public void entity() throws Exception {
+        MockPropertySource propSource = singletonPropertySource(PROP_MDURL, 
+                RepositorySupport.buildHTTPResourceURL(REPO_IDP, ENTITY_XML, false));
 
-        FileBackedHTTPMetadataResolver resolver = getBean(FileBackedHTTPMetadataResolver.class, "fileBackedHTTPEntity.xml", "beans.xml");
+        FileBackedHTTPMetadataResolver resolver = getBean(FileBackedHTTPMetadataResolver.class, propSource, "fileBackedHTTPEntity.xml", "beans.xml");
         
         Assert.assertEquals(resolver.getId(), "fileBackedHTTPEntity");
         
@@ -52,8 +63,10 @@ public class FileBackedHTTPMetadataProviderParserTest extends AbstractMetadataPa
     }
     
     @Test public void entities() throws Exception {
+        MockPropertySource propSource = singletonPropertySource(PROP_MDURL, 
+                RepositorySupport.buildHTTPResourceURL(REPO_IDP, ENTITIES_XML, false));
 
-        MetadataResolver resolver = getBean(FileBackedHTTPMetadataResolver.class, "fileBackedHTTPEntities.xml", "beans.xml");
+        MetadataResolver resolver = getBean(FileBackedHTTPMetadataResolver.class, propSource, "fileBackedHTTPEntities.xml", "beans.xml");
 
         Assert.assertEquals(resolver.getId(), "fileBackedHTTPEntities");
         
diff --git a/idp-profile-spring/src/test/java/net/shibboleth/idp/profile/spring/relyingparty/metadata/HTTPMetadataProviderParserTest.java b/idp-profile-spring/src/test/java/net/shibboleth/idp/profile/spring/relyingparty/metadata/HTTPMetadataProviderParserTest.java
index 2d365cb..fd39ae8 100644
--- a/idp-profile-spring/src/test/java/net/shibboleth/idp/profile/spring/relyingparty/metadata/HTTPMetadataProviderParserTest.java
+++ b/idp-profile-spring/src/test/java/net/shibboleth/idp/profile/spring/relyingparty/metadata/HTTPMetadataProviderParserTest.java
@@ -22,15 +22,25 @@ import java.util.Iterator;
 import org.opensaml.saml.metadata.resolver.impl.HTTPMetadataResolver;
 import org.opensaml.saml.saml2.metadata.EntityDescriptor;
 import org.springframework.beans.factory.BeanCreationException;
+import org.springframework.mock.env.MockPropertySource;
 import org.testng.Assert;
 import org.testng.annotations.Test;
 
 public class HTTPMetadataProviderParserTest extends AbstractMetadataParserTest {
+    
+    private static final String PROP_MDURL = "metadataURL";
+    
+    private static final String REPO_IDP = "java-identity-provider";
 
+    private static final String ENTITY_XML = "idp-profile-spring/src/test/resources/net/shibboleth/idp/profile/spring/relyingparty/metadata/entity.xml";
+    
+    private static final String ENTITIES_XML = "idp-profile-spring/src/test/resources/net/shibboleth/idp/profile/spring/relyingparty/metadata/entities.xml";
     
     @Test public void entity() throws Exception {
+        MockPropertySource propSource = singletonPropertySource(PROP_MDURL, 
+                RepositorySupport.buildHTTPResourceURL(REPO_IDP, ENTITY_XML, false));
 
-        HTTPMetadataResolver resolver = getBean(HTTPMetadataResolver.class, "HTTPEntity.xml", "beans.xml");
+        HTTPMetadataResolver resolver = getBean(HTTPMetadataResolver.class, propSource, "HTTPEntity.xml", "beans.xml");
         
         Assert.assertEquals(resolver.getId(), "HTTPEntity");
         
@@ -49,8 +59,10 @@ public class HTTPMetadataProviderParserTest extends AbstractMetadataParserTest {
     }
     
     @Test public void httpsNoTrustEngine() throws Exception {
+        MockPropertySource propSource = singletonPropertySource(PROP_MDURL, 
+                RepositorySupport.buildHTTPSResourceURL(REPO_IDP, ENTITY_XML));
 
-        HTTPMetadataResolver resolver = getBean(HTTPMetadataResolver.class, "https-noTrustEngine.xml", "beans.xml");
+        HTTPMetadataResolver resolver = getBean(HTTPMetadataResolver.class, propSource, "https-noTrustEngine.xml", "beans.xml");
         
         Assert.assertEquals(resolver.getId(), "HTTPSEntity");
         
@@ -58,8 +70,10 @@ public class HTTPMetadataProviderParserTest extends AbstractMetadataParserTest {
     }
     
     @Test public void httpsTrustEngineExplicitKey() throws Exception {
+        MockPropertySource propSource = singletonPropertySource(PROP_MDURL, 
+                RepositorySupport.buildHTTPSResourceURL(REPO_IDP, ENTITY_XML));
 
-        HTTPMetadataResolver resolver = getBean(HTTPMetadataResolver.class, "https-trustEngine-explicitKey.xml", "beans.xml");
+        HTTPMetadataResolver resolver = getBean(HTTPMetadataResolver.class, propSource, "https-trustEngine-explicitKey.xml", "beans.xml");
         
         Assert.assertEquals(resolver.getId(), "HTTPSEntity");
         
@@ -67,8 +81,10 @@ public class HTTPMetadataProviderParserTest extends AbstractMetadataParserTest {
     }
     
     @Test(expectedExceptions=BeanCreationException.class) public void httpsTrustEngineInvalidKey() throws Exception {
+        MockPropertySource propSource = singletonPropertySource(PROP_MDURL, 
+                RepositorySupport.buildHTTPSResourceURL(REPO_IDP, ENTITY_XML));
 
-        HTTPMetadataResolver resolver = getBean(HTTPMetadataResolver.class, "https-trustEngine-invalidKey.xml", "beans.xml");
+        HTTPMetadataResolver resolver = getBean(HTTPMetadataResolver.class, propSource, "https-trustEngine-invalidKey.xml", "beans.xml");
         
         Assert.assertEquals(resolver.getId(), "HTTPSEntity");
         
@@ -76,8 +92,10 @@ public class HTTPMetadataProviderParserTest extends AbstractMetadataParserTest {
     } 
     
     @Test public void httpsTrustEngineValidPKIX() throws Exception {
+        MockPropertySource propSource = singletonPropertySource(PROP_MDURL, 
+                RepositorySupport.buildHTTPSResourceURL(REPO_IDP, ENTITY_XML));
 
-        HTTPMetadataResolver resolver = getBean(HTTPMetadataResolver.class, "https-trustEngine-validPKIX.xml", "beans.xml");
+        HTTPMetadataResolver resolver = getBean(HTTPMetadataResolver.class, propSource, "https-trustEngine-validPKIX.xml", "beans.xml");
         
         Assert.assertEquals(resolver.getId(), "HTTPSEntity");
         
@@ -85,8 +103,10 @@ public class HTTPMetadataProviderParserTest extends AbstractMetadataParserTest {
     }
     
     @Test public void httpsTrustEngineValidPKIXExplicitTrustedName() throws Exception {
+        MockPropertySource propSource = singletonPropertySource(PROP_MDURL, 
+                RepositorySupport.buildHTTPSResourceURL(REPO_IDP, ENTITY_XML));
 
-        HTTPMetadataResolver resolver = getBean(HTTPMetadataResolver.class, "https-trustEngine-validPKIX-explicitTrustedName.xml", "beans.xml");
+        HTTPMetadataResolver resolver = getBean(HTTPMetadataResolver.class, propSource, "https-trustEngine-validPKIX-explicitTrustedName.xml", "beans.xml");
         
         Assert.assertEquals(resolver.getId(), "HTTPSEntity");
         
@@ -94,8 +114,10 @@ public class HTTPMetadataProviderParserTest extends AbstractMetadataParserTest {
     }
     
     @Test(expectedExceptions=BeanCreationException.class) public void httpsTrustEngineInvalidPKIX() throws Exception {
+        MockPropertySource propSource = singletonPropertySource(PROP_MDURL, 
+                RepositorySupport.buildHTTPSResourceURL(REPO_IDP, ENTITY_XML));
 
-        HTTPMetadataResolver resolver = getBean(HTTPMetadataResolver.class, "https-trustEngine-invalidPKIX.xml", "beans.xml");
+        HTTPMetadataResolver resolver = getBean(HTTPMetadataResolver.class, propSource, "https-trustEngine-invalidPKIX.xml", "beans.xml");
         
         Assert.assertEquals(resolver.getId(), "HTTPSEntity");
         
@@ -108,13 +130,17 @@ public class HTTPMetadataProviderParserTest extends AbstractMetadataParserTest {
      * @throws Exception
      */
     @Test(expectedExceptions={BeanCreationException.class,}, enabled=false) public void proxy() throws Exception {
+        MockPropertySource propSource = singletonPropertySource(PROP_MDURL, 
+                RepositorySupport.buildHTTPResourceURL(REPO_IDP, ENTITY_XML, false));
 
-        getBean(HTTPMetadataResolver.class, "HTTPProxy.xml", "beans.xml");
+        getBean(HTTPMetadataResolver.class, propSource, "HTTPProxy.xml", "beans.xml");
     }
 
     @Test public void entities() throws Exception {
+        MockPropertySource propSource = singletonPropertySource(PROP_MDURL, 
+                RepositorySupport.buildHTTPResourceURL(REPO_IDP, ENTITIES_XML, false));
 
-        HTTPMetadataResolver resolver = getBean(HTTPMetadataResolver.class, "HTTPEntities.xml", "beans.xml");
+        HTTPMetadataResolver resolver = getBean(HTTPMetadataResolver.class, propSource, "HTTPEntities.xml", "beans.xml");
         
         Assert.assertEquals(resolver.getId(), "HTTPEntities");
         Assert.assertNotNull(resolver.resolveSingle(criteriaFor(SP_ID)));
@@ -124,8 +150,10 @@ public class HTTPMetadataProviderParserTest extends AbstractMetadataParserTest {
     }
     
     @Test public void httpClient() throws Exception {
+        MockPropertySource propSource = singletonPropertySource(PROP_MDURL, 
+                RepositorySupport.buildHTTPResourceURL(REPO_IDP, ENTITIES_XML, false));
 
-        HTTPMetadataResolver resolver = getBean(HTTPMetadataResolver.class, "HTTPEntitiesClient.xml", "beans.xml", "httpClient.xml");
+        HTTPMetadataResolver resolver = getBean(HTTPMetadataResolver.class, propSource, "HTTPEntitiesClient.xml", "beans.xml", "httpClient.xml");
         
         Assert.assertEquals(resolver.getId(), "HTTPEntities");
         Assert.assertNotNull(resolver.resolveSingle(criteriaFor(SP_ID)));
@@ -135,8 +163,10 @@ public class HTTPMetadataProviderParserTest extends AbstractMetadataParserTest {
     }
     
     @Test public void httpCachingNone() throws Exception {
+        MockPropertySource propSource = singletonPropertySource(PROP_MDURL, 
+                RepositorySupport.buildHTTPResourceURL(REPO_IDP, ENTITY_XML, false));
 
-        HTTPMetadataResolver resolver = getBean(HTTPMetadataResolver.class, "HTTPEntity-httpCaching-none.xml", "beans.xml");
+        HTTPMetadataResolver resolver = getBean(HTTPMetadataResolver.class, propSource, "HTTPEntity-httpCaching-none.xml", "beans.xml");
         
         Assert.assertEquals(resolver.getId(), "HTTPEntity");
         Assert.assertNotNull(resolver.resolveSingle(criteriaFor(IDP_ID)));
@@ -144,8 +174,10 @@ public class HTTPMetadataProviderParserTest extends AbstractMetadataParserTest {
     }
     
     @Test public void httpCachingMemory() throws Exception {
+        MockPropertySource propSource = singletonPropertySource(PROP_MDURL, 
+                RepositorySupport.buildHTTPResourceURL(REPO_IDP, ENTITY_XML, false));
 
-        HTTPMetadataResolver resolver = getBean(HTTPMetadataResolver.class, "HTTPEntity-httpCaching-memory.xml", "beans.xml");
+        HTTPMetadataResolver resolver = getBean(HTTPMetadataResolver.class, propSource, "HTTPEntity-httpCaching-memory.xml", "beans.xml");
         
         Assert.assertEquals(resolver.getId(), "HTTPEntity");
         Assert.assertNotNull(resolver.resolveSingle(criteriaFor(IDP_ID)));
@@ -154,8 +186,11 @@ public class HTTPMetadataProviderParserTest extends AbstractMetadataParserTest {
     
     @Test public void httpCachingFile() throws Exception {
         System.out.println(System.getProperty("java.io.tmpdir"));
+        
+        MockPropertySource propSource = singletonPropertySource(PROP_MDURL, 
+                RepositorySupport.buildHTTPResourceURL(REPO_IDP, ENTITY_XML, false));
 
-        HTTPMetadataResolver resolver = getBean(HTTPMetadataResolver.class, "HTTPEntity-httpCaching-file.xml", "beans.xml");
+        HTTPMetadataResolver resolver = getBean(HTTPMetadataResolver.class, propSource, "HTTPEntity-httpCaching-file.xml", "beans.xml");
         
         Assert.assertEquals(resolver.getId(), "HTTPEntity");
         Assert.assertNotNull(resolver.resolveSingle(criteriaFor(IDP_ID)));
@@ -163,8 +198,10 @@ public class HTTPMetadataProviderParserTest extends AbstractMetadataParserTest {
     }
     
     @Test public void timeouts() throws Exception {
+        MockPropertySource propSource = singletonPropertySource(PROP_MDURL, 
+                RepositorySupport.buildHTTPSResourceURL(REPO_IDP, ENTITY_XML));
 
-        HTTPMetadataResolver resolver = getBean(HTTPMetadataResolver.class, "https-timeouts.xml", "beans.xml");
+        HTTPMetadataResolver resolver = getBean(HTTPMetadataResolver.class, propSource, "https-timeouts.xml", "beans.xml");
         
         Assert.assertEquals(resolver.getId(), "HTTPSEntityWithTimeouts");
         
@@ -172,8 +209,10 @@ public class HTTPMetadataProviderParserTest extends AbstractMetadataParserTest {
     }
     
     @Test public void clientSecurityParameters() throws Exception {
+        MockPropertySource propSource = singletonPropertySource(PROP_MDURL, 
+                RepositorySupport.buildHTTPSResourceURL(REPO_IDP, ENTITY_XML));
 
-        HTTPMetadataResolver resolver = getBean(HTTPMetadataResolver.class, "https-client-security-params.xml", "beans.xml");
+        HTTPMetadataResolver resolver = getBean(HTTPMetadataResolver.class, propSource, "https-client-security-params.xml", "beans.xml");
         
         Assert.assertEquals(resolver.getId(), "HTTPSEntityWithClientSecurityParams");
         
@@ -181,8 +220,10 @@ public class HTTPMetadataProviderParserTest extends AbstractMetadataParserTest {
     }
     
     @Test public void indexes() throws Exception {
+        MockPropertySource propSource = singletonPropertySource(PROP_MDURL, 
+                RepositorySupport.buildHTTPSResourceURL(REPO_IDP, ENTITY_XML));
 
-        HTTPMetadataResolver resolver = getBean(HTTPMetadataResolver.class, "https-indexes.xml", "beans.xml");
+        HTTPMetadataResolver resolver = getBean(HTTPMetadataResolver.class, propSource, "https-indexes.xml", "beans.xml");
         
         Assert.assertEquals(resolver.getId(), "HTTPSEntityWithIndexes");
         
diff --git a/idp-profile-spring/src/test/java/net/shibboleth/idp/profile/spring/relyingparty/metadata/HTTPResourceConfigurationTests.java b/idp-profile-spring/src/test/java/net/shibboleth/idp/profile/spring/relyingparty/metadata/HTTPResourceConfigurationTests.java
index fec7cc9..4699487 100644
--- a/idp-profile-spring/src/test/java/net/shibboleth/idp/profile/spring/relyingparty/metadata/HTTPResourceConfigurationTests.java
+++ b/idp-profile-spring/src/test/java/net/shibboleth/idp/profile/spring/relyingparty/metadata/HTTPResourceConfigurationTests.java
@@ -22,33 +22,46 @@ import java.io.IOException;
 import java.nio.file.Files;
 import java.nio.file.Path;
 
-import net.shibboleth.ext.spring.resource.HTTPResource;
-import net.shibboleth.ext.spring.resource.ResourceTestHelper;
-import net.shibboleth.ext.spring.util.SchemaTypeAwareXMLBeanDefinitionReader;
-
 import org.springframework.beans.factory.xml.XmlBeanDefinitionReader;
 import org.springframework.context.support.GenericApplicationContext;
 import org.springframework.core.io.ClassPathResource;
 import org.springframework.core.io.Resource;
+import org.springframework.mock.env.MockPropertySource;
 import org.testng.annotations.AfterSuite;
 import org.testng.annotations.BeforeSuite;
 import org.testng.annotations.Test;
 
+import net.shibboleth.ext.spring.resource.HTTPResource;
+import net.shibboleth.ext.spring.resource.ResourceTestHelper;
+import net.shibboleth.ext.spring.util.SchemaTypeAwareXMLBeanDefinitionReader;
+
 /**
  * This test mirrors the online documentation for the HTTPResource as well as the inline example in services.xml.
  * 
  */
 public class HTTPResourceConfigurationTests {
     
+    private static final String PROP_RESOURCE_URL = "resourceURL";
+    
+    private static final String REPO_IDP = "java-identity-provider";
+    
+    private static final String DOC_XML = "idp-profile-spring/src/test/resources/net/shibboleth/idp/profile/spring/relyingparty/metadata/document.xml";
+    
     private File theDir = null;
     private GenericApplicationContext theContext = null;
     private GenericApplicationContext globalContext = null;
     
     @BeforeSuite public void setup() throws IOException {
+        MockPropertySource propSource = new MockPropertySource("localProperties");
+        propSource.setProperty(PROP_RESOURCE_URL, RepositorySupport.buildHTTPResourceURL(REPO_IDP, DOC_XML, false));
+        
         final Path p = Files.createTempDirectory("HTTPResourceTest");
         theDir = p.toFile();
         
         globalContext = new GenericApplicationContext();
+        
+        globalContext.getEnvironment().getPropertySources().addFirst(propSource);
+        
         final XmlBeanDefinitionReader globalContextDefinitionReader =
                 new SchemaTypeAwareXMLBeanDefinitionReader(globalContext);
         
diff --git a/idp-profile-spring/src/test/java/net/shibboleth/idp/profile/spring/relyingparty/metadata/RepositorySupport.java b/idp-profile-spring/src/test/java/net/shibboleth/idp/profile/spring/relyingparty/metadata/RepositorySupport.java
new file mode 100644
index 0000000..31e0745
--- /dev/null
+++ b/idp-profile-spring/src/test/java/net/shibboleth/idp/profile/spring/relyingparty/metadata/RepositorySupport.java
@@ -0,0 +1,68 @@
+/*
+ * Licensed to the University Corporation for Advanced Internet Development,
+ * Inc. (UCAID) under one or more contributor license agreements.  See the
+ * NOTICE file distributed with this work for additional information regarding
+ * copyright ownership. The UCAID licenses this file to You under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file except in
+ * compliance with the License.  You may obtain a copy of the License at
+ *
+ *    http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package net.shibboleth.idp.profile.spring.relyingparty.metadata;
+
+import javax.annotation.Nonnull;
+
+import net.shibboleth.utilities.java.support.logic.Constraint;
+import net.shibboleth.utilities.java.support.primitive.StringSupport;
+
+/**
+ * Support class for working with the project version control repository.
+ */
+public final class RepositorySupport {
+    
+    /** Constructor. */
+    private RepositorySupport() { } 
+    
+    /**
+     * Build an HTTPS resource URL for the selected repository name and path.
+     * 
+     * @param repoName the repository name.  If Git, do not include the ".git" suffix.
+     * @param resourcePath The relative resource path within the repository, e.g. "foo/bar/baz/file.txt"
+     * @return the HTTPS resource URL
+     */
+    public static String buildHTTPSResourceURL(@Nonnull final String repoName, @Nonnull final String resourcePath) {
+        return buildHTTPResourceURL(repoName, resourcePath, true);
+    }
+    
+    /**
+     * Build an HTTP/HTTPS resource URL for the selected repository name and path.
+     * 
+     * @param repoName the repository name.  If Git, do not include a trailing ".git" suffix for bare repos.
+     * @param resourcePath The relative resource path within the repository, e.g. "foo/bar/baz/file.txt"
+     * @param https if true, use https if possible, otherwise use http
+     * @return the HTTP(S) resource URL
+     */
+    public static String buildHTTPResourceURL(@Nonnull final String repoName, @Nonnull final String resourcePath, 
+            final boolean https) {
+        
+        final String repo = Constraint.isNotNull(StringSupport.trimOrNull(repoName), 
+                "Repository name was null or empty");
+        String path = Constraint.isNotNull(StringSupport.trimOrNull(resourcePath), 
+                "Resource path was null or empty");
+        
+        if (path.startsWith("/")) {
+            path = path.substring(1);
+        }
+        
+        return String.format("%s://git.shibboleth.net/view/?p=%s.git&a=blob_plain&f=%s&hb=master", 
+                https ? "https" : "http", repo, path);
+    }
+
+}
diff --git a/idp-profile-spring/src/test/java/net/shibboleth/idp/profile/spring/relyingparty/metadata/ResourceMetadataParserTest.java b/idp-profile-spring/src/test/java/net/shibboleth/idp/profile/spring/relyingparty/metadata/ResourceMetadataParserTest.java
index 213a450..6e809c5 100644
--- a/idp-profile-spring/src/test/java/net/shibboleth/idp/profile/spring/relyingparty/metadata/ResourceMetadataParserTest.java
+++ b/idp-profile-spring/src/test/java/net/shibboleth/idp/profile/spring/relyingparty/metadata/ResourceMetadataParserTest.java
@@ -27,11 +27,20 @@ import org.opensaml.saml.metadata.resolver.impl.ResourceBackedMetadataResolver;
 import org.opensaml.saml.saml2.metadata.EntityDescriptor;
 import org.springframework.beans.factory.BeanCreationException;
 import org.springframework.core.io.ClassPathResource;
+import org.springframework.mock.env.MockPropertySource;
 import org.testng.Assert;
 import org.testng.annotations.Test;
 
 public class ResourceMetadataParserTest extends AbstractMetadataParserTest {
     
+    private static final String PROP_MDURL = "metadataURL";
+    
+    private static final String REPO_IDP = "java-identity-provider";
+
+    private static final String ENTITY_XML = "idp-profile-spring/src/test/resources/net/shibboleth/idp/profile/spring/relyingparty/metadata/entity.xml";
+    
+    private static final String ENTITIES_XML = "idp-profile-spring/src/test/resources/net/shibboleth/idp/profile/spring/relyingparty/metadata/entities.xml";
+    
     @Test public void fileEntity() throws Exception {
 
         final FilesystemMetadataResolver resolver = getBean(FilesystemMetadataResolver.class, "resourceFileEntity.xml", "beans.xml");
@@ -92,8 +101,10 @@ public class ResourceMetadataParserTest extends AbstractMetadataParserTest {
     }
 
     @Test public void httpEntity() throws Exception {
+        MockPropertySource propSource = singletonPropertySource(PROP_MDURL, 
+                RepositorySupport.buildHTTPResourceURL(REPO_IDP, ENTITY_XML, false));
 
-        final MetadataResolver resolver = getBean(HTTPMetadataResolver.class, "resourceHTTPEntity.xml", "beans.xml");
+        final MetadataResolver resolver = getBean(HTTPMetadataResolver.class, propSource, "resourceHTTPEntity.xml", "beans.xml");
         
         Assert.assertEquals(resolver.getId(), "resourceHTTPEntity");
    
@@ -102,8 +113,10 @@ public class ResourceMetadataParserTest extends AbstractMetadataParserTest {
     }
 
     @Test public void httpEntities() throws Exception {
+        MockPropertySource propSource = singletonPropertySource(PROP_MDURL, 
+                RepositorySupport.buildHTTPResourceURL(REPO_IDP, ENTITIES_XML, false));
 
-        final MetadataResolver resolver = getBean(HTTPMetadataResolver.class, "resourceHTTPEntities.xml", "beans.xml");
+        final MetadataResolver resolver = getBean(HTTPMetadataResolver.class, propSource, "resourceHTTPEntities.xml", "beans.xml");
         
         Assert.assertEquals(resolver.getId(), "resourceHTTPEntities");
 
@@ -112,8 +125,10 @@ public class ResourceMetadataParserTest extends AbstractMetadataParserTest {
     }
     
     @Test public void fileHttpEntity() throws Exception {
+        MockPropertySource propSource = singletonPropertySource(PROP_MDURL, 
+                RepositorySupport.buildHTTPResourceURL(REPO_IDP, ENTITY_XML, false));
 
-        final MetadataResolver resolver = getBean(FileBackedHTTPMetadataResolver.class, "resourceFileBackedHTTPEntity.xml", "beans.xml");
+        final MetadataResolver resolver = getBean(FileBackedHTTPMetadataResolver.class, propSource, "resourceFileBackedHTTPEntity.xml", "beans.xml");
         
         Assert.assertEquals(resolver.getId(), "resourceFileBackedHTTPEntity");
    
@@ -122,8 +137,10 @@ public class ResourceMetadataParserTest extends AbstractMetadataParserTest {
     }
 
     @Test public void fileHttpEntities() throws Exception {
+        MockPropertySource propSource = singletonPropertySource(PROP_MDURL, 
+                RepositorySupport.buildHTTPResourceURL(REPO_IDP, ENTITIES_XML, false));
 
-        final MetadataResolver resolver = getBean(FileBackedHTTPMetadataResolver.class, "resourceFileBackedHTTPEntities.xml", "beans.xml");
+        final MetadataResolver resolver = getBean(FileBackedHTTPMetadataResolver.class, propSource, "resourceFileBackedHTTPEntities.xml", "beans.xml");
         
         Assert.assertEquals(resolver.getId(), "resourceFileBackedHTTPEntities");
 
diff --git a/idp-profile-spring/src/test/resources/net/shibboleth/idp/profile/spring/relyingparty/metadata/HTTPEntities.xml b/idp-profile-spring/src/test/resources/net/shibboleth/idp/profile/spring/relyingparty/metadata/HTTPEntities.xml
index 37c9be0..bdadf9d 100644
--- a/idp-profile-spring/src/test/resources/net/shibboleth/idp/profile/spring/relyingparty/metadata/HTTPEntities.xml
+++ b/idp-profile-spring/src/test/resources/net/shibboleth/idp/profile/spring/relyingparty/metadata/HTTPEntities.xml
@@ -6,7 +6,7 @@
 
     parserPoolRef="myParserPool"  requestTimeout="PT40M" basicAuthPassword="pass" basicAuthUser="user" disregardTLSCertificate="true" 
     	id="HTTPEntities" xsi:type="metadata:HTTPMetadataProvider" 
-    	metadataURL="http://svn.shibboleth.net/view/java-identity-provider/trunk/idp-profile-spring/src/test/resources/net/shibboleth/idp/profile/spring/relyingparty/metadata/entities.xml?revision=5634&view=co"> 
+    	metadataURL="%{metadataURL}"> 
 
 </metadata:MetadataProvider>
                                    
\ No newline at end of file
diff --git a/idp-profile-spring/src/test/resources/net/shibboleth/idp/profile/spring/relyingparty/metadata/HTTPEntitiesClient.xml b/idp-profile-spring/src/test/resources/net/shibboleth/idp/profile/spring/relyingparty/metadata/HTTPEntitiesClient.xml
index 9066419..ca211cd 100644
--- a/idp-profile-spring/src/test/resources/net/shibboleth/idp/profile/spring/relyingparty/metadata/HTTPEntitiesClient.xml
+++ b/idp-profile-spring/src/test/resources/net/shibboleth/idp/profile/spring/relyingparty/metadata/HTTPEntitiesClient.xml
@@ -7,7 +7,7 @@
     parserPoolRef="myParserPool"  requestTimeout="PT40M" basicAuthPassword="pass" basicAuthUser="user" disregardTLSCertificate="true" 
     	id="HTTPEntities" xsi:type="metadata:HTTPMetadataProvider" 
     	httpClientRef="apacheClient"
-    	metadataURL="http://svn.shibboleth.net/view/java-identity-provider/trunk/idp-profile-spring/src/test/resources/net/shibboleth/idp/profile/spring/relyingparty/metadata/entities.xml?revision=5634&view=co"> 
+    	metadataURL="%{metadataURL}"> 
 
 </metadata:MetadataProvider>
                                    
\ No newline at end of file
diff --git a/idp-profile-spring/src/test/resources/net/shibboleth/idp/profile/spring/relyingparty/metadata/HTTPEntity-httpCaching-file.xml b/idp-profile-spring/src/test/resources/net/shibboleth/idp/profile/spring/relyingparty/metadata/HTTPEntity-httpCaching-file.xml
index 2228515..513e7a0 100644
--- a/idp-profile-spring/src/test/resources/net/shibboleth/idp/profile/spring/relyingparty/metadata/HTTPEntity-httpCaching-file.xml
+++ b/idp-profile-spring/src/test/resources/net/shibboleth/idp/profile/spring/relyingparty/metadata/HTTPEntity-httpCaching-file.xml
@@ -10,7 +10,7 @@
     httpCacheDirectory="#{systemProperties['java.io.tmpdir']}/httpProviderCacheTest"
     httpMaxCacheEntries="100"
     httpMaxCacheEntrySize="104857600"
-    metadataURL="http://svn.shibboleth.net/view/java-identity-provider/trunk/idp-profile-spring/src/test/resources/net/shibboleth/idp/profile/spring/relyingparty/metadata/entity.xml?revision=5634&view=co"> 
+    metadataURL="%{metadataURL}"> 
 
 </metadata:MetadataProvider>
                                    
\ No newline at end of file
diff --git a/idp-profile-spring/src/test/resources/net/shibboleth/idp/profile/spring/relyingparty/metadata/HTTPEntity-httpCaching-memory.xml b/idp-profile-spring/src/test/resources/net/shibboleth/idp/profile/spring/relyingparty/metadata/HTTPEntity-httpCaching-memory.xml
index c794871..8b6e189 100644
--- a/idp-profile-spring/src/test/resources/net/shibboleth/idp/profile/spring/relyingparty/metadata/HTTPEntity-httpCaching-memory.xml
+++ b/idp-profile-spring/src/test/resources/net/shibboleth/idp/profile/spring/relyingparty/metadata/HTTPEntity-httpCaching-memory.xml
@@ -9,7 +9,7 @@
     httpCaching="memory"
     httpMaxCacheEntries="100"
     httpMaxCacheEntrySize="104857600"
-    metadataURL="http://svn.shibboleth.net/view/java-identity-provider/trunk/idp-profile-spring/src/test/resources/net/shibboleth/idp/profile/spring/relyingparty/metadata/entity.xml?revision=5634&view=co"> 
+    metadataURL="%{metadataURL}"> 
 
 </metadata:MetadataProvider>
                                    
\ No newline at end of file
diff --git a/idp-profile-spring/src/test/resources/net/shibboleth/idp/profile/spring/relyingparty/metadata/HTTPEntity-httpCaching-none.xml b/idp-profile-spring/src/test/resources/net/shibboleth/idp/profile/spring/relyingparty/metadata/HTTPEntity-httpCaching-none.xml
index 940970d..9a2cfb1 100644
--- a/idp-profile-spring/src/test/resources/net/shibboleth/idp/profile/spring/relyingparty/metadata/HTTPEntity-httpCaching-none.xml
+++ b/idp-profile-spring/src/test/resources/net/shibboleth/idp/profile/spring/relyingparty/metadata/HTTPEntity-httpCaching-none.xml
@@ -7,7 +7,7 @@
 	id="HTTPEntity" 
     xsi:type="metadata:HTTPMetadataProvider" 
     httpCaching="none"
-    metadataURL="http://svn.shibboleth.net/view/java-identity-provider/trunk/idp-profile-spring/src/test/resources/net/shibboleth/idp/profile/spring/relyingparty/metadata/entity.xml?revision=5634&view=co"> 
+    metadataURL="%{metadataURL}"> 
 
 </metadata:MetadataProvider>
                                    
\ No newline at end of file
diff --git a/idp-profile-spring/src/test/resources/net/shibboleth/idp/profile/spring/relyingparty/metadata/HTTPEntity.xml b/idp-profile-spring/src/test/resources/net/shibboleth/idp/profile/spring/relyingparty/metadata/HTTPEntity.xml
index 296d733..23e8fcf 100644
--- a/idp-profile-spring/src/test/resources/net/shibboleth/idp/profile/spring/relyingparty/metadata/HTTPEntity.xml
+++ b/idp-profile-spring/src/test/resources/net/shibboleth/idp/profile/spring/relyingparty/metadata/HTTPEntity.xml
@@ -4,7 +4,7 @@
 	xsi:schemaLocation="urn:mace:shibboleth:2.0:metadata http://shibboleth.net/schema/idp/shibboleth-metadata.xsd
                        urn:oasis:names:tc:SAML:2.0:metadata http://docs.oasis-open.org/security/saml/v2.0/saml-schema-metadata-2.0.xsd"
 
-	id="HTTPEntity" xsi:type="metadata:HTTPMetadataProvider" metadataURL="http://svn.shibboleth.net/view/java-identity-provider/trunk/idp-profile-spring/src/test/resources/net/shibboleth/idp/profile/spring/relyingparty/metadata/entity.xml?revision=5634&view=co"> 
+	id="HTTPEntity" xsi:type="metadata:HTTPMetadataProvider" metadataURL="%{metadataURL}"> 
 
 </metadata:MetadataProvider>
                                    
\ No newline at end of file
diff --git a/idp-profile-spring/src/test/resources/net/shibboleth/idp/profile/spring/relyingparty/metadata/HTTPProxy.xml b/idp-profile-spring/src/test/resources/net/shibboleth/idp/profile/spring/relyingparty/metadata/HTTPProxy.xml
index e44627f..b39ae78 100644
--- a/idp-profile-spring/src/test/resources/net/shibboleth/idp/profile/spring/relyingparty/metadata/HTTPProxy.xml
+++ b/idp-profile-spring/src/test/resources/net/shibboleth/idp/profile/spring/relyingparty/metadata/HTTPProxy.xml
@@ -5,7 +5,7 @@
                        urn:oasis:names:tc:SAML:2.0:metadata http://docs.oasis-open.org/security/saml/v2.0/saml-schema-metadata-2.0.xsd"
 
     proxyHost="localhost" proxyUser="user" proxyPassword="pass" proxyPort="123"
-	id="HTTPProxy" xsi:type="metadata:HTTPMetadataProvider" metadataURL="http://svn.shibboleth.net/view/java-identity-provider/trunk/idp-profile-spring/src/test/resources/net/shibboleth/idp/profile/spring/relyingparty/metadata/entity.xml?revision=5634&view=co"> 
+	id="HTTPProxy" xsi:type="metadata:HTTPMetadataProvider" metadataURL="%{metadataURL}"> 
 
 </metadata:MetadataProvider>
                                    
\ No newline at end of file
diff --git a/idp-profile-spring/src/test/resources/net/shibboleth/idp/profile/spring/relyingparty/metadata/HTTPResources.xml b/idp-profile-spring/src/test/resources/net/shibboleth/idp/profile/spring/relyingparty/metadata/HTTPResources.xml
index b7a99de..6eeba22 100644
--- a/idp-profile-spring/src/test/resources/net/shibboleth/idp/profile/spring/relyingparty/metadata/HTTPResources.xml
+++ b/idp-profile-spring/src/test/resources/net/shibboleth/idp/profile/spring/relyingparty/metadata/HTTPResources.xml
@@ -4,6 +4,10 @@
 	xmlns:c="http://www.springframework.org/schema/c"
 	xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd">
     
+   <bean id="shibboleth.PropertySourcesPlaceholderConfigurer"
+        class="org.springframework.context.support.PropertySourcesPlaceholderConfigurer"
+        p:placeholderPrefix="%{" p:placeholderSuffix="}" />
+    
    <bean id="clientBuilder"
 		class="net.shibboleth.utilities.java.support.httpclient.FileCachingHttpClientBuilder"
 		p:maxCacheEntries="3" p:cacheDirectory-ref="theDir" />
@@ -12,7 +16,7 @@
 		factory-method="buildClient" />
 
 	<bean id="basic" class="net.shibboleth.ext.spring.resource.HTTPResource"
-		c:client-ref="basicClient" c:url="http://svn.shibboleth.net/view/java-identity-provider/trunk/idp-profile-spring/src/test/resources/net/shibboleth/idp/profile/spring/relyingparty/metadata/document.xml?view=co" />
+		c:client-ref="basicClient" c:url="%{resourceURL}" />
 
     <bean id="inMemoryClient" 
         class="net.shibboleth.idp.profile.spring.relyingparty.metadata.InMemoryCachingHttpClientFactoryBean"
@@ -20,7 +24,7 @@
         p:connectionTimeout="PT3M" />
         
     <bean id="inMemory" class="net.shibboleth.ext.spring.resource.HTTPResource"
-        c:client-ref="inMemoryClient" c:url="http://svn.shibboleth.net/view/java-identity-provider/trunk/idp-profile-spring/src/test/resources/net/shibboleth/idp/profile/spring/relyingparty/metadata/document.xml?view=co" />
+        c:client-ref="inMemoryClient" c:url="%{resourceURL}" />
 
     <bean id="fileClient" 
         class="net.shibboleth.idp.profile.spring.relyingparty.metadata.FileCachingHttpClientFactoryBean"
@@ -32,7 +36,7 @@
     <bean id="thefile" factory-bean="theParent" factory-method="createRelative" c:relativePath="wibble"/>
         
     <bean id="fileResource" class="net.shibboleth.ext.spring.resource.FileBackedHTTPResource"
-        c:client-ref="fileClient" c:url="http://svn.shibboleth.net/view/java-identity-provider/trunk/idp-profile-spring/src/test/resources/net/shibboleth/idp/profile/spring/relyingparty/metadata/document.xml?view=co" 
+        c:client-ref="fileClient" c:url="%{resourceURL}"
         c:resource-ref="thefile"/>
 
 
diff --git a/idp-profile-spring/src/test/resources/net/shibboleth/idp/profile/spring/relyingparty/metadata/dynamic-httpCaching-file.xml b/idp-profile-spring/src/test/resources/net/shibboleth/idp/profile/spring/relyingparty/metadata/dynamic-httpCaching-file.xml
index 7938ddd..645d8e2 100644
--- a/idp-profile-spring/src/test/resources/net/shibboleth/idp/profile/spring/relyingparty/metadata/dynamic-httpCaching-file.xml
+++ b/idp-profile-spring/src/test/resources/net/shibboleth/idp/profile/spring/relyingparty/metadata/dynamic-httpCaching-file.xml
@@ -13,7 +13,7 @@
     
     <!-- Note: use of the transformRef here is mostly just to facilitate testing. -->
     <metadata:Template transformRef="digester.SHA1HexLower">
-        http://svn.shibboleth.net/view/java-opensaml/trunk/opensaml-saml-impl/src/test/resources/org/opensaml/saml/metadata/resolver/impl/${entityID}.xml?view=co
+        %{metadataURL}
     </metadata:Template>
 
 </metadata:MetadataProvider>
diff --git a/idp-profile-spring/src/test/resources/net/shibboleth/idp/profile/spring/relyingparty/metadata/dynamic-httpCaching-memory.xml b/idp-profile-spring/src/test/resources/net/shibboleth/idp/profile/spring/relyingparty/metadata/dynamic-httpCaching-memory.xml
index a173d92..696c297 100644
--- a/idp-profile-spring/src/test/resources/net/shibboleth/idp/profile/spring/relyingparty/metadata/dynamic-httpCaching-memory.xml
+++ b/idp-profile-spring/src/test/resources/net/shibboleth/idp/profile/spring/relyingparty/metadata/dynamic-httpCaching-memory.xml
@@ -12,7 +12,7 @@
     
     <!-- Note: use of the transformRef here is mostly just to facilitate testing. -->
     <metadata:Template transformRef="digester.SHA1HexLower">
-        http://svn.shibboleth.net/view/java-opensaml/trunk/opensaml-saml-impl/src/test/resources/org/opensaml/saml/metadata/resolver/impl/${entityID}.xml?view=co
+        %{metadataURL}
     </metadata:Template>
 
 </metadata:MetadataProvider>
diff --git a/idp-profile-spring/src/test/resources/net/shibboleth/idp/profile/spring/relyingparty/metadata/dynamic-httpCaching-none.xml b/idp-profile-spring/src/test/resources/net/shibboleth/idp/profile/spring/relyingparty/metadata/dynamic-httpCaching-none.xml
index a71b591..e9c2a21 100644
--- a/idp-profile-spring/src/test/resources/net/shibboleth/idp/profile/spring/relyingparty/metadata/dynamic-httpCaching-none.xml
+++ b/idp-profile-spring/src/test/resources/net/shibboleth/idp/profile/spring/relyingparty/metadata/dynamic-httpCaching-none.xml
@@ -10,7 +10,7 @@
     
     <!-- Note: use of the transformRef here is mostly just to facilitate testing. -->
     <metadata:Template transformRef="digester.SHA1HexLower">
-        http://svn.shibboleth.net/view/java-opensaml/trunk/opensaml-saml-impl/src/test/resources/org/opensaml/saml/metadata/resolver/impl/${entityID}.xml?view=co
+        %{metadataURL}
     </metadata:Template>
 
 </metadata:MetadataProvider>
diff --git a/idp-profile-spring/src/test/resources/net/shibboleth/idp/profile/spring/relyingparty/metadata/dynamic-https-noTrustEngine.xml b/idp-profile-spring/src/test/resources/net/shibboleth/idp/profile/spring/relyingparty/metadata/dynamic-https-noTrustEngine.xml
index 402e7b4..753ffd7 100644
--- a/idp-profile-spring/src/test/resources/net/shibboleth/idp/profile/spring/relyingparty/metadata/dynamic-https-noTrustEngine.xml
+++ b/idp-profile-spring/src/test/resources/net/shibboleth/idp/profile/spring/relyingparty/metadata/dynamic-https-noTrustEngine.xml
@@ -11,7 +11,7 @@
 
     <!-- Note: use of the transformRef here is mostly just to facilitate testing. -->
     <metadata:Template transformRef="digester.SHA1HexLower">
-        https://svn.shibboleth.net/java-opensaml/trunk/opensaml-saml-impl/src/test/resources/org/opensaml/saml/metadata/resolver/impl/${entityID}.xml
+        %{metadataURL}
     </metadata:Template>
 
 </metadata:MetadataProvider>
diff --git a/idp-profile-spring/src/test/resources/net/shibboleth/idp/profile/spring/relyingparty/metadata/dynamic-https-trustEngine-explicitKey.xml b/idp-profile-spring/src/test/resources/net/shibboleth/idp/profile/spring/relyingparty/metadata/dynamic-https-trustEngine-explicitKey.xml
index 7fe2e9d..f4592fb 100644
--- a/idp-profile-spring/src/test/resources/net/shibboleth/idp/profile/spring/relyingparty/metadata/dynamic-https-trustEngine-explicitKey.xml
+++ b/idp-profile-spring/src/test/resources/net/shibboleth/idp/profile/spring/relyingparty/metadata/dynamic-https-trustEngine-explicitKey.xml
@@ -50,7 +50,7 @@ Lj4vIUsmIWLtnSJXv+14nGunVzXoYikI9w==
     
     <!-- Note: use of the transformRef here is mostly just to facilitate testing. -->
     <metadata:Template transformRef="digester.SHA1HexLower">
-        https://svn.shibboleth.net/java-opensaml/trunk/opensaml-saml-impl/src/test/resources/org/opensaml/saml/metadata/resolver/impl/${entityID}.xml
+        %{metadataURL}
     </metadata:Template>
 
 </metadata:MetadataProvider>
diff --git a/idp-profile-spring/src/test/resources/net/shibboleth/idp/profile/spring/relyingparty/metadata/dynamic-https-trustEngine-invalidKey.xml b/idp-profile-spring/src/test/resources/net/shibboleth/idp/profile/spring/relyingparty/metadata/dynamic-https-trustEngine-invalidKey.xml
index 0f8b1f4..92138db 100644
--- a/idp-profile-spring/src/test/resources/net/shibboleth/idp/profile/spring/relyingparty/metadata/dynamic-https-trustEngine-invalidKey.xml
+++ b/idp-profile-spring/src/test/resources/net/shibboleth/idp/profile/spring/relyingparty/metadata/dynamic-https-trustEngine-invalidKey.xml
@@ -40,7 +40,7 @@ i8V7gp9HK+EimdSbgu7xktKlrqA2Rsn+dBoPSgOUs/LOGtCS9/biF0w=
     
     <!-- Note: use of the transformRef here is mostly just to facilitate testing. -->
     <metadata:Template transformRef="digester.SHA1HexLower">
-        https://svn.shibboleth.net/java-opensaml/trunk/opensaml-saml-impl/src/test/resources/org/opensaml/saml/metadata/resolver/impl/${entityID}.xml
+        %{metadataURL}
     </metadata:Template>
 
 </metadata:MetadataProvider>
diff --git a/idp-profile-spring/src/test/resources/net/shibboleth/idp/profile/spring/relyingparty/metadata/dynamic-https-trustEngine-invalidPKIX.xml b/idp-profile-spring/src/test/resources/net/shibboleth/idp/profile/spring/relyingparty/metadata/dynamic-https-trustEngine-invalidPKIX.xml
index a940ace..6758cff 100644
--- a/idp-profile-spring/src/test/resources/net/shibboleth/idp/profile/spring/relyingparty/metadata/dynamic-https-trustEngine-invalidPKIX.xml
+++ b/idp-profile-spring/src/test/resources/net/shibboleth/idp/profile/spring/relyingparty/metadata/dynamic-https-trustEngine-invalidPKIX.xml
@@ -42,7 +42,7 @@ mJO37M2CYfE45k+XmCpajQ==
     
     <!-- Note: use of the transformRef here is mostly just to facilitate testing. -->
     <metadata:Template transformRef="digester.SHA1HexLower">
-        https://svn.shibboleth.net/java-opensaml/trunk/opensaml-saml-impl/src/test/resources/org/opensaml/saml/metadata/resolver/impl/${entityID}.xml
+        %{metadataURL}
     </metadata:Template>
 
 </metadata:MetadataProvider>
diff --git a/idp-profile-spring/src/test/resources/net/shibboleth/idp/profile/spring/relyingparty/metadata/dynamic-https-trustEngine-validPKIX-explicitTrustedName.xml b/idp-profile-spring/src/test/resources/net/shibboleth/idp/profile/spring/relyingparty/metadata/dynamic-https-trustEngine-validPKIX-explicitTrustedName.xml
index 5c79806..59fd985 100644
--- a/idp-profile-spring/src/test/resources/net/shibboleth/idp/profile/spring/relyingparty/metadata/dynamic-https-trustEngine-validPKIX-explicitTrustedName.xml
+++ b/idp-profile-spring/src/test/resources/net/shibboleth/idp/profile/spring/relyingparty/metadata/dynamic-https-trustEngine-validPKIX-explicitTrustedName.xml
@@ -53,7 +53,7 @@ ohEUGW6yhhtoPkg3Goi3XZZenMfvJ2II4pEZXNLxId26F0KCl3GBUzGpn/Z9Yr9y
     
     <!-- Note: use of the transformRef here is mostly just to facilitate testing. -->
     <metadata:Template transformRef="digester.SHA1HexLower">
-        https://svn.shibboleth.net/java-opensaml/trunk/opensaml-saml-impl/src/test/resources/org/opensaml/saml/metadata/resolver/impl/${entityID}.xml
+        %{metadataURL}
     </metadata:Template>
 
 </metadata:MetadataProvider>
diff --git a/idp-profile-spring/src/test/resources/net/shibboleth/idp/profile/spring/relyingparty/metadata/dynamic-https-trustEngine-validPKIX.xml b/idp-profile-spring/src/test/resources/net/shibboleth/idp/profile/spring/relyingparty/metadata/dynamic-https-trustEngine-validPKIX.xml
index 4910aa2..444d7f7 100644
--- a/idp-profile-spring/src/test/resources/net/shibboleth/idp/profile/spring/relyingparty/metadata/dynamic-https-trustEngine-validPKIX.xml
+++ b/idp-profile-spring/src/test/resources/net/shibboleth/idp/profile/spring/relyingparty/metadata/dynamic-https-trustEngine-validPKIX.xml
@@ -52,7 +52,7 @@ ohEUGW6yhhtoPkg3Goi3XZZenMfvJ2II4pEZXNLxId26F0KCl3GBUzGpn/Z9Yr9y
     
     <!-- Note: use of the transformRef here is mostly just to facilitate testing. -->
     <metadata:Template transformRef="digester.SHA1HexLower">
-        https://svn.shibboleth.net/java-opensaml/trunk/opensaml-saml-impl/src/test/resources/org/opensaml/saml/metadata/resolver/impl/${entityID}.xml
+        %{metadataURL}
     </metadata:Template>
 
 </metadata:MetadataProvider>
diff --git a/idp-profile-spring/src/test/resources/net/shibboleth/idp/profile/spring/relyingparty/metadata/dynamicRegex.xml b/idp-profile-spring/src/test/resources/net/shibboleth/idp/profile/spring/relyingparty/metadata/dynamicRegex.xml
index 271edab..7d7c7f7 100644
--- a/idp-profile-spring/src/test/resources/net/shibboleth/idp/profile/spring/relyingparty/metadata/dynamicRegex.xml
+++ b/idp-profile-spring/src/test/resources/net/shibboleth/idp/profile/spring/relyingparty/metadata/dynamicRegex.xml
@@ -8,7 +8,7 @@
     
         <!-- Attempt to pluck out the domain name and return in match group $1. -->
         <metadata:Regex match="^https?://([a-zA-Z0-9\\.]+).*$">
-           http://svn.shibboleth.net/view/java-identity-provider/trunk/idp-profile-spring/src/test/resources/net/shibboleth/idp/profile/spring/relyingparty/metadata/$1.xml?view=co
+           %{metadataURL}
         </metadata:Regex>
 
 </metadata:MetadataProvider>
diff --git a/idp-profile-spring/src/test/resources/net/shibboleth/idp/profile/spring/relyingparty/metadata/dynamicTemplate.xml b/idp-profile-spring/src/test/resources/net/shibboleth/idp/profile/spring/relyingparty/metadata/dynamicTemplate.xml
index 45216db..2d245e3 100644
--- a/idp-profile-spring/src/test/resources/net/shibboleth/idp/profile/spring/relyingparty/metadata/dynamicTemplate.xml
+++ b/idp-profile-spring/src/test/resources/net/shibboleth/idp/profile/spring/relyingparty/metadata/dynamicTemplate.xml
@@ -8,7 +8,7 @@
     
     <!-- Note: use of the transformRef here is mostly just to facilitate testing. -->
     <metadata:Template transformRef="digester.SHA1HexLower">
-        http://svn.shibboleth.net/view/java-opensaml/trunk/opensaml-saml-impl/src/test/resources/org/opensaml/saml/metadata/resolver/impl/${entityID}.xml?view=co
+        %{metadataURL}
     </metadata:Template>
 
 </metadata:MetadataProvider>
diff --git a/idp-profile-spring/src/test/resources/net/shibboleth/idp/profile/spring/relyingparty/metadata/fileBackedHTTPEntities.xml b/idp-profile-spring/src/test/resources/net/shibboleth/idp/profile/spring/relyingparty/metadata/fileBackedHTTPEntities.xml
index 4dd8f5f..5252388 100644
--- a/idp-profile-spring/src/test/resources/net/shibboleth/idp/profile/spring/relyingparty/metadata/fileBackedHTTPEntities.xml
+++ b/idp-profile-spring/src/test/resources/net/shibboleth/idp/profile/spring/relyingparty/metadata/fileBackedHTTPEntities.xml
@@ -6,7 +6,7 @@
 
 	id="fileBackedHTTPEntities" xsi:type="metadata:FileBackedHTTPMetadataProvider"
 	backingFile="%{DIR}/spoolFileEntities.xml"
-	metadataURL="http://svn.shibboleth.net/view/java-identity-provider/trunk/idp-profile-spring/src/test/resources/net/shibboleth/idp/profile/spring/relyingparty/metadata/entities.xml?revision=5634&view=co"> 
+	metadataURL="%{metadataURL}">
 
 </metadata:MetadataProvider>
                                    
\ No newline at end of file
diff --git a/idp-profile-spring/src/test/resources/net/shibboleth/idp/profile/spring/relyingparty/metadata/fileBackedHTTPEntity.xml b/idp-profile-spring/src/test/resources/net/shibboleth/idp/profile/spring/relyingparty/metadata/fileBackedHTTPEntity.xml
index de8ca32..bddd388 100644
--- a/idp-profile-spring/src/test/resources/net/shibboleth/idp/profile/spring/relyingparty/metadata/fileBackedHTTPEntity.xml
+++ b/idp-profile-spring/src/test/resources/net/shibboleth/idp/profile/spring/relyingparty/metadata/fileBackedHTTPEntity.xml
@@ -8,7 +8,7 @@
 	backingFile="%{DIR}/spoolFileEntity.xml"
     initializeFromBackupFile="false"
     backupFileInitNextRefreshDelay="PT10S"
-	metadataURL="http://svn.shibboleth.net/view/java-identity-provider/trunk/idp-profile-spring/src/test/resources/net/shibboleth/idp/profile/spring/relyingparty/metadata/entity.xml?revision=5634&view=co"> 
+	metadataURL="%{metadataURL}">
 
 </metadata:MetadataProvider>
                                    
\ No newline at end of file
diff --git a/idp-profile-spring/src/test/resources/net/shibboleth/idp/profile/spring/relyingparty/metadata/https-client-security-params.xml b/idp-profile-spring/src/test/resources/net/shibboleth/idp/profile/spring/relyingparty/metadata/https-client-security-params.xml
index 7045927..74abf11 100644
--- a/idp-profile-spring/src/test/resources/net/shibboleth/idp/profile/spring/relyingparty/metadata/https-client-security-params.xml
+++ b/idp-profile-spring/src/test/resources/net/shibboleth/idp/profile/spring/relyingparty/metadata/https-client-security-params.xml
@@ -9,7 +9,7 @@
 
 	id="HTTPSEntityWithClientSecurityParams" 
     xsi:type="metadata:HTTPMetadataProvider" 
-    metadataURL="https://svn.shibboleth.net/java-identity-provider/trunk/idp-profile-spring/src/test/resources/net/shibboleth/idp/profile/spring/relyingparty/metadata/entity.xml"
+    metadataURL="%{metadataURL}"
     httpClientSecurityParametersRef="metadata.HttpClientSecurityParameters"
     > 
 
diff --git a/idp-profile-spring/src/test/resources/net/shibboleth/idp/profile/spring/relyingparty/metadata/https-indexes.xml b/idp-profile-spring/src/test/resources/net/shibboleth/idp/profile/spring/relyingparty/metadata/https-indexes.xml
index d68df15..c78346b 100644
--- a/idp-profile-spring/src/test/resources/net/shibboleth/idp/profile/spring/relyingparty/metadata/https-indexes.xml
+++ b/idp-profile-spring/src/test/resources/net/shibboleth/idp/profile/spring/relyingparty/metadata/https-indexes.xml
@@ -9,7 +9,7 @@
 
 	id="HTTPSEntityWithIndexes" 
     xsi:type="metadata:HTTPMetadataProvider" 
-    metadataURL="https://svn.shibboleth.net/java-identity-provider/trunk/idp-profile-spring/src/test/resources/net/shibboleth/idp/profile/spring/relyingparty/metadata/entity.xml"
+    metadataURL="%{metadataURL}"
     indexesRef="metadata.Indexes"
     > 
 
diff --git a/idp-profile-spring/src/test/resources/net/shibboleth/idp/profile/spring/relyingparty/metadata/https-noTrustEngine.xml b/idp-profile-spring/src/test/resources/net/shibboleth/idp/profile/spring/relyingparty/metadata/https-noTrustEngine.xml
index d73b9c4..5eeea11 100644
--- a/idp-profile-spring/src/test/resources/net/shibboleth/idp/profile/spring/relyingparty/metadata/https-noTrustEngine.xml
+++ b/idp-profile-spring/src/test/resources/net/shibboleth/idp/profile/spring/relyingparty/metadata/https-noTrustEngine.xml
@@ -7,7 +7,7 @@
                         urn:mace:shibboleth:2.0:security http://shibboleth.net/schema/idp/shibboleth-security.xsd
                        urn:oasis:names:tc:SAML:2.0:metadata http://docs.oasis-open.org/security/saml/v2.0/saml-schema-metadata-2.0.xsd"
 
-	id="HTTPSEntity" xsi:type="metadata:HTTPMetadataProvider" metadataURL="https://svn.shibboleth.net/java-identity-provider/trunk/idp-profile-spring/src/test/resources/net/shibboleth/idp/profile/spring/relyingparty/metadata/entity.xml"> 
+	id="HTTPSEntity" xsi:type="metadata:HTTPMetadataProvider" metadataURL="%{metadataURL}"> 
 
 </metadata:MetadataProvider>
                                    
\ No newline at end of file
diff --git a/idp-profile-spring/src/test/resources/net/shibboleth/idp/profile/spring/relyingparty/metadata/https-timeouts.xml b/idp-profile-spring/src/test/resources/net/shibboleth/idp/profile/spring/relyingparty/metadata/https-timeouts.xml
index 331ad0b..898b310 100644
--- a/idp-profile-spring/src/test/resources/net/shibboleth/idp/profile/spring/relyingparty/metadata/https-timeouts.xml
+++ b/idp-profile-spring/src/test/resources/net/shibboleth/idp/profile/spring/relyingparty/metadata/https-timeouts.xml
@@ -9,7 +9,7 @@
 
 	id="HTTPSEntityWithTimeouts" 
     xsi:type="metadata:HTTPMetadataProvider" 
-    metadataURL="https://svn.shibboleth.net/java-identity-provider/trunk/idp-profile-spring/src/test/resources/net/shibboleth/idp/profile/spring/relyingparty/metadata/entity.xml"
+    metadataURL="%{metadataURL}"
     connectionTimeout="PT2M30S"
     connectionRequestTimeout="PT2M30S"
     socketTimeout="PT2M30S"
diff --git a/idp-profile-spring/src/test/resources/net/shibboleth/idp/profile/spring/relyingparty/metadata/https-trustEngine-explicitKey.xml b/idp-profile-spring/src/test/resources/net/shibboleth/idp/profile/spring/relyingparty/metadata/https-trustEngine-explicitKey.xml
index ea23d47..2ef014a 100644
--- a/idp-profile-spring/src/test/resources/net/shibboleth/idp/profile/spring/relyingparty/metadata/https-trustEngine-explicitKey.xml
+++ b/idp-profile-spring/src/test/resources/net/shibboleth/idp/profile/spring/relyingparty/metadata/https-trustEngine-explicitKey.xml
@@ -7,7 +7,7 @@
                         urn:mace:shibboleth:2.0:security http://shibboleth.net/schema/idp/shibboleth-security.xsd
                        urn:oasis:names:tc:SAML:2.0:metadata http://docs.oasis-open.org/security/saml/v2.0/saml-schema-metadata-2.0.xsd"
 
-	id="HTTPSEntity" xsi:type="metadata:HTTPMetadataProvider" metadataURL="https://svn.shibboleth.net/java-identity-provider/trunk/idp-profile-spring/src/test/resources/net/shibboleth/idp/profile/spring/relyingparty/metadata/entity.xml"> 
+	id="HTTPSEntity" xsi:type="metadata:HTTPMetadataProvider" metadataURL="%{metadataURL}"> 
     
     <metadata:TLSTrustEngine>
         <security:TrustEngine id="trustEngine" xsi:type="security:StaticExplicitKey">
diff --git a/idp-profile-spring/src/test/resources/net/shibboleth/idp/profile/spring/relyingparty/metadata/https-trustEngine-invalidKey.xml b/idp-profile-spring/src/test/resources/net/shibboleth/idp/profile/spring/relyingparty/metadata/https-trustEngine-invalidKey.xml
index e9de728..d6ea45f 100644
--- a/idp-profile-spring/src/test/resources/net/shibboleth/idp/profile/spring/relyingparty/metadata/https-trustEngine-invalidKey.xml
+++ b/idp-profile-spring/src/test/resources/net/shibboleth/idp/profile/spring/relyingparty/metadata/https-trustEngine-invalidKey.xml
@@ -7,7 +7,7 @@
                         urn:mace:shibboleth:2.0:security http://shibboleth.net/schema/idp/shibboleth-security.xsd
                        urn:oasis:names:tc:SAML:2.0:metadata http://docs.oasis-open.org/security/saml/v2.0/saml-schema-metadata-2.0.xsd"
 
-	id="HTTPSEntity" xsi:type="metadata:HTTPMetadataProvider" metadataURL="https://svn.shibboleth.net/java-identity-provider/trunk/idp-profile-spring/src/test/resources/net/shibboleth/idp/profile/spring/relyingparty/metadata/entity.xml"> 
+	id="HTTPSEntity" xsi:type="metadata:HTTPMetadataProvider" metadataURL="%{metadataURL}">
     
     <metadata:TLSTrustEngine>
         <security:TrustEngine id="trustEngine" xsi:type="security:StaticExplicitKey">
diff --git a/idp-profile-spring/src/test/resources/net/shibboleth/idp/profile/spring/relyingparty/metadata/https-trustEngine-invalidPKIX.xml b/idp-profile-spring/src/test/resources/net/shibboleth/idp/profile/spring/relyingparty/metadata/https-trustEngine-invalidPKIX.xml
index efd4d51..ae3ccf2 100644
--- a/idp-profile-spring/src/test/resources/net/shibboleth/idp/profile/spring/relyingparty/metadata/https-trustEngine-invalidPKIX.xml
+++ b/idp-profile-spring/src/test/resources/net/shibboleth/idp/profile/spring/relyingparty/metadata/https-trustEngine-invalidPKIX.xml
@@ -7,7 +7,7 @@
                         urn:mace:shibboleth:2.0:security http://shibboleth.net/schema/idp/shibboleth-security.xsd
                        urn:oasis:names:tc:SAML:2.0:metadata http://docs.oasis-open.org/security/saml/v2.0/saml-schema-metadata-2.0.xsd"
 
-	id="HTTPSEntity" xsi:type="metadata:HTTPMetadataProvider" metadataURL="https://svn.shibboleth.net/java-identity-provider/trunk/idp-profile-spring/src/test/resources/net/shibboleth/idp/profile/spring/relyingparty/metadata/entity.xml"> 
+	id="HTTPSEntity" xsi:type="metadata:HTTPMetadataProvider" metadataURL="%{metadataURL}">
     
     <metadata:TLSTrustEngine>
         <security:TrustEngine id="trustEngine" xsi:type="security:StaticPKIXX509Credential" trustedNameCheckEnabled="false">
diff --git a/idp-profile-spring/src/test/resources/net/shibboleth/idp/profile/spring/relyingparty/metadata/https-trustEngine-validPKIX-explicitTrustedName.xml b/idp-profile-spring/src/test/resources/net/shibboleth/idp/profile/spring/relyingparty/metadata/https-trustEngine-validPKIX-explicitTrustedName.xml
index fe6d23b..2890c98 100644
--- a/idp-profile-spring/src/test/resources/net/shibboleth/idp/profile/spring/relyingparty/metadata/https-trustEngine-validPKIX-explicitTrustedName.xml
+++ b/idp-profile-spring/src/test/resources/net/shibboleth/idp/profile/spring/relyingparty/metadata/https-trustEngine-validPKIX-explicitTrustedName.xml
@@ -7,7 +7,7 @@
                         urn:mace:shibboleth:2.0:security http://shibboleth.net/schema/idp/shibboleth-security.xsd
                        urn:oasis:names:tc:SAML:2.0:metadata http://docs.oasis-open.org/security/saml/v2.0/saml-schema-metadata-2.0.xsd"
 
-	id="HTTPSEntity" xsi:type="metadata:HTTPMetadataProvider" metadataURL="https://svn.shibboleth.net/java-identity-provider/trunk/idp-profile-spring/src/test/resources/net/shibboleth/idp/profile/spring/relyingparty/metadata/entity.xml"> 
+	id="HTTPSEntity" xsi:type="metadata:HTTPMetadataProvider" metadataURL="%{metadataURL}">
     
     <metadata:TLSTrustEngine>
         <security:TrustEngine id="trustEngine" xsi:type="security:StaticPKIXX509Credential">
diff --git a/idp-profile-spring/src/test/resources/net/shibboleth/idp/profile/spring/relyingparty/metadata/https-trustEngine-validPKIX.xml b/idp-profile-spring/src/test/resources/net/shibboleth/idp/profile/spring/relyingparty/metadata/https-trustEngine-validPKIX.xml
index d387534..67d996d 100644
--- a/idp-profile-spring/src/test/resources/net/shibboleth/idp/profile/spring/relyingparty/metadata/https-trustEngine-validPKIX.xml
+++ b/idp-profile-spring/src/test/resources/net/shibboleth/idp/profile/spring/relyingparty/metadata/https-trustEngine-validPKIX.xml
@@ -7,7 +7,7 @@
                         urn:mace:shibboleth:2.0:security http://shibboleth.net/schema/idp/shibboleth-security.xsd
                        urn:oasis:names:tc:SAML:2.0:metadata http://docs.oasis-open.org/security/saml/v2.0/saml-schema-metadata-2.0.xsd"
 
-	id="HTTPSEntity" xsi:type="metadata:HTTPMetadataProvider" metadataURL="https://svn.shibboleth.net/java-identity-provider/trunk/idp-profile-spring/src/test/resources/net/shibboleth/idp/profile/spring/relyingparty/metadata/entity.xml"> 
+	id="HTTPSEntity" xsi:type="metadata:HTTPMetadataProvider" metadataURL="%{metadataURL}">
     
     <metadata:TLSTrustEngine>
         <security:TrustEngine id="trustEngine" xsi:type="security:StaticPKIXX509Credential" trustedNameCheckEnabled="false">
diff --git a/idp-profile-spring/src/test/resources/net/shibboleth/idp/profile/spring/relyingparty/metadata/resourceFileBackedHTTPEntities.xml b/idp-profile-spring/src/test/resources/net/shibboleth/idp/profile/spring/relyingparty/metadata/resourceFileBackedHTTPEntities.xml
index 752518d..95fcfe7 100644
--- a/idp-profile-spring/src/test/resources/net/shibboleth/idp/profile/spring/relyingparty/metadata/resourceFileBackedHTTPEntities.xml
+++ b/idp-profile-spring/src/test/resources/net/shibboleth/idp/profile/spring/relyingparty/metadata/resourceFileBackedHTTPEntities.xml
@@ -13,7 +13,7 @@
 	<metadata:MetadataResource xsi:type="resource:FileBackedHttpResource" 
 	   file="%{DIR}/spoolResourceEntities.xml"
 	
-	  url="http://svn.shibboleth.net/view/java-identity-provider/trunk/idp-profile-spring/src/test/resources/net/shibboleth/idp/profile/spring/relyingparty/metadata/entities.xml?revision=5634&view=co"/>
+	  url="%{metadataURL}"/>
 
 </metadata:MetadataProvider>
                                    
\ No newline at end of file
diff --git a/idp-profile-spring/src/test/resources/net/shibboleth/idp/profile/spring/relyingparty/metadata/resourceFileBackedHTTPEntity.xml b/idp-profile-spring/src/test/resources/net/shibboleth/idp/profile/spring/relyingparty/metadata/resourceFileBackedHTTPEntity.xml
index 342538e..08e822d 100644
--- a/idp-profile-spring/src/test/resources/net/shibboleth/idp/profile/spring/relyingparty/metadata/resourceFileBackedHTTPEntity.xml
+++ b/idp-profile-spring/src/test/resources/net/shibboleth/idp/profile/spring/relyingparty/metadata/resourceFileBackedHTTPEntity.xml
@@ -12,7 +12,7 @@
         xsi:type="resource:FileBackedHttpResource" 
         file="%{DIR}/spoolResourceEntity.xml"
         
-        url="http://svn.shibboleth.net/view/java-identity-provider/trunk/idp-profile-spring/src/test/resources/net/shibboleth/idp/profile/spring/relyingparty/metadata/entity.xml?revision=5634&view=co"/>
+        url="%{metadataURL}"/>
 
 </metadata:MetadataProvider>
                                    
\ No newline at end of file
diff --git a/idp-profile-spring/src/test/resources/net/shibboleth/idp/profile/spring/relyingparty/metadata/resourceHTTPEntities.xml b/idp-profile-spring/src/test/resources/net/shibboleth/idp/profile/spring/relyingparty/metadata/resourceHTTPEntities.xml
index 0e90871..7869fe4 100644
--- a/idp-profile-spring/src/test/resources/net/shibboleth/idp/profile/spring/relyingparty/metadata/resourceHTTPEntities.xml
+++ b/idp-profile-spring/src/test/resources/net/shibboleth/idp/profile/spring/relyingparty/metadata/resourceHTTPEntities.xml
@@ -11,7 +11,7 @@
 	
 	
 	<metadata:MetadataResource xsi:type="resource:HttpResource" 
-	  url="http://svn.shibboleth.net/view/java-identity-provider/trunk/idp-profile-spring/src/test/resources/net/shibboleth/idp/profile/spring/relyingparty/metadata/entities.xml?revision=5634&view=co"/>
+	  url="%{metadataURL}"/>
 
 </metadata:MetadataProvider>
                                    
\ No newline at end of file
diff --git a/idp-profile-spring/src/test/resources/net/shibboleth/idp/profile/spring/relyingparty/metadata/resourceHTTPEntity.xml b/idp-profile-spring/src/test/resources/net/shibboleth/idp/profile/spring/relyingparty/metadata/resourceHTTPEntity.xml
index a671ea5..04a6fd7 100644
--- a/idp-profile-spring/src/test/resources/net/shibboleth/idp/profile/spring/relyingparty/metadata/resourceHTTPEntity.xml
+++ b/idp-profile-spring/src/test/resources/net/shibboleth/idp/profile/spring/relyingparty/metadata/resourceHTTPEntity.xml
@@ -10,7 +10,7 @@
 	
     <metadata:MetadataResource 
         xsi:type="resource:HttpResource" 
-        url="http://svn.shibboleth.net/view/java-identity-provider/trunk/idp-profile-spring/src/test/resources/net/shibboleth/idp/profile/spring/relyingparty/metadata/entity.xml?revision=5634&view=co"/>
+        url="%{metadataURL}"/>
 
 </metadata:MetadataProvider>
                                    
\ 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