1 package org.apache.archiva.webdav;
4 * Licensed to the Apache Software Foundation (ASF) under one
5 * or more contributor license agreements. See the NOTICE file
6 * distributed with this work for additional information
7 * regarding copyright ownership. The ASF licenses this file
8 * to you under the Apache License, Version 2.0 (the
9 * "License"); you may not use this file except in compliance
10 * with the License. You may obtain a copy of the License at
12 * http://www.apache.org/licenses/LICENSE-2.0
14 * Unless required by applicable law or agreed to in writing,
15 * software distributed under the License is distributed on an
16 * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
17 * KIND, either express or implied. See the License for the
18 * specific language governing permissions and limitations
23 import com.gargoylesoftware.htmlunit.WebRequest;
24 import com.gargoylesoftware.htmlunit.WebResponse;
25 import org.junit.Before;
26 import org.junit.Test;
28 import javax.servlet.http.HttpServletResponse;
32 * RepositoryServletBrowseTest
36 public class RepositoryServletBrowseTest
37 extends AbstractRepositoryServletTestCase
46 new File( repoRootInternal, "org/apache/archiva" ).mkdirs();
47 new File( repoRootInternal, "org/codehaus/mojo/" ).mkdirs();
48 new File( repoRootInternal, "net/sourceforge" ).mkdirs();
49 new File( repoRootInternal, "commons-lang" ).mkdirs();
55 public void testBrowse()
58 WebRequest request = new GetMethodWebRequest( "http://machine.com/repository/internal/" );
59 WebResponse response = getServletUnitClient().getResponse( request );
60 assertEquals( "Response", HttpServletResponse.SC_OK, response.getStatusCode() );
62 // dumpResponse( response );
64 String expectedLinks[] = new String[]{ ".indexer/", "commons-lang/", "net/", "org/" };
66 //assertLinks( expectedLinks, response.getLinks() );
70 public void testBrowseSubdirectory()
73 WebRequest request = new GetMethodWebRequest( "http://machine.com/repository/internal/org" );
74 WebResponse response = getServletUnitClient().getResponse( request );
75 assertEquals( "Response", HttpServletResponse.SC_OK, response.getStatusCode() );
77 String expectedLinks[] = new String[]{ "../", "apache/", "codehaus/" };
79 //assertLinks( expectedLinks, response.getLinks() );
83 public void testGetDirectoryWhichHasMatchingFile() //MRM-893
86 new File( repoRootInternal, "org/apache/archiva/artifactId/1.0" ).mkdirs();
87 new File( repoRootInternal, "org/apache/archiva/artifactId/1.0/artifactId-1.0.jar" ).createNewFile();
90 new GetMethodWebRequest( "http://machine.com/repository/internal/org/apache/archiva/artifactId" );
91 WebResponse response = getServletUnitClient().getResponse( request );
92 assertEquals( "1st Response", HttpServletResponse.SC_OK, response.getStatusCode() );
94 request = new GetMethodWebRequest( "http://machine.com/repository/internal/org/apache/archiva/artifactId/" );
95 response = getServletUnitClient().getResponse( request );
96 assertEquals( "2nd Response", HttpServletResponse.SC_OK, response.getStatusCode() );
98 request = new GetMethodWebRequest(
99 "http://machine.com/repository/internal/org/apache/archiva/artifactId/1.0/artifactId-1.0.jar" );
100 response = getServletUnitClient().getResponse( request );
101 assertEquals( "3rd Response", HttpServletResponse.SC_OK, response.getStatusCode() );
103 request = new GetMethodWebRequest(
104 "http://machine.com/repository/internal/org/apache/archiva/artifactId/1.0/artifactId-1.0.jar/" );
105 response = getServletUnitClient().getResponse( request );
106 assertEquals( "4th Response", HttpServletResponse.SC_NOT_FOUND, response.getStatusCode() );
111 private void assertLinks( String expectedLinks[], WebLink actualLinks[] )
113 assertEquals( "Links.length", expectedLinks.length, actualLinks.length );
114 for ( int i = 0; i < actualLinks.length; i++ )
116 assertEquals( "Link[" + i + "]", expectedLinks[i], actualLinks[i].getURLString() );