Author: jdumay
Date: Wed Jun 11 22:00:17 2008
New Revision: 666951
URL: http://svn.apache.org/viewvc?rev=666951&view=rev
Log:
MRM-781 - Looks like I broke the collection redirect again. This time we have a
regression test :)
Modified:
archiva/trunk/archiva-modules/archiva-web/archiva-webdav/src/main/java/org/apache/maven/archiva/webdav/ArchivaDavResourceFactory.java
archiva/trunk/archiva-modules/archiva-web/archiva-webdav/src/test/java/org/apache/maven/archiva/webdav/RepositoryServletBrowseTest.java
Modified:
archiva/trunk/archiva-modules/archiva-web/archiva-webdav/src/main/java/org/apache/maven/archiva/webdav/ArchivaDavResourceFactory.java
URL:
http://svn.apache.org/viewvc/archiva/trunk/archiva-modules/archiva-web/archiva-webdav/src/main/java/org/apache/maven/archiva/webdav/ArchivaDavResourceFactory.java?rev=666951&r1=666950&r2=666951&view=diff
==============================================================================
---
archiva/trunk/archiva-modules/archiva-web/archiva-webdav/src/main/java/org/apache/maven/archiva/webdav/ArchivaDavResourceFactory.java
(original)
+++
archiva/trunk/archiva-modules/archiva-web/archiva-webdav/src/main/java/org/apache/maven/archiva/webdav/ArchivaDavResourceFactory.java
Wed Jun 11 22:00:17 2008
@@ -222,7 +222,7 @@
setHeaders( locator, response );
// compatibility with MRM-440 to ensure browsing the
repository works ok
- if ( resource.isCollection() &&
!resource.getLocator().getHref(true).endsWith("/" ) )
+ if ( resource.isCollection() &&
!request.getRequestURI().endsWith("/" ) )
{
throw new BrowserRedirectException(
resource.getHref() );
}
Modified:
archiva/trunk/archiva-modules/archiva-web/archiva-webdav/src/test/java/org/apache/maven/archiva/webdav/RepositoryServletBrowseTest.java
URL:
http://svn.apache.org/viewvc/archiva/trunk/archiva-modules/archiva-web/archiva-webdav/src/test/java/org/apache/maven/archiva/webdav/RepositoryServletBrowseTest.java?rev=666951&r1=666950&r2=666951&view=diff
==============================================================================
---
archiva/trunk/archiva-modules/archiva-web/archiva-webdav/src/test/java/org/apache/maven/archiva/webdav/RepositoryServletBrowseTest.java
(original)
+++
archiva/trunk/archiva-modules/archiva-web/archiva-webdav/src/test/java/org/apache/maven/archiva/webdav/RepositoryServletBrowseTest.java
Wed Jun 11 22:00:17 2008
@@ -37,26 +37,48 @@
public class RepositoryServletBrowseTest
extends AbstractRepositoryServletTestCase
{
- public void testBrowse()
- throws Exception
+ @Override
+ protected void setUp()
+ throws Exception
{
+ super.setUp();
+
new File( repoRootInternal, "org/apache/archiva" ).mkdirs();
+ new File( repoRootInternal, "org/codehaus/mojo/" ).mkdirs();
new File( repoRootInternal, "net/sourceforge" ).mkdirs();
new File( repoRootInternal, "commons-lang" ).mkdirs();
-
+ }
+
+ public void testBrowse()
+ throws Exception
+ {
WebRequest request = new GetMethodWebRequest(
"http://machine.com/repository/internal/" );
WebResponse response = sc.getResponse( request );
assertEquals( "Response", HttpServletResponse.SC_OK,
response.getResponseCode() );
// dumpResponse( response );
- WebLink links[] = response.getLinks();
String expectedLinks[] = new String[] { "./commons-lang/", "./net/",
"./org/" };
-
- assertEquals( "Links.length", expectedLinks.length, links.length );
- for ( int i = 0; i < links.length; i++ )
+ assertLinks(expectedLinks, response.getLinks());
+ }
+
+ public void testBrowseSubdirectory()
+ throws Exception
+ {
+ WebRequest request = new GetMethodWebRequest(
"http://machine.com/repository/internal/org" );
+ WebResponse response = sc.getResponse( request );
+ assertEquals( "Response", HttpServletResponse.SC_OK,
response.getResponseCode() );
+
+ String expectedLinks[] = new String[] { "../", "./apache/",
"./codehaus/" };
+ assertLinks(expectedLinks, response.getLinks());
+ }
+
+ private void assertLinks(String expectedLinks[], WebLink actualLinks[])
+ {
+ assertEquals( "Links.length", expectedLinks.length, actualLinks.length
);
+ for ( int i = 0; i < actualLinks.length; i++ )
{
- assertEquals( "Link[" + i + "]", expectedLinks[i],
links[i].getURLString() );
- }
+ assertEquals( "Link[" + i + "]", expectedLinks[i],
actualLinks[i].getURLString() );
+ }
}
}