]> source.dussan.org Git - archiva.git/commitdiff
follow redirect as previous testing tool did
authorOlivier Lamy <olamy@apache.org>
Mon, 6 Jan 2014 05:32:07 +0000 (05:32 +0000)
committerOlivier Lamy <olamy@apache.org>
Mon, 6 Jan 2014 05:32:07 +0000 (05:32 +0000)
git-svn-id: https://svn.apache.org/repos/asf/archiva/trunk@1555675 13f79535-47bb-0310-9956-ffa450edef68

archiva-modules/archiva-web/archiva-webdav/src/test/java/org/apache/archiva/webdav/AbstractRepositoryServletTestCase.java
archiva-modules/archiva-web/archiva-webdav/src/test/java/org/apache/archiva/webdav/RepositoryServletBrowseTest.java

index 5eaccf4a16d3cb86c439de48b4e67b9d37babf27..87162ace76d05039b896d527fe419a3b75c1176b 100644 (file)
@@ -135,7 +135,6 @@ public abstract class AbstractRepositoryServletTestCase
         }
         FileUtils.copyFile( testConf, testConfDest );
 
-
         repoRootInternal = new File( appserverBase, "data/repositories/internal" );
         repoRootLegacy = new File( appserverBase, "data/repositories/legacy" );
         Configuration config = archivaConfiguration.getConfiguration();
@@ -508,10 +507,10 @@ public abstract class AbstractRepositoryServletTestCase
     protected WebResponse getWebResponse( String path )
         throws Exception
     {
-        return getWebResponse( new GetMethodWebRequest( "http://localhost" + path ) );
+        return getWebResponse( new GetMethodWebRequest( "http://localhost" + path ) );//, false );
     }
 
-    protected WebResponse getWebResponse( WebRequest webRequest )
+    protected WebResponse getWebResponse( WebRequest webRequest ) //, boolean followRedirect )
         throws Exception
     {
 
@@ -527,6 +526,14 @@ public abstract class AbstractRepositoryServletTestCase
 
         final MockHttpServletResponse response = execute( request );
 
+        if ( response.getStatus() == HttpServletResponse.SC_MOVED_PERMANENTLY
+            || response.getStatus() == HttpServletResponse.SC_MOVED_TEMPORARILY )
+        {
+            String location = response.getHeader( "Location" );
+            log.debug("follow redirect to {}", location);
+            return getWebResponse( new GetMethodWebRequest( location ) );
+        }
+
         return new WebResponse( null, null, 1 )
         {
             @Override
@@ -608,7 +615,14 @@ public abstract class AbstractRepositoryServletTestCase
         public WebResponse getResponse( WebRequest request )
             throws Exception
         {
-            return abstractRepositoryServletTestCase.getWebResponse( request );
+            return getResponse( request, false );
+        }
+
+        public WebResponse getResponse( WebRequest request, boolean followRedirect )
+            throws Exception
+        {
+            // alwasy following redirect as it's normal
+            return abstractRepositoryServletTestCase.getWebResponse( request );//, followRedirect );
         }
 
         public WebResponse getResource( WebRequest request )
index b468c867ff1b903179ef5db7eb6642b22b988be7..55228453fca9d722fb2533181d8b4afab01e09f5 100644 (file)
@@ -99,7 +99,7 @@ public class RepositoryServletBrowseTest
 
         WebRequest request =
             new GetMethodWebRequest( "http://machine.com/repository/internal/org/apache/archiva/artifactId" );
-        WebResponse response = getServletUnitClient().getResponse( request );
+        WebResponse response = getServletUnitClient().getResponse( request, true );
         assertEquals( "1st Response", HttpServletResponse.SC_OK, response.getStatusCode() );
 
         request = new GetMethodWebRequest( "http://machine.com/repository/internal/org/apache/archiva/artifactId/" );