import org.apache.archiva.webdav.util.MavenIndexerCleaner;
import org.apache.archiva.webdav.util.ReinitServlet;
import org.apache.catalina.Context;
+import org.apache.catalina.core.StandardContext;
import org.apache.catalina.deploy.ApplicationParameter;
import org.apache.catalina.startup.Tomcat;
import org.apache.commons.io.FileUtils;
}
+ StandardContext context;
+
+ UnauthenticatedRepositoryServlet servlet;
+
protected void startRepository() throws Exception
{
tomcat = new Tomcat();
tomcat.setBaseDir( System.getProperty( "java.io.tmpdir" ) );
tomcat.setPort( 0 );
- Context context = tomcat.addContext( "", System.getProperty( "java.io.tmpdir" ) );
+ context = (StandardContext) tomcat.addContext( "", System.getProperty( "java.io.tmpdir" ) );
ApplicationParameter applicationParameter = new ApplicationParameter();
applicationParameter.setName( "contextConfigLocation" );
context.addApplicationListener( MavenIndexerCleaner.class.getName() );
- Tomcat.addServlet( context, "repository", new UnauthenticatedRepositoryServlet() );
+ servlet = new UnauthenticatedRepositoryServlet();
+
+ Tomcat.addServlet( context, "repository", servlet );
context.addServletMapping( "/repository/*", "repository" );
import org.apache.archiva.configuration.ArchivaConfiguration;
import org.apache.archiva.configuration.Configuration;
import org.apache.archiva.configuration.ManagedRepositoryConfiguration;
+import org.apache.catalina.Container;
+import org.apache.catalina.startup.Tomcat;
+import org.apache.commons.lang.StringUtils;
+import org.fest.assertions.api.Assertions;
import org.junit.Before;
import org.junit.Test;
+import javax.servlet.Servlet;
import java.io.File;
+import java.util.Enumeration;
/**
- * RepositoryServletTest
- *
- *
+ * RepositoryServletTest
*/
public class RepositoryServletTest
extends AbstractRepositoryServletTestCase
private static final String NEW_REPOSITORY_NAME = "New Repository";
+ @Before
+ @Override
+ public void setUp()
+ throws Exception
+ {
+ super.setUp();
+ startRepository();
+ }
+
@Test
public void testGetRepository()
throws Exception
{
- RepositoryServlet servlet = null;//(RepositoryServlet) getServletUnitClient().newInvocation( REQUEST_PATH ).getServlet();
+
+ RepositoryServlet servlet = RepositoryServlet.class.cast( findServlet( "repository" ) );
assertNotNull( servlet );
assertRepositoryValid( servlet, REPOID_INTERNAL );
}
+ Servlet findServlet( String name )
+ throws Exception
+ {
+ Container[] childs = context.findChildren();
+ for ( Container container : childs )
+ {
+ if ( StringUtils.equals( container.getName(), name ) )
+ {
+ Tomcat.ExistingStandardWrapper esw = Tomcat.ExistingStandardWrapper.class.cast( container );
+ Servlet servlet = esw.loadServlet();
+
+ return servlet;
+ }
+ }
+ return null;
+ }
+
@Test
public void testGetRepositoryAfterDelete()
throws Exception
{
- RepositoryServlet servlet = null;//(RepositoryServlet) getServletUnitClient().newInvocation( REQUEST_PATH ).getServlet();
+ RepositoryServlet servlet = RepositoryServlet.class.cast( findServlet( "repository" ) );
+
assertNotNull( servlet );
ArchivaConfiguration archivaConfiguration = servlet.getConfiguration();
assertNull( repository );
}
- @Before
- @Override
- public void setUp() throws Exception
- {
- super.setUp();
- startRepository();
- }
-
@Test
public void testGetRepositoryAfterAdd()
throws Exception
{
- RepositoryServlet servlet = null;//(RepositoryServlet) getServletUnitClient().newInvocation( REQUEST_PATH ).getServlet();
+ RepositoryServlet servlet =RepositoryServlet.class.cast( findServlet( "repository" ) );
assertNotNull( servlet );
ArchivaConfiguration archivaConfiguration = servlet.getConfiguration();
String path = REQUEST_PATH + ".index/filecontent/segments.gen";
populateRepo( repoRootInternal, ".index/filecontent/segments.gen", "index file" );
-
+
WebRequest request = new GetMethodWebRequest( path );
WebResponse response = getServletUnitClient().getResponse( request );
assertResponseOK( response );
WebRequest request = new GetMethodWebRequest( path );
WebResponse response = getServletUnitClient().getResponse( request );
assertResponseNotFound( response );
- assertEquals( "Invalid path to Artifact: legacy paths should have an expected type ending in [s] in the second part of the path.", response.getStatusMessage() );
+ Assertions.assertThat( response.getContentAsString() ).contains( "Invalid path to Artifact: legacy paths should have an expected type ending in [s] in the second part of the path." );
}
}