You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by mi...@apache.org on 2017/01/03 21:13:34 UTC
[3/5] maven-wagon git commit: [WAGON-474] Upgrade and revise all
tests for Jetty 8
[WAGON-474] Upgrade and revise all tests for Jetty 8
* Upgrade all test code to Jetty 8.1.22 and Servlet 3.0
* Unify variable names in redirect usecases to realServer and
redirectServer
* RedirectHandler: redirect code is passed but completely ignored because
sendRedirect() always sends 302
* Chronologically sort checkHandlerResult() calls
** Set redirect code (See Other (303)) as requested
** Update checkHandlerResult() for requested status codes rather sent
chosen by server (mismatched previously)
* testPreemptiveAuthentication*(): properly check for OK for GET and
CREATED for PUT instead of OK only for both
* WebDavWagonTest: replace status code literal for
HttpServletResponse.SC_* for better readability
* testRedirect*(): add more checkHandlerResults
* Fix concurrency issues/race conditions in testSecuredGet() and
testSecuredGetToStream() where Jetty workers weren't finished yet,
but assert() has already been started. Waiting for 2000 ms avoids
this in a cheap manner.
* Fix potential memory leaks from open sockets and Wagons
* HugeFileDownloadTest improvements:
** Add log lines before/after the creation of the test file (4 GiB) and
download, to measure how much time this actually takes
** Use IOUtil#copy and hand-copy file with content length to avoid too
large buffers from Jetty's IO class
* Increase Surefire forked VM timeout to 800 s to avoid timeouts of
HugeFileDownloadTest on Windows
Project: http://git-wip-us.apache.org/repos/asf/maven-wagon/repo
Commit: http://git-wip-us.apache.org/repos/asf/maven-wagon/commit/5ba0cf33
Tree: http://git-wip-us.apache.org/repos/asf/maven-wagon/tree/5ba0cf33
Diff: http://git-wip-us.apache.org/repos/asf/maven-wagon/diff/5ba0cf33
Branch: refs/heads/master
Commit: 5ba0cf33a6f9024c6dbbb3e3e24c978245fa082c
Parents: 1b318bb
Author: Michael Osipov <mi...@apache.org>
Authored: Mon Dec 26 00:55:09 2016 +0100
Committer: Michael Osipov <mi...@apache.org>
Committed: Tue Jan 3 22:12:24 2017 +0100
----------------------------------------------------------------------
pom.xml | 16 +-
wagon-provider-test/pom.xml | 8 +-
.../maven/wagon/http/HttpWagonTestCase.java | 299 +++++++++++--------
.../wagon/providers/file/FileWagonTest.java | 13 +-
wagon-providers/wagon-http-lightweight/pom.xml | 4 +-
.../http/LightweightHttpsWagonTest.java | 6 +-
wagon-providers/wagon-http/pom.xml | 10 +-
.../http/AbstractHttpClientWagonTest.java | 2 +
.../http/HttpWagonHttpServerTestCase.java | 14 +-
.../http/HttpWagonReasonPhraseTest.java | 2 +-
.../providers/http/HttpWagonTimeoutTest.java | 4 +-
.../http/HttpsWagonPreemptiveTest.java | 6 +-
.../wagon/providers/http/HttpsWagonTest.java | 6 +-
.../providers/http/HugeFileDownloadTest.java | 58 ++--
wagon-providers/wagon-ssh/pom.xml | 8 +-
.../ssh/jsch/ScpWagonWithProxyTest.java | 23 +-
wagon-providers/wagon-webdav-jackrabbit/pom.xml | 8 +-
.../wagon/providers/webdav/WebDavWagonTest.java | 73 +++--
.../providers/webdav/WebDavsWagonTest.java | 6 +-
wagon-tcks/wagon-tck-http/pom.xml | 12 +-
.../wagon/tck/http/fixture/ServerFixture.java | 52 ++--
21 files changed, 348 insertions(+), 282 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/maven-wagon/blob/5ba0cf33/pom.xml
----------------------------------------------------------------------
diff --git a/pom.xml b/pom.xml
index cbdbc86..5805800 100644
--- a/pom.xml
+++ b/pom.xml
@@ -312,14 +312,14 @@ under the License.
</dependency>
<dependency>
- <groupId>org.mortbay.jetty</groupId>
- <artifactId>jetty</artifactId>
- <version>6.1.26</version>
+ <groupId>org.eclipse.jetty.aggregate</groupId>
+ <artifactId>jetty-all</artifactId>
+ <version>8.1.22.v20160922</version>
</dependency>
<dependency>
- <groupId>org.mortbay.jetty</groupId>
- <artifactId>servlet-api</artifactId>
- <version>2.5-20081211</version>
+ <groupId>javax.servlet</groupId>
+ <artifactId>javax.servlet-api</artifactId>
+ <version>3.0.1</version>
</dependency>
</dependencies>
</dependencyManagement>
@@ -331,7 +331,7 @@ under the License.
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<configuration>
- <forkedProcessTimeoutInSeconds>400</forkedProcessTimeoutInSeconds>
+ <forkedProcessTimeoutInSeconds>800</forkedProcessTimeoutInSeconds>
<systemPropertyVariables>
<java.io.tmpdir>${project.build.directory}</java.io.tmpdir>
</systemPropertyVariables>
@@ -564,5 +564,5 @@ under the License.
</reporting>
</profile>
</profiles>
-
+
</project>
http://git-wip-us.apache.org/repos/asf/maven-wagon/blob/5ba0cf33/wagon-provider-test/pom.xml
----------------------------------------------------------------------
diff --git a/wagon-provider-test/pom.xml b/wagon-provider-test/pom.xml
index b19e7ac..9b0f4e5 100644
--- a/wagon-provider-test/pom.xml
+++ b/wagon-provider-test/pom.xml
@@ -51,12 +51,12 @@ under the License.
<scope>compile</scope>
</dependency>
<dependency>
- <groupId>org.mortbay.jetty</groupId>
- <artifactId>jetty</artifactId>
+ <groupId>org.eclipse.jetty.aggregate</groupId>
+ <artifactId>jetty-all</artifactId>
</dependency>
<dependency>
- <groupId>org.mortbay.jetty</groupId>
- <artifactId>servlet-api</artifactId>
+ <groupId>javax.servlet</groupId>
+ <artifactId>javax.servlet-api</artifactId>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
http://git-wip-us.apache.org/repos/asf/maven-wagon/blob/5ba0cf33/wagon-provider-test/src/main/java/org/apache/maven/wagon/http/HttpWagonTestCase.java
----------------------------------------------------------------------
diff --git a/wagon-provider-test/src/main/java/org/apache/maven/wagon/http/HttpWagonTestCase.java b/wagon-provider-test/src/main/java/org/apache/maven/wagon/http/HttpWagonTestCase.java
index dfc499e..c19eaa3 100644
--- a/wagon-provider-test/src/main/java/org/apache/maven/wagon/http/HttpWagonTestCase.java
+++ b/wagon-provider-test/src/main/java/org/apache/maven/wagon/http/HttpWagonTestCase.java
@@ -34,20 +34,21 @@ import org.apache.maven.wagon.resource.Resource;
import org.codehaus.plexus.util.FileUtils;
import org.codehaus.plexus.util.IOUtil;
import org.codehaus.plexus.util.StringUtils;
-import org.mortbay.jetty.Handler;
-import org.mortbay.jetty.HttpConnection;
-import org.mortbay.jetty.Request;
-import org.mortbay.jetty.Response;
-import org.mortbay.jetty.Server;
-import org.mortbay.jetty.handler.AbstractHandler;
-import org.mortbay.jetty.handler.HandlerCollection;
-import org.mortbay.jetty.security.Constraint;
-import org.mortbay.jetty.security.ConstraintMapping;
-import org.mortbay.jetty.security.HashUserRealm;
-import org.mortbay.jetty.security.SecurityHandler;
-import org.mortbay.jetty.servlet.Context;
-import org.mortbay.jetty.servlet.DefaultServlet;
-import org.mortbay.jetty.servlet.ServletHolder;
+import org.eclipse.jetty.security.ConstraintMapping;
+import org.eclipse.jetty.security.ConstraintSecurityHandler;
+import org.eclipse.jetty.security.HashLoginService;
+import org.eclipse.jetty.security.SecurityHandler;
+import org.eclipse.jetty.security.authentication.BasicAuthenticator;
+import org.eclipse.jetty.server.Request;
+import org.eclipse.jetty.server.Response;
+import org.eclipse.jetty.server.Server;
+import org.eclipse.jetty.server.handler.AbstractHandler;
+import org.eclipse.jetty.server.handler.HandlerCollection;
+import org.eclipse.jetty.util.security.Constraint;
+import org.eclipse.jetty.util.security.Password;
+import org.eclipse.jetty.servlet.DefaultServlet;
+import org.eclipse.jetty.servlet.ServletContextHandler;
+import org.eclipse.jetty.servlet.ServletHolder;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
@@ -99,9 +100,12 @@ public abstract class HttpWagonTestCase
server = new Server( 0 );
PutHandler putHandler = new PutHandler( repositoryDirectory );
- server.addHandler( putHandler );
- createContext( server, repositoryDirectory );
+ ServletContextHandler context = createContext( server, repositoryDirectory );
+ HandlerCollection handlers = new HandlerCollection();
+ handlers.addHandler( putHandler );
+ handlers.addHandler( context );
+ server.setHandler( handlers );
addConnectors( server );
@@ -120,13 +124,14 @@ public abstract class HttpWagonTestCase
return server.getConnectors()[0].getLocalPort();
}
- protected void createContext( Server server, File repositoryDirectory )
+ protected ServletContextHandler createContext( Server server, File repositoryDirectory )
throws IOException
{
- Context root = new Context( server, "/", Context.SESSIONS );
+ ServletContextHandler root = new ServletContextHandler( ServletContextHandler.SESSIONS );
root.setResourceBase( repositoryDirectory.getAbsolutePath() );
ServletHolder servletHolder = new ServletHolder( new DefaultServlet() );
root.addServlet( servletHolder, "/*" );
+ return root;
}
protected void tearDownWagonTestingFixtures()
@@ -216,7 +221,7 @@ public abstract class HttpWagonTestCase
server.setHandler( handler );
addConnectors( server );
server.start();
- wagon.connect( new Repository( "id", getProtocol() + "://localhost:"
+ wagon.connect( new Repository( "id", getProtocol() + "://localhost:"
+ server.getConnectors()[0].getLocalPort() ) );
wagon.getToStream( "resource", new ByteArrayOutputStream() );
wagon.disconnect();
@@ -309,19 +314,19 @@ public abstract class HttpWagonTestCase
AbstractHandler handler = new AbstractHandler()
{
- public void handle( String s, HttpServletRequest request, HttpServletResponse response, int i )
- throws IOException, ServletException
+ public void handle( String target, Request baseRequest, HttpServletRequest request,
+ HttpServletResponse response ) throws IOException, ServletException
{
if ( called.get() )
{
response.setStatus( HttpServletResponse.SC_OK );
- ( (Request) request ).setHandled( true );
+ baseRequest.setHandled( true );
}
else
{
called.set( true );
response.setStatus( SC_TOO_MANY_REQUESTS );
- ( (Request) request ).setHandled( true );
+ baseRequest.setHandled( true );
}
}
@@ -456,19 +461,19 @@ public abstract class HttpWagonTestCase
AbstractHandler handler = new AbstractHandler()
{
- public void handle( String s, HttpServletRequest request, HttpServletResponse response, int i )
- throws IOException, ServletException
+ public void handle( String target, Request baseRequest, HttpServletRequest request,
+ HttpServletResponse response ) throws IOException, ServletException
{
if ( called.get() )
{
response.setStatus( HttpServletResponse.SC_INTERNAL_SERVER_ERROR );
- ( (Request) request ).setHandled( true );
+ baseRequest.setHandled( true );
}
else
{
called.set( true );
response.setStatus( SC_TOO_MANY_REQUESTS );
- ( (Request) request ).setHandled( true );
+ baseRequest.setHandled( true );
}
}
};
@@ -543,12 +548,13 @@ public abstract class HttpWagonTestCase
Server server = new Server( getTestRepositoryPort() );
String localRepositoryPath = FileTestUtils.getTestOutputDir().toString();
- Context root = new Context( server, "/", Context.SESSIONS );
+ ServletContextHandler root = new ServletContextHandler( ServletContextHandler.SESSIONS );
root.setResourceBase( localRepositoryPath );
ServletHolder servletHolder = new ServletHolder( new DefaultServlet() );
servletHolder.setInitParameter( "gzip", "true" );
root.addServlet( servletHolder, "/*" );
addConnectors( server );
+ server.setHandler( root );
server.start();
try
@@ -655,12 +661,12 @@ public abstract class HttpWagonTestCase
{
StreamingWagon wagon = (StreamingWagon) getWagon();
- Server server = new Server( 0 );
+ Server realServer = new Server( 0 );
TestHeaderHandler handler = new TestHeaderHandler();
- server.setHandler( handler );
- addConnectors( server );
- server.start();
+ realServer.setHandler( handler );
+ addConnectors( realServer );
+ realServer.start();
Server redirectServer = new Server( 0 );
@@ -679,10 +685,10 @@ public abstract class HttpWagonTestCase
protocol = "https";
}
- String redirectUrl = protocol + "://localhost:" + server.getConnectors()[0].getLocalPort();
+ String redirectUrl = protocol + "://localhost:" + realServer.getConnectors()[0].getLocalPort();
RedirectHandler redirectHandler =
- new RedirectHandler( "Found", HttpServletResponse.SC_SEE_OTHER, redirectUrl, null );
+ new RedirectHandler( "See Other", HttpServletResponse.SC_SEE_OTHER, redirectUrl, null );
redirectServer.setHandler( redirectHandler );
@@ -702,14 +708,15 @@ public abstract class HttpWagonTestCase
String found = FileUtils.fileRead( tmpResult );
assertEquals( "found:'" + found + "'", "Hello, World!", found );
+ checkHandlerResult( redirectHandler.handlerRequestResponses, HttpServletResponse.SC_SEE_OTHER );
checkHandlerResult( handler.handlerRequestResponses, HttpServletResponse.SC_OK );
- checkHandlerResult( redirectHandler.handlerRequestResponses, HttpServletResponse.SC_FOUND );
}
finally
{
wagon.disconnect();
- server.stop();
+ redirectServer.stop();
+ realServer.stop();
tmpResult.delete();
}
@@ -720,12 +727,12 @@ public abstract class HttpWagonTestCase
{
StreamingWagon wagon = (StreamingWagon) getWagon();
- Server server = new Server( 0 );
+ Server realServer = new Server( 0 );
TestHeaderHandler handler = new TestHeaderHandler();
- server.setHandler( handler );
- addConnectors( server );
- server.start();
+ realServer.setHandler( handler );
+ addConnectors( realServer );
+ realServer.start();
Server redirectServer = new Server( 0 );
@@ -744,10 +751,10 @@ public abstract class HttpWagonTestCase
protocol = "https";
}
- String redirectUrl = protocol + "://localhost:" + server.getConnectors()[0].getLocalPort();
+ String redirectUrl = protocol + "://localhost:" + realServer.getConnectors()[0].getLocalPort();
RedirectHandler redirectHandler =
- new RedirectHandler( "Found", HttpServletResponse.SC_SEE_OTHER, redirectUrl, null );
+ new RedirectHandler( "See Other", HttpServletResponse.SC_SEE_OTHER, redirectUrl, null );
redirectServer.setHandler( redirectHandler );
@@ -763,14 +770,15 @@ public abstract class HttpWagonTestCase
String found = FileUtils.fileRead( tmpResult );
assertEquals( "found:'" + found + "'", "Hello, World!", found );
+ checkHandlerResult( redirectHandler.handlerRequestResponses, HttpServletResponse.SC_SEE_OTHER );
checkHandlerResult( handler.handlerRequestResponses, HttpServletResponse.SC_OK );
- checkHandlerResult( redirectHandler.handlerRequestResponses, HttpServletResponse.SC_FOUND );
}
finally
{
wagon.disconnect();
- server.stop();
+ redirectServer.stop();
+ realServer.stop();
tmpResult.delete();
}
@@ -814,7 +822,7 @@ public abstract class HttpWagonTestCase
String redirectUrl = protocol + "://localhost:" + realServer.getConnectors()[0].getLocalPort();
RedirectHandler redirectHandler =
- new RedirectHandler( "Found", HttpServletResponse.SC_SEE_OTHER, redirectUrl, repositoryDirectory );
+ new RedirectHandler( "See Other", HttpServletResponse.SC_SEE_OTHER, redirectUrl, repositoryDirectory );
redirectServer.setHandler( redirectHandler );
@@ -839,17 +847,17 @@ public abstract class HttpWagonTestCase
try
{
wagon.putFromStream( fileInputStream, "test-secured-put-resource", content.length(), -1 );
+ assertEquals( content, FileUtils.fileRead( sourceFile.getAbsolutePath() ) );
+
+ checkRequestResponseForRedirectPutWithFullUrl( redirectHandler, putHandler );
}
finally
{
+ wagon.disconnect();
fileInputStream.close();
tempFile.delete();
-
}
- assertEquals( content, FileUtils.fileRead( sourceFile.getAbsolutePath() ) );
-
- checkRequestResponseForRedirectPutFromStreamWithFullUrl( putHandler, redirectHandler );
}
finally
{
@@ -858,11 +866,11 @@ public abstract class HttpWagonTestCase
}
}
- protected void checkRequestResponseForRedirectPutFromStreamWithFullUrl( PutHandler putHandler,
- RedirectHandler redirectHandler )
+ protected void checkRequestResponseForRedirectPutWithFullUrl( RedirectHandler redirectHandler,
+ PutHandler putHandler )
{
+ checkHandlerResult( redirectHandler.handlerRequestResponses, HttpServletResponse.SC_SEE_OTHER );
checkHandlerResult( putHandler.handlerRequestResponses, HttpServletResponse.SC_CREATED );
- checkHandlerResult( redirectHandler.handlerRequestResponses, HttpServletResponse.SC_FOUND );
}
public void testRedirectPutFromStreamRelativeUrl()
@@ -885,7 +893,7 @@ public abstract class HttpWagonTestCase
addConnectors( redirectServer );
RedirectHandler redirectHandler =
- new RedirectHandler( "Found", HttpServletResponse.SC_SEE_OTHER, "/redirectRequest/foo",
+ new RedirectHandler( "See Other", HttpServletResponse.SC_SEE_OTHER, "/redirectRequest/foo",
repositoryDirectory );
redirectServer.setHandler( redirectHandler );
@@ -911,18 +919,17 @@ public abstract class HttpWagonTestCase
try
{
wagon.putFromStream( fileInputStream, "test-secured-put-resource", content.length(), -1 );
+ assertEquals( content, FileUtils.fileRead( sourceFile.getAbsolutePath() ) );
+
+ checkRequestResponseForRedirectPutWithRelativeUrl( redirectHandler, putHandler );
}
finally
{
+ wagon.disconnect();
fileInputStream.close();
tempFile.delete();
-
}
- assertEquals( content, FileUtils.fileRead( sourceFile.getAbsolutePath() ) );
-
- checkRequestResponseForRedirectPutFromStreamWithRelativeUrl( putHandler, redirectHandler );
-
}
finally
{
@@ -931,12 +938,12 @@ public abstract class HttpWagonTestCase
}
}
- protected void checkRequestResponseForRedirectPutFromStreamWithRelativeUrl( PutHandler putHandler,
- RedirectHandler redirectHandler )
+ protected void checkRequestResponseForRedirectPutWithRelativeUrl( RedirectHandler redirectHandler,
+ PutHandler putHandler )
{
- checkHandlerResult( putHandler.handlerRequestResponses );
- checkHandlerResult( redirectHandler.handlerRequestResponses, HttpServletResponse.SC_FOUND,
+ checkHandlerResult( redirectHandler.handlerRequestResponses, HttpServletResponse.SC_SEE_OTHER,
HttpServletResponse.SC_CREATED );
+ checkHandlerResult( putHandler.handlerRequestResponses );
}
protected void checkHandlerResult( List<HandlerRequestResponse> handlerRequestResponses,
@@ -994,7 +1001,7 @@ public abstract class HttpWagonTestCase
String redirectUrl = protocol + "://localhost:" + realServer.getConnectors()[0].getLocalPort();
RedirectHandler redirectHandler =
- new RedirectHandler( "Found", HttpServletResponse.SC_SEE_OTHER, redirectUrl, repositoryDirectory );
+ new RedirectHandler( "See Other", HttpServletResponse.SC_SEE_OTHER, redirectUrl, repositoryDirectory );
redirectServer.setHandler( redirectHandler );
@@ -1018,14 +1025,16 @@ public abstract class HttpWagonTestCase
try
{
wagon.put( tempFile, "test-secured-put-resource" );
+ assertEquals( content, FileUtils.fileRead( sourceFile.getAbsolutePath() ) );
+
+ checkRequestResponseForRedirectPutWithFullUrl( redirectHandler, putHandler );
}
finally
{
+ wagon.disconnect();
tempFile.delete();
}
- assertEquals( content, FileUtils.fileRead( sourceFile.getAbsolutePath() ) );
-
}
finally
{
@@ -1055,7 +1064,7 @@ public abstract class HttpWagonTestCase
addConnectors( redirectServer );
RedirectHandler redirectHandler =
- new RedirectHandler( "Found", HttpServletResponse.SC_SEE_OTHER, "/redirectRequest/foo",
+ new RedirectHandler( "See Other", HttpServletResponse.SC_SEE_OTHER, "/redirectRequest/foo",
repositoryDirectory );
redirectServer.setHandler( redirectHandler );
@@ -1080,14 +1089,16 @@ public abstract class HttpWagonTestCase
try
{
wagon.put( tempFile, "test-secured-put-resource" );
+ assertEquals( content, FileUtils.fileRead( sourceFile.getAbsolutePath() ) );
+
+ checkRequestResponseForRedirectPutWithRelativeUrl( redirectHandler, putHandler );
}
finally
{
+ wagon.disconnect();
tempFile.delete();
}
- assertEquals( content, FileUtils.fileRead( sourceFile.getAbsolutePath() ) );
-
}
finally
{
@@ -1098,7 +1109,7 @@ public abstract class HttpWagonTestCase
/**
- *
+ *
*/
@SuppressWarnings( "checkstyle:visibilitymodifier" )
public static class RedirectHandler
@@ -1122,23 +1133,28 @@ public abstract class HttpWagonTestCase
this.repositoryDirectory = repositoryDirectory;
}
- public void handle( String s, HttpServletRequest req, HttpServletResponse resp, int i )
- throws IOException, ServletException
+ public void handle( String target, Request baseRequest, HttpServletRequest request,
+ HttpServletResponse response ) throws IOException, ServletException
{
- if ( req.getRequestURI().contains( "redirectRequest" ) )
+ if ( request.getRequestURI().contains( "redirectRequest" ) )
{
PutHandler putHandler = new PutHandler( this.repositoryDirectory );
- putHandler.handle( s, req, resp, i );
+ putHandler.handle( target, baseRequest, request, response );
handlerRequestResponses.add(
- new HandlerRequestResponse( req.getMethod(), ( (Response) resp ).getStatus(),
- req.getRequestURI() ) );
+ new HandlerRequestResponse( request.getMethod(), ( (Response) response ).getStatus(),
+ request.getRequestURI() ) );
return;
}
- resp.setStatus( this.retCode );
- resp.sendRedirect( this.redirectUrl + "/" + req.getRequestURI() );
+ response.setStatus( this.retCode );
+ response.setHeader( "Location", this.redirectUrl + request.getRequestURI() );
+ baseRequest.setHandled( true );
+
handlerRequestResponses.add(
- new HandlerRequestResponse( req.getMethod(), ( (Response) resp ).getStatus(), req.getRequestURI() ) );
+ new HandlerRequestResponse( request.getMethod(), ( (Response) response ).getStatus(),
+ request.getRequestURI() ) );
}
+
+
}
@@ -1342,7 +1358,17 @@ public abstract class HttpWagonTestCase
assertEquals( "top secret", IOUtil.toString( in ) );
- TestSecurityHandler securityHandler = (TestSecurityHandler) ( (Context) server.getHandler() ).getHandler();
+ /*
+ * We need to wait a bit for all Jetty workers/threads to complete their work. Otherwise
+ * we may suffer from race conditions where handlerRequestResponses list is not completely
+ * populated and its premature iteration in testPreemptiveAuthenticationGet will lead to
+ * a test failure.
+ */
+ // CHECKSTYLE_OFF: MagicNumber
+ Thread.sleep ( 2000L );
+ // CHECKSTYLE_ON: MagicNumber
+
+ TestSecurityHandler securityHandler = server.getChildHandlerByClass( TestSecurityHandler.class );
testPreemptiveAuthenticationGet( securityHandler, supportPreemptiveAuthenticationGet() );
}
@@ -1393,7 +1419,17 @@ public abstract class HttpWagonTestCase
assertEquals( "top secret", out.toString( "US-ASCII" ) );
- TestSecurityHandler securityHandler = (TestSecurityHandler) ( (Context) server.getHandler() ).getHandler();
+ /*
+ * We need to wait a bit for all Jetty workers/threads to complete their work. Otherwise
+ * we may suffer from race conditions where handlerRequestResponses list is not completely
+ * populated and its premature iteration in testPreemptiveAuthenticationGet will lead to
+ * a test failure.
+ */
+ // CHECKSTYLE_OFF: MagicNumber
+ Thread.sleep ( 2000L );
+ // CHECKSTYLE_ON: MagicNumber
+
+ TestSecurityHandler securityHandler = server.getChildHandlerByClass( TestSecurityHandler.class );
testPreemptiveAuthenticationGet( securityHandler, supportPreemptiveAuthenticationGet() );
}
finally
@@ -1483,10 +1519,10 @@ public abstract class HttpWagonTestCase
SecurityHandler sh = createSecurityHandler();
- Context root = new Context( Context.SESSIONS );
- root.setContextPath( "/" );
- root.addHandler( sh );
+ ServletContextHandler root = new ServletContextHandler( ServletContextHandler.SESSIONS
+ | ServletContextHandler.SECURITY );
root.setResourceBase( localRepositoryPath );
+ root.setSecurityHandler( sh );
ServletHolder servletHolder = new ServletHolder( new DefaultServlet() );
root.addServlet( servletHolder, "/*" );
@@ -1587,19 +1623,19 @@ public abstract class HttpWagonTestCase
AbstractHandler handler = new AbstractHandler()
{
- public void handle( String s, HttpServletRequest request, HttpServletResponse response, int i )
- throws IOException, ServletException
+ public void handle( String target, Request baseRequest, HttpServletRequest request,
+ HttpServletResponse response ) throws IOException, ServletException
{
if ( called.get() )
{
response.setStatus( HttpServletResponse.SC_INTERNAL_SERVER_ERROR );
- ( (Request) request ).setHandled( true );
+ baseRequest.setHandled( true );
}
else
{
called.set( true );
response.setStatus( SC_TOO_MANY_REQUESTS );
- ( (Request) request ).setHandled( true );
+ baseRequest.setHandled( true );
}
}
};
@@ -1725,10 +1761,8 @@ public abstract class HttpWagonTestCase
PutHandler putHandler = new PutHandler( new File( localRepositoryPath ) );
- HandlerCollection handlers = new HandlerCollection();
- handlers.setHandlers( new Handler[]{ sh, putHandler } );
-
- server.setHandler( handlers );
+ sh.setHandler( putHandler );
+ server.setHandler( sh );
addConnectors( server );
server.start();
@@ -1796,10 +1830,15 @@ public abstract class HttpWagonTestCase
PutHandler putHandler = new PutHandler( new File( localRepositoryPath ) );
- HandlerCollection handlers = new HandlerCollection();
- handlers.setHandlers( addSecurityHandler ? new Handler[]{ sh, putHandler } : new Handler[]{ putHandler } );
-
- server.setHandler( handlers );
+ if ( addSecurityHandler )
+ {
+ sh.setHandler( putHandler );
+ server.setHandler( sh );
+ }
+ else
+ {
+ server.setHandler( putHandler );
+ }
addConnectors( server );
server.start();
@@ -1871,29 +1910,29 @@ public abstract class HttpWagonTestCase
protected void testPreemptiveAuthenticationGet( TestSecurityHandler sh, boolean preemptive )
{
- testPreemptiveAuthentication( sh, preemptive );
+ testPreemptiveAuthentication( sh, preemptive, HttpServletResponse.SC_OK );
}
protected void testPreemptiveAuthenticationPut( TestSecurityHandler sh, boolean preemptive )
{
- testPreemptiveAuthentication( sh, preemptive );
+ testPreemptiveAuthentication( sh, preemptive, HttpServletResponse.SC_CREATED );
}
- protected void testPreemptiveAuthentication( TestSecurityHandler sh, boolean preemptive )
+ protected void testPreemptiveAuthentication( TestSecurityHandler sh, boolean preemptive, int statusCode )
{
if ( preemptive )
{
assertEquals( "not 1 security handler use " + sh.handlerRequestResponses, 1,
sh.handlerRequestResponses.size() );
- assertEquals( HttpServletResponse.SC_OK, sh.handlerRequestResponses.get( 0 ).responseCode );
+ assertEquals( statusCode, sh.handlerRequestResponses.get( 0 ).responseCode );
}
else
{
assertEquals( "not 2 security handler use " + sh.handlerRequestResponses, 2,
sh.handlerRequestResponses.size() );
assertEquals( HttpServletResponse.SC_UNAUTHORIZED, sh.handlerRequestResponses.get( 0 ).responseCode );
- assertEquals( HttpServletResponse.SC_OK, sh.handlerRequestResponses.get( 1 ).responseCode );
+ assertEquals( statusCode, sh.handlerRequestResponses.get( 1 ).responseCode );
}
}
@@ -1908,13 +1947,13 @@ public abstract class HttpWagonTestCase
this.status = status;
}
- public void handle( String target, HttpServletRequest request, HttpServletResponse response, int dispatch )
- throws IOException, ServletException
+ public void handle( String target, Request baseRequest, HttpServletRequest request,
+ HttpServletResponse response ) throws IOException, ServletException
{
if ( status != 0 )
{
response.setStatus( status );
- ( (Request) request ).setHandled( true );
+ baseRequest.setHandled( true );
}
}
}
@@ -1949,7 +1988,7 @@ public abstract class HttpWagonTestCase
}
/**
- *
+ *
*/
@SuppressWarnings( "checkstyle:visibilitymodifier" )
public static class PutHandler
@@ -1968,12 +2007,9 @@ public abstract class HttpWagonTestCase
this.resourceBase = repositoryDirectory;
}
- public void handle( String target, HttpServletRequest request, HttpServletResponse response, int dispatch )
- throws IOException, ServletException
+ public void handle( String target, Request baseRequest, HttpServletRequest request,
+ HttpServletResponse response ) throws IOException, ServletException
{
- Request baseRequest =
- request instanceof Request ? (Request) request : HttpConnection.getCurrentConnection().getRequest();
-
if ( baseRequest.isHandled() || !"PUT".equals( baseRequest.getMethod() ) )
{
return;
@@ -2023,8 +2059,8 @@ public abstract class HttpWagonTestCase
List<HandlerRequestResponse> handlerRequestResponses = new ArrayList<HandlerRequestResponse>();
- public void handle( String target, HttpServletRequest request, HttpServletResponse response, int dispatch )
- throws IOException, ServletException
+ public void handle( String target, Request baseRequest, HttpServletRequest request,
+ HttpServletResponse response ) throws IOException, ServletException
{
System.out.println( " handle proxy request" );
if ( request.getHeader( "Proxy-Authorization" ) == null )
@@ -2036,17 +2072,17 @@ public abstract class HttpWagonTestCase
response.setStatus( HttpServletResponse.SC_PROXY_AUTHENTICATION_REQUIRED );
response.addHeader( "Proxy-Authenticate", "Basic realm=\"Squid proxy-caching web server\"" );
- ( (Request) request ).setHandled( true );
+ baseRequest.setHandled( true );
return;
}
handlerRequestResponses.add(
new HandlerRequestResponse( request.getMethod(), HttpServletResponse.SC_OK, request.getRequestURI() ) );
- super.handle( target, request, response, dispatch );
+ super.handle( target, baseRequest, request, response );
}
}
/**
- *
+ *
*/
@SuppressWarnings( "checkstyle:visibilitymodifier" )
private static class TestHeaderHandler
@@ -2060,14 +2096,14 @@ public abstract class HttpWagonTestCase
{
}
- public void handle( String target, HttpServletRequest request, HttpServletResponse response, int dispatch )
- throws IOException, ServletException
+ public void handle( String target, Request baseRrequest, HttpServletRequest request,
+ HttpServletResponse response ) throws IOException, ServletException
{
headers = new HashMap<String, String>();
- for ( Enumeration<String> e = request.getHeaderNames(); e.hasMoreElements(); )
+ for ( Enumeration<String> e = baseRrequest.getHeaderNames(); e.hasMoreElements(); )
{
String name = e.nextElement();
- Enumeration headerValues = request.getHeaders( name );
+ Enumeration headerValues = baseRrequest.getHeaders( name );
// as per HTTP spec http://www.w3.org/Protocols/rfc2616/rfc2616-sec4.html
// multiple values for the same header key are concatenated separated by comma
// otherwise we wouldn't notice headers with same key added multiple times
@@ -2088,10 +2124,10 @@ public abstract class HttpWagonTestCase
response.getWriter().print( "Hello, World!" );
handlerRequestResponses.add(
- new HandlerRequestResponse( request.getMethod(), ( (Response) response ).getStatus(),
- request.getRequestURI() ) );
+ new HandlerRequestResponse( baseRrequest.getMethod(), ( (Response) response ).getStatus(),
+ baseRrequest.getRequestURI() ) );
- ( (Request) request ).setHandled( true );
+ baseRrequest.setHandled( true );
}
}
@@ -2108,39 +2144,38 @@ public abstract class HttpWagonTestCase
cm.setPathSpec( "/*" );
TestSecurityHandler sh = new TestSecurityHandler();
- HashUserRealm hashUserRealm = new HashUserRealm( "MyRealm" );
- hashUserRealm.put( "user", "secret" );
- hashUserRealm.addUserToRole( "user", "admin" );
- sh.setUserRealm( hashUserRealm );
+ HashLoginService hashLoginService = new HashLoginService( "MyRealm" );
+ hashLoginService.putUser( "user", new Password( "secret" ), new String[] { "admin" } );
+ sh.setLoginService( hashLoginService );
sh.setConstraintMappings( new ConstraintMapping[]{ cm } );
+ sh.setAuthenticator ( new BasicAuthenticator() );
return sh;
}
/**
- *
+ *
*/
@SuppressWarnings( "checkstyle:visibilitymodifier" )
public static class TestSecurityHandler
- extends SecurityHandler
+ extends ConstraintSecurityHandler
{
public List<HandlerRequestResponse> handlerRequestResponses = new ArrayList<HandlerRequestResponse>();
@Override
- public void handle( String target, HttpServletRequest request, HttpServletResponse response, int dispatch )
- throws IOException, ServletException
+ public void handle( String target, Request baseRequest, HttpServletRequest request,
+ HttpServletResponse response ) throws IOException, ServletException
{
String method = request.getMethod();
- super.handle( target, request, response, dispatch );
+ super.handle( target, baseRequest, request, response );
handlerRequestResponses.add(
new HandlerRequestResponse( method, ( (Response) response ).getStatus(), request.getRequestURI() ) );
}
-
}
/**
- *
+ *
*/
@SuppressWarnings( "checkstyle:visibilitymodifier" )
public static class HandlerRequestResponse
http://git-wip-us.apache.org/repos/asf/maven-wagon/blob/5ba0cf33/wagon-providers/wagon-file/src/test/java/org/apache/maven/wagon/providers/file/FileWagonTest.java
----------------------------------------------------------------------
diff --git a/wagon-providers/wagon-file/src/test/java/org/apache/maven/wagon/providers/file/FileWagonTest.java b/wagon-providers/wagon-file/src/test/java/org/apache/maven/wagon/providers/file/FileWagonTest.java
index 6692988..41da7d4 100644
--- a/wagon-providers/wagon-file/src/test/java/org/apache/maven/wagon/providers/file/FileWagonTest.java
+++ b/wagon-providers/wagon-file/src/test/java/org/apache/maven/wagon/providers/file/FileWagonTest.java
@@ -59,7 +59,7 @@ public class FileWagonTest
/**
* This test is introduced to allow for null file wagons.
* Which is used heavily in the maven component ITs.
- *
+ *
* @throws ConnectionException
* @throws AuthenticationException
*/
@@ -70,28 +70,29 @@ public class FileWagonTest
resource.setContentLength( 100000 );
Repository repository = new Repository();
wagon.connect( repository );
+ wagon.disconnect();
}
protected long getExpectedLastModifiedOnGet( Repository repository, Resource resource )
{
return new File( repository.getBasedir(), resource.getName() ).lastModified();
}
-
+
public void testResourceExists()
throws Exception
{
String url = "file://" + getBasedir();
-
+
Wagon wagon = new FileWagon();
Repository repository = new Repository( "someID", url );
wagon.connect( repository );
-
+
assertTrue( wagon.resourceExists( "target" ) );
assertTrue( wagon.resourceExists( "target/" ) );
assertTrue( wagon.resourceExists( "pom.xml" ) );
-
+
assertFalse( wagon.resourceExists( "pom.xml/" ) );
-
+
wagon.disconnect();
}
}
http://git-wip-us.apache.org/repos/asf/maven-wagon/blob/5ba0cf33/wagon-providers/wagon-http-lightweight/pom.xml
----------------------------------------------------------------------
diff --git a/wagon-providers/wagon-http-lightweight/pom.xml b/wagon-providers/wagon-http-lightweight/pom.xml
index 8a49d85..0a055b6 100644
--- a/wagon-providers/wagon-http-lightweight/pom.xml
+++ b/wagon-providers/wagon-http-lightweight/pom.xml
@@ -61,8 +61,8 @@ under the License.
<scope>test</scope>
</dependency>
<dependency>
- <groupId>org.mortbay.jetty</groupId>
- <artifactId>jetty</artifactId>
+ <groupId>org.eclipse.jetty.aggregate</groupId>
+ <artifactId>jetty-all</artifactId>
<scope>test</scope>
</dependency>
<dependency>
http://git-wip-us.apache.org/repos/asf/maven-wagon/blob/5ba0cf33/wagon-providers/wagon-http-lightweight/src/test/java/org/apache/maven/wagon/providers/http/LightweightHttpsWagonTest.java
----------------------------------------------------------------------
diff --git a/wagon-providers/wagon-http-lightweight/src/test/java/org/apache/maven/wagon/providers/http/LightweightHttpsWagonTest.java b/wagon-providers/wagon-http-lightweight/src/test/java/org/apache/maven/wagon/providers/http/LightweightHttpsWagonTest.java
index 3b532eb..fe30c83 100644
--- a/wagon-providers/wagon-http-lightweight/src/test/java/org/apache/maven/wagon/providers/http/LightweightHttpsWagonTest.java
+++ b/wagon-providers/wagon-http-lightweight/src/test/java/org/apache/maven/wagon/providers/http/LightweightHttpsWagonTest.java
@@ -19,9 +19,9 @@ package org.apache.maven.wagon.providers.http;
* under the License.
*/
-import org.mortbay.jetty.Connector;
-import org.mortbay.jetty.Server;
-import org.mortbay.jetty.security.SslSocketConnector;
+import org.eclipse.jetty.server.Connector;
+import org.eclipse.jetty.server.Server;
+import org.eclipse.jetty.server.ssl.SslSocketConnector;
public class LightweightHttpsWagonTest
extends LightweightHttpWagonTest
http://git-wip-us.apache.org/repos/asf/maven-wagon/blob/5ba0cf33/wagon-providers/wagon-http/pom.xml
----------------------------------------------------------------------
diff --git a/wagon-providers/wagon-http/pom.xml b/wagon-providers/wagon-http/pom.xml
index ab0f622..cb77216 100644
--- a/wagon-providers/wagon-http/pom.xml
+++ b/wagon-providers/wagon-http/pom.xml
@@ -78,13 +78,13 @@ under the License.
<scope>test</scope>
</dependency>
<dependency>
- <groupId>org.mortbay.jetty</groupId>
- <artifactId>jetty</artifactId>
+ <groupId>org.eclipse.jetty.aggregate</groupId>
+ <artifactId>jetty-all</artifactId>
<scope>test</scope>
</dependency>
<dependency>
- <groupId>org.mortbay.jetty</groupId>
- <artifactId>servlet-api</artifactId>
+ <groupId>javax.servlet</groupId>
+ <artifactId>javax.servlet-api</artifactId>
<scope>test</scope>
</dependency>
<dependency>
@@ -164,6 +164,8 @@ under the License.
<systemPropertyVariables>
<maven.wagon.http.ssl.insecure>true</maven.wagon.http.ssl.insecure>
<maven.wagon.http.ssl.ignore.validity.dates>true</maven.wagon.http.ssl.ignore.validity.dates>
+ <org.slf4j.simpleLogger.showDateTime>true</org.slf4j.simpleLogger.showDateTime>
+ <org.slf4j.simpleLogger.dateTimeFormat>yyyy-MM-dd'T'HH:mm:ss.SSS</org.slf4j.simpleLogger.dateTimeFormat>
</systemPropertyVariables>
</configuration>
</plugin>
http://git-wip-us.apache.org/repos/asf/maven-wagon/blob/5ba0cf33/wagon-providers/wagon-http/src/test/java/org/apache/maven/wagon/providers/http/AbstractHttpClientWagonTest.java
----------------------------------------------------------------------
diff --git a/wagon-providers/wagon-http/src/test/java/org/apache/maven/wagon/providers/http/AbstractHttpClientWagonTest.java b/wagon-providers/wagon-http/src/test/java/org/apache/maven/wagon/providers/http/AbstractHttpClientWagonTest.java
index c1814f4..15b1f6b 100644
--- a/wagon-providers/wagon-http/src/test/java/org/apache/maven/wagon/providers/http/AbstractHttpClientWagonTest.java
+++ b/wagon-providers/wagon-http/src/test/java/org/apache/maven/wagon/providers/http/AbstractHttpClientWagonTest.java
@@ -47,5 +47,7 @@ public class AbstractHttpClientWagonTest
inputData.setResource( resource );
wagon.fillInputData( inputData );
+
+ wagon.disconnect();
}
}
http://git-wip-us.apache.org/repos/asf/maven-wagon/blob/5ba0cf33/wagon-providers/wagon-http/src/test/java/org/apache/maven/wagon/providers/http/HttpWagonHttpServerTestCase.java
----------------------------------------------------------------------
diff --git a/wagon-providers/wagon-http/src/test/java/org/apache/maven/wagon/providers/http/HttpWagonHttpServerTestCase.java b/wagon-providers/wagon-http/src/test/java/org/apache/maven/wagon/providers/http/HttpWagonHttpServerTestCase.java
index b5ef1e8..5e7e72b 100644
--- a/wagon-providers/wagon-http/src/test/java/org/apache/maven/wagon/providers/http/HttpWagonHttpServerTestCase.java
+++ b/wagon-providers/wagon-http/src/test/java/org/apache/maven/wagon/providers/http/HttpWagonHttpServerTestCase.java
@@ -21,9 +21,9 @@ package org.apache.maven.wagon.providers.http;
import org.apache.maven.wagon.Wagon;
import org.codehaus.plexus.PlexusTestCase;
-import org.mortbay.jetty.Server;
-import org.mortbay.jetty.handler.ResourceHandler;
-import org.mortbay.jetty.servlet.Context;
+import org.eclipse.jetty.server.Server;
+import org.eclipse.jetty.server.handler.ResourceHandler;
+import org.eclipse.jetty.servlet.ServletContextHandler;
/**
* User: jdumay Date: 24/01/2008 Time: 18:15:53
@@ -37,7 +37,7 @@ public abstract class HttpWagonHttpServerTestCase
protected ResourceHandler resourceHandler;
- protected Context context;
+ protected ServletContextHandler context;
protected void setUp()
throws Exception
@@ -45,10 +45,10 @@ public abstract class HttpWagonHttpServerTestCase
super.setUp();
server = new Server( httpServerPort );
- context = new Context( server, "/", Context.SESSIONS );
-
+ context = new ServletContextHandler( ServletContextHandler.SESSIONS );
resourceHandler = new ResourceHandler();
- server.addHandler( resourceHandler );
+ context.setHandler( resourceHandler );
+ server.setHandler( context );
}
protected Wagon getWagon()
http://git-wip-us.apache.org/repos/asf/maven-wagon/blob/5ba0cf33/wagon-providers/wagon-http/src/test/java/org/apache/maven/wagon/providers/http/HttpWagonReasonPhraseTest.java
----------------------------------------------------------------------
diff --git a/wagon-providers/wagon-http/src/test/java/org/apache/maven/wagon/providers/http/HttpWagonReasonPhraseTest.java b/wagon-providers/wagon-http/src/test/java/org/apache/maven/wagon/providers/http/HttpWagonReasonPhraseTest.java
index 32cbf32..484d638 100644
--- a/wagon-providers/wagon-http/src/test/java/org/apache/maven/wagon/providers/http/HttpWagonReasonPhraseTest.java
+++ b/wagon-providers/wagon-http/src/test/java/org/apache/maven/wagon/providers/http/HttpWagonReasonPhraseTest.java
@@ -24,7 +24,7 @@ import org.apache.maven.wagon.TransferFailedException;
import org.apache.maven.wagon.Wagon;
import org.apache.maven.wagon.authorization.AuthorizationException;
import org.apache.maven.wagon.repository.Repository;
-import org.mortbay.jetty.servlet.ServletHolder;
+import org.eclipse.jetty.servlet.ServletHolder;
import java.io.File;
http://git-wip-us.apache.org/repos/asf/maven-wagon/blob/5ba0cf33/wagon-providers/wagon-http/src/test/java/org/apache/maven/wagon/providers/http/HttpWagonTimeoutTest.java
----------------------------------------------------------------------
diff --git a/wagon-providers/wagon-http/src/test/java/org/apache/maven/wagon/providers/http/HttpWagonTimeoutTest.java b/wagon-providers/wagon-http/src/test/java/org/apache/maven/wagon/providers/http/HttpWagonTimeoutTest.java
index c223f23..5983b4f 100644
--- a/wagon-providers/wagon-http/src/test/java/org/apache/maven/wagon/providers/http/HttpWagonTimeoutTest.java
+++ b/wagon-providers/wagon-http/src/test/java/org/apache/maven/wagon/providers/http/HttpWagonTimeoutTest.java
@@ -23,7 +23,7 @@ import org.apache.maven.wagon.FileTestUtils;
import org.apache.maven.wagon.TransferFailedException;
import org.apache.maven.wagon.Wagon;
import org.apache.maven.wagon.repository.Repository;
-import org.mortbay.jetty.servlet.ServletHolder;
+import org.eclipse.jetty.servlet.ServletHolder;
import java.io.File;
import java.util.Random;
@@ -198,6 +198,8 @@ public class HttpWagonTimeoutTest
wagon.getFileList( "/foobar" );
long end = System.currentTimeMillis();
+ wagon.disconnect();
+
// validate we have a default time out 60000
assertTrue( (end - start) >= 500 && (end - start) < 1000 );
http://git-wip-us.apache.org/repos/asf/maven-wagon/blob/5ba0cf33/wagon-providers/wagon-http/src/test/java/org/apache/maven/wagon/providers/http/HttpsWagonPreemptiveTest.java
----------------------------------------------------------------------
diff --git a/wagon-providers/wagon-http/src/test/java/org/apache/maven/wagon/providers/http/HttpsWagonPreemptiveTest.java b/wagon-providers/wagon-http/src/test/java/org/apache/maven/wagon/providers/http/HttpsWagonPreemptiveTest.java
index 396823b..ace5b3c 100644
--- a/wagon-providers/wagon-http/src/test/java/org/apache/maven/wagon/providers/http/HttpsWagonPreemptiveTest.java
+++ b/wagon-providers/wagon-http/src/test/java/org/apache/maven/wagon/providers/http/HttpsWagonPreemptiveTest.java
@@ -20,9 +20,9 @@ package org.apache.maven.wagon.providers.http;
*/
import org.apache.maven.wagon.Wagon;
-import org.mortbay.jetty.Connector;
-import org.mortbay.jetty.Server;
-import org.mortbay.jetty.security.SslSocketConnector;
+import org.eclipse.jetty.server.Connector;
+import org.eclipse.jetty.server.Server;
+import org.eclipse.jetty.server.ssl.SslSocketConnector;
public class HttpsWagonPreemptiveTest
extends HttpWagonTest
http://git-wip-us.apache.org/repos/asf/maven-wagon/blob/5ba0cf33/wagon-providers/wagon-http/src/test/java/org/apache/maven/wagon/providers/http/HttpsWagonTest.java
----------------------------------------------------------------------
diff --git a/wagon-providers/wagon-http/src/test/java/org/apache/maven/wagon/providers/http/HttpsWagonTest.java b/wagon-providers/wagon-http/src/test/java/org/apache/maven/wagon/providers/http/HttpsWagonTest.java
index c22b3ef..7d0de20 100644
--- a/wagon-providers/wagon-http/src/test/java/org/apache/maven/wagon/providers/http/HttpsWagonTest.java
+++ b/wagon-providers/wagon-http/src/test/java/org/apache/maven/wagon/providers/http/HttpsWagonTest.java
@@ -19,9 +19,9 @@ package org.apache.maven.wagon.providers.http;
* under the License.
*/
-import org.mortbay.jetty.Connector;
-import org.mortbay.jetty.Server;
-import org.mortbay.jetty.security.SslSocketConnector;
+import org.eclipse.jetty.server.Connector;
+import org.eclipse.jetty.server.Server;
+import org.eclipse.jetty.server.ssl.SslSocketConnector;
public class HttpsWagonTest
extends HttpWagonTest
http://git-wip-us.apache.org/repos/asf/maven-wagon/blob/5ba0cf33/wagon-providers/wagon-http/src/test/java/org/apache/maven/wagon/providers/http/HugeFileDownloadTest.java
----------------------------------------------------------------------
diff --git a/wagon-providers/wagon-http/src/test/java/org/apache/maven/wagon/providers/http/HugeFileDownloadTest.java b/wagon-providers/wagon-http/src/test/java/org/apache/maven/wagon/providers/http/HugeFileDownloadTest.java
index 0b6566d..ae9046f 100644
--- a/wagon-providers/wagon-http/src/test/java/org/apache/maven/wagon/providers/http/HugeFileDownloadTest.java
+++ b/wagon-providers/wagon-http/src/test/java/org/apache/maven/wagon/providers/http/HugeFileDownloadTest.java
@@ -24,10 +24,12 @@ import org.apache.maven.wagon.Wagon;
import org.apache.maven.wagon.observers.Debug;
import org.apache.maven.wagon.repository.Repository;
import org.codehaus.plexus.PlexusTestCase;
-import org.mortbay.jetty.Server;
-import org.mortbay.jetty.servlet.Context;
-import org.mortbay.jetty.servlet.DefaultServlet;
-import org.mortbay.jetty.servlet.ServletHolder;
+import org.codehaus.plexus.util.IOUtil;
+import org.eclipse.jetty.server.Server;
+import org.eclipse.jetty.servlet.ServletContextHandler;
+import org.eclipse.jetty.servlet.ServletHolder;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
@@ -45,6 +47,8 @@ public class HugeFileDownloadTest
extends PlexusTestCase
{
+ private static final Logger LOGGER = LoggerFactory.getLogger( HugeFileDownloadTest.class );
+
private static long HUGE_FILE_SIZE =
Integer.valueOf( Integer.MAX_VALUE ).longValue() + Integer.valueOf( Integer.MAX_VALUE ).longValue();
@@ -53,7 +57,7 @@ public class HugeFileDownloadTest
public void testDownloadHugeFileWithContentLength()
throws Exception
{
- File hugeFile = new File( getBasedir(), "target/hugefile.txt" );
+ final File hugeFile = new File( getBasedir(), "target/hugefile.txt" );
if ( !hugeFile.exists() || hugeFile.length() < HUGE_FILE_SIZE )
{
makeHugeFile( hugeFile );
@@ -61,10 +65,23 @@ public class HugeFileDownloadTest
server = new Server( 0 );
- Context root = new Context( server, "/", Context.SESSIONS );
+ ServletContextHandler root = new ServletContextHandler( ServletContextHandler.SESSIONS );
root.setResourceBase( new File( getBasedir(), "target" ).getAbsolutePath() );
- ServletHolder servletHolder = new ServletHolder( new DefaultServlet() );
+ ServletHolder servletHolder = new ServletHolder( new HttpServlet()
+ {
+ @Override
+ protected void doGet( HttpServletRequest req, HttpServletResponse resp )
+ throws ServletException, IOException
+ {
+ FileInputStream fis = new FileInputStream( hugeFile );
+
+ resp.addHeader( "Content-Length", String.valueOf( hugeFile.length() ) );
+ IOUtil.copy( fis, resp.getOutputStream() );
+ fis.close();
+ }
+ } );
root.addServlet( servletHolder, "/*" );
+ server.setHandler( root );
server.start();
@@ -76,20 +93,21 @@ public class HugeFileDownloadTest
dest = File.createTempFile( "huge", "txt" );
+ LOGGER.info( "Fetching 'hugefile.txt' with content length" );
wagon.get( "hugefile.txt", dest );
Assert.assertTrue( dest.length() >= HUGE_FILE_SIZE );
+ LOGGER.info( "The file was successfully fetched" );
wagon.disconnect();
}
finally
{
- server.start();
+ server.stop();
dest.delete();
hugeFile.delete();
}
-
}
public void testDownloadHugeFileWithChunked()
@@ -103,7 +121,7 @@ public class HugeFileDownloadTest
server = new Server( 0 );
- Context root = new Context( server, "/", Context.SESSIONS );
+ ServletContextHandler root = new ServletContextHandler( ServletContextHandler.SESSIONS );
root.setResourceBase( new File( getBasedir(), "target" ).getAbsolutePath() );
ServletHolder servletHolder = new ServletHolder( new HttpServlet()
{
@@ -113,16 +131,12 @@ public class HugeFileDownloadTest
{
FileInputStream fis = new FileInputStream( hugeFile );
- byte[] buffer = new byte[8192];
- int len = 0;
- while ( ( len = fis.read( buffer ) ) != -1 )
- {
- resp.getOutputStream().write( buffer, 0, len );
- }
+ IOUtil.copy( fis, resp.getOutputStream() );
fis.close();
}
} );
root.addServlet( servletHolder, "/*" );
+ server.setHandler( root );
server.start();
@@ -134,23 +148,23 @@ public class HugeFileDownloadTest
dest = File.createTempFile( "huge", "txt" );
+ LOGGER.info( "Fetching 'hugefile.txt' in chunks" );
wagon.get( "hugefile.txt", dest );
Assert.assertTrue( dest.length() >= HUGE_FILE_SIZE );
+ LOGGER.info( "The file was successfully fetched" );
wagon.disconnect();
}
finally
{
- server.start();
+ server.stop();
dest.delete();
hugeFile.delete();
}
-
}
-
protected Wagon getWagon()
throws Exception
{
@@ -166,11 +180,13 @@ public class HugeFileDownloadTest
private void makeHugeFile( File hugeFile )
throws Exception
{
+ LOGGER.info( "Creating test file" );
RandomAccessFile ra = new RandomAccessFile( hugeFile.getPath(), "rw" );
- ra.setLength( HUGE_FILE_SIZE + 1 );
+ ra.setLength( HUGE_FILE_SIZE + 1L );
ra.seek( HUGE_FILE_SIZE );
ra.write( 1 );
-
+ ra.close();
+ LOGGER.info( "Test file created" );
}
}
http://git-wip-us.apache.org/repos/asf/maven-wagon/blob/5ba0cf33/wagon-providers/wagon-ssh/pom.xml
----------------------------------------------------------------------
diff --git a/wagon-providers/wagon-ssh/pom.xml b/wagon-providers/wagon-ssh/pom.xml
index 2052c6c..1c7a9b6 100644
--- a/wagon-providers/wagon-ssh/pom.xml
+++ b/wagon-providers/wagon-ssh/pom.xml
@@ -68,13 +68,13 @@ under the License.
<scope>test</scope>
</dependency>
<dependency>
- <groupId>org.mortbay.jetty</groupId>
- <artifactId>jetty</artifactId>
+ <groupId>org.eclipse.jetty.aggregate</groupId>
+ <artifactId>jetty-all</artifactId>
<scope>test</scope>
</dependency>
<dependency>
- <groupId>org.mortbay.jetty</groupId>
- <artifactId>servlet-api</artifactId>
+ <groupId>javax.servlet</groupId>
+ <artifactId>javax.servlet-api</artifactId>
<scope>test</scope>
</dependency>
<dependency>
http://git-wip-us.apache.org/repos/asf/maven-wagon/blob/5ba0cf33/wagon-providers/wagon-ssh/src/test/java/org/apache/maven/wagon/providers/ssh/jsch/ScpWagonWithProxyTest.java
----------------------------------------------------------------------
diff --git a/wagon-providers/wagon-ssh/src/test/java/org/apache/maven/wagon/providers/ssh/jsch/ScpWagonWithProxyTest.java b/wagon-providers/wagon-ssh/src/test/java/org/apache/maven/wagon/providers/ssh/jsch/ScpWagonWithProxyTest.java
index 9d5f985..f21a6f5 100644
--- a/wagon-providers/wagon-ssh/src/test/java/org/apache/maven/wagon/providers/ssh/jsch/ScpWagonWithProxyTest.java
+++ b/wagon-providers/wagon-ssh/src/test/java/org/apache/maven/wagon/providers/ssh/jsch/ScpWagonWithProxyTest.java
@@ -34,10 +34,10 @@ import org.apache.maven.wagon.authentication.AuthenticationException;
import org.apache.maven.wagon.proxy.ProxyInfo;
import org.apache.maven.wagon.repository.Repository;
import org.codehaus.plexus.PlexusTestCase;
-import org.mortbay.jetty.Handler;
-import org.mortbay.jetty.Request;
-import org.mortbay.jetty.Server;
-import org.mortbay.jetty.handler.AbstractHandler;
+import org.eclipse.jetty.server.Handler;
+import org.eclipse.jetty.server.Request;
+import org.eclipse.jetty.server.Server;
+import org.eclipse.jetty.server.handler.AbstractHandler;
public class ScpWagonWithProxyTest
extends PlexusTestCase
@@ -50,13 +50,13 @@ public class ScpWagonWithProxyTest
handled = false;
Handler handler = new AbstractHandler()
{
- public void handle( String target, HttpServletRequest request, HttpServletResponse response, int dispatch )
- throws IOException, ServletException
+ public void handle( String target, Request baseRequest, HttpServletRequest request,
+ HttpServletResponse response ) throws IOException, ServletException
{
assertEquals( "CONNECT", request.getMethod() );
handled = true;
- ( (Request) request ).setHandled( true );
+ baseRequest.setHandled( true );
}
};
@@ -83,10 +83,8 @@ public class ScpWagonWithProxyTest
}
finally
{
- if ( server != null )
- {
- server.stop();
- }
+ wagon.disconnect();
+ server.stop();
}
}
@@ -120,6 +118,7 @@ public class ScpWagonWithProxyTest
}
finally
{
+ wagon.disconnect();
t.interrupt();
}
}
@@ -165,7 +164,7 @@ public class ScpWagonWithProxyTest
{
continue;
}
-
+
handled = true;
}
catch ( IOException e )
http://git-wip-us.apache.org/repos/asf/maven-wagon/blob/5ba0cf33/wagon-providers/wagon-webdav-jackrabbit/pom.xml
----------------------------------------------------------------------
diff --git a/wagon-providers/wagon-webdav-jackrabbit/pom.xml b/wagon-providers/wagon-webdav-jackrabbit/pom.xml
index b6ee24f..3b119ab 100644
--- a/wagon-providers/wagon-webdav-jackrabbit/pom.xml
+++ b/wagon-providers/wagon-webdav-jackrabbit/pom.xml
@@ -106,8 +106,8 @@ under the License.
<scope>test</scope>
</dependency>
<dependency>
- <groupId>org.mortbay.jetty</groupId>
- <artifactId>jetty</artifactId>
+ <groupId>org.eclipse.jetty.aggregate</groupId>
+ <artifactId>jetty-all</artifactId>
<scope>test</scope>
</dependency>
<dependency>
@@ -121,7 +121,7 @@ under the License.
<groupId>org.slf4j</groupId>
<artifactId>slf4j-simple</artifactId>
</dependency>
-
+
<dependency>
<groupId>biz.aQute</groupId>
<artifactId>bnd</artifactId>
@@ -165,5 +165,5 @@ under the License.
</executions>
</plugin>
</plugins>
- </build>
+ </build>
</project>
http://git-wip-us.apache.org/repos/asf/maven-wagon/blob/5ba0cf33/wagon-providers/wagon-webdav-jackrabbit/src/test/java/org/apache/maven/wagon/providers/webdav/WebDavWagonTest.java
----------------------------------------------------------------------
diff --git a/wagon-providers/wagon-webdav-jackrabbit/src/test/java/org/apache/maven/wagon/providers/webdav/WebDavWagonTest.java b/wagon-providers/wagon-webdav-jackrabbit/src/test/java/org/apache/maven/wagon/providers/webdav/WebDavWagonTest.java
index 1bab212..b5ca481 100644
--- a/wagon-providers/wagon-webdav-jackrabbit/src/test/java/org/apache/maven/wagon/providers/webdav/WebDavWagonTest.java
+++ b/wagon-providers/wagon-webdav-jackrabbit/src/test/java/org/apache/maven/wagon/providers/webdav/WebDavWagonTest.java
@@ -6,9 +6,9 @@ package org.apache.maven.wagon.providers.webdav;
* copyright ownership. The ASF 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
@@ -25,9 +25,9 @@ import org.apache.maven.wagon.Wagon;
import org.apache.maven.wagon.http.HttpWagonTestCase;
import org.apache.maven.wagon.repository.Repository;
import org.apache.maven.wagon.resource.Resource;
-import org.mortbay.jetty.Server;
-import org.mortbay.jetty.servlet.Context;
-import org.mortbay.jetty.servlet.ServletHolder;
+import org.eclipse.jetty.server.Server;
+import org.eclipse.jetty.servlet.ServletContextHandler;
+import org.eclipse.jetty.servlet.ServletHolder;
import java.io.File;
import java.io.IOException;
@@ -35,11 +35,13 @@ import java.net.SocketTimeoutException;
import java.util.List;
import java.util.Properties;
+import javax.servlet.http.HttpServletResponse;
+
/*
* WebDAV Wagon Test
- *
+ *
* @author <a href="mailto:joakim@erdfelt.com">Joakim Erdfelt</a>
- *
+ *
* @author <a href="mailto:carlos@apache.org">Carlos Sanchez</a>
*/
public class WebDavWagonTest
@@ -56,20 +58,21 @@ public class WebDavWagonTest
return "dav";
}
- protected void createContext( Server server, File repositoryDirectory )
+ protected ServletContextHandler createContext( Server server, File repositoryDirectory )
throws IOException
{
- Context dav = new Context( server, "/", Context.SESSIONS );
+ ServletContextHandler dav = new ServletContextHandler( ServletContextHandler.SESSIONS );
ServletHolder davServletHolder = new ServletHolder( new DAVServlet() );
davServletHolder.setInitParameter( "rootPath", repositoryDirectory.getAbsolutePath() );
davServletHolder.setInitParameter( "xmlOnly", "false" );
dav.addServlet( davServletHolder, "/*" );
+ return dav;
}
protected long getExpectedLastModifiedOnGet( Repository repository, Resource resource )
{
File file = new File( getDavRepository(), resource.getName() );
- return ( file.lastModified() / 1000 ) * 1000;
+ return ( file.lastModified() / 1000L ) * 1000L;
}
@@ -422,14 +425,14 @@ public class WebDavWagonTest
{
assertEquals( "testPreemptiveAuthenticationGet preemptive=true: expected 1 request, got "
+ sh.handlerRequestResponses, 1, sh.handlerRequestResponses.size() );
- assertEquals( 200, sh.handlerRequestResponses.get( 0 ).responseCode );
+ assertEquals( HttpServletResponse.SC_OK, sh.handlerRequestResponses.get( 0 ).responseCode );
}
else
{
assertEquals( "testPreemptiveAuthenticationGet preemptive=false: expected 2 requests (401,200), got "
+ sh.handlerRequestResponses, 2, sh.handlerRequestResponses.size() );
- assertEquals( 401, sh.handlerRequestResponses.get( 0 ).responseCode );
- assertEquals( 200, sh.handlerRequestResponses.get( 1 ).responseCode );
+ assertEquals( HttpServletResponse.SC_UNAUTHORIZED, sh.handlerRequestResponses.get( 0 ).responseCode );
+ assertEquals( HttpServletResponse.SC_OK, sh.handlerRequestResponses.get( 1 ).responseCode );
}
}
@@ -437,64 +440,70 @@ public class WebDavWagonTest
{
if ( preemptive )
{
- assertEquals( "testPreemptiveAuthenticationPut preemptive=true: expected 2 requests (200,.), got "
+ assertEquals( "testPreemptiveAuthenticationPut preemptive=true: expected 2 requests (200,201), got "
+ sh.handlerRequestResponses, 2, sh.handlerRequestResponses.size() );
- assertEquals( 200, sh.handlerRequestResponses.get( 0 ).responseCode );
+ assertEquals( HttpServletResponse.SC_OK, sh.handlerRequestResponses.get( 0 ).responseCode );
+ assertEquals( HttpServletResponse.SC_CREATED, sh.handlerRequestResponses.get( 1 ).responseCode );
}
else
{
- assertEquals( "testPreemptiveAuthenticationPut preemptive=false: expected 3 requests (401,200,.), got "
+ assertEquals( "testPreemptiveAuthenticationPut preemptive=false: expected 3 requests (401,200,201), got "
+ sh.handlerRequestResponses, 3, sh.handlerRequestResponses.size() );
- assertEquals( 401, sh.handlerRequestResponses.get( 0 ).responseCode );
- assertEquals( 200, sh.handlerRequestResponses.get( 1 ).responseCode );
+ assertEquals( HttpServletResponse.SC_UNAUTHORIZED, sh.handlerRequestResponses.get( 0 ).responseCode );
+ assertEquals( HttpServletResponse.SC_OK, sh.handlerRequestResponses.get( 1 ).responseCode );
+ assertEquals( HttpServletResponse.SC_CREATED, sh.handlerRequestResponses.get( 2 ).responseCode );
}
}
- @Override
+ /* This method cannot be reasonable used to represend GET and PUT for WebDAV, it would contain too much
+ * duplicate code. Leave as-is, but don't use it.
+ */
protected void testPreemptiveAuthentication( TestSecurityHandler sh, boolean preemptive )
{
if ( preemptive )
{
assertEquals( "testPreemptiveAuthentication preemptive=false: expected 2 requests (200,.), got "
+ sh.handlerRequestResponses, 2, sh.handlerRequestResponses.size() );
- assertEquals( 200, sh.handlerRequestResponses.get( 0 ).responseCode );
+ assertEquals( HttpServletResponse.SC_OK, sh.handlerRequestResponses.get( 0 ).responseCode );
}
else
{
assertEquals( "testPreemptiveAuthentication preemptive=false: expected 3 requests (401,200,200), got "
+ sh.handlerRequestResponses, 3, sh.handlerRequestResponses.size() );
- assertEquals( 401, sh.handlerRequestResponses.get( 0 ).responseCode );
- assertEquals( 200, sh.handlerRequestResponses.get( 1 ).responseCode );
- assertEquals( 200, sh.handlerRequestResponses.get( 2 ).responseCode );
+ assertEquals( HttpServletResponse.SC_UNAUTHORIZED, sh.handlerRequestResponses.get( 0 ).responseCode );
+ assertEquals( HttpServletResponse.SC_OK, sh.handlerRequestResponses.get( 1 ).responseCode );
+ assertEquals( HttpServletResponse.SC_OK, sh.handlerRequestResponses.get( 2 ).responseCode );
}
}
- protected void checkRequestResponseForRedirectPutFromStreamWithFullUrl( PutHandler putHandler,
- RedirectHandler redirectHandler )
+ @Override
+ protected void checkRequestResponseForRedirectPutWithFullUrl( RedirectHandler redirectHandler,
+ PutHandler putHandler )
{
assertEquals( "found:" + putHandler.handlerRequestResponses, 1, putHandler.handlerRequestResponses.size() );
- assertEquals( "found:" + putHandler.handlerRequestResponses, 201,
+ assertEquals( "found:" + putHandler.handlerRequestResponses, HttpServletResponse.SC_CREATED,
putHandler.handlerRequestResponses.get( 0 ).responseCode );
assertEquals( "found:" + redirectHandler.handlerRequestResponses, 3,
redirectHandler.handlerRequestResponses.size() );
- assertEquals( "found:" + redirectHandler.handlerRequestResponses, 302,
+ assertEquals( "found:" + redirectHandler.handlerRequestResponses, HttpServletResponse.SC_SEE_OTHER,
redirectHandler.handlerRequestResponses.get( 0 ).responseCode );
}
- protected void checkRequestResponseForRedirectPutFromStreamWithRelativeUrl( PutHandler putHandler,
- RedirectHandler redirectHandler )
+ @Override
+ protected void checkRequestResponseForRedirectPutWithRelativeUrl( RedirectHandler redirectHandler,
+ PutHandler putHandler )
{
assertEquals( "found:" + putHandler.handlerRequestResponses, 0, putHandler.handlerRequestResponses.size() );
assertEquals( "found:" + redirectHandler.handlerRequestResponses, 4,
redirectHandler.handlerRequestResponses.size() );
- assertEquals( "found:" + redirectHandler.handlerRequestResponses, 302,
+ assertEquals( "found:" + redirectHandler.handlerRequestResponses, HttpServletResponse.SC_SEE_OTHER,
redirectHandler.handlerRequestResponses.get( 0 ).responseCode );
- assertEquals( "found:" + redirectHandler.handlerRequestResponses, 302,
+ assertEquals( "found:" + redirectHandler.handlerRequestResponses, HttpServletResponse.SC_SEE_OTHER,
redirectHandler.handlerRequestResponses.get( 1 ).responseCode );
- assertEquals( "found:" + redirectHandler.handlerRequestResponses, 201,
+ assertEquals( "found:" + redirectHandler.handlerRequestResponses, HttpServletResponse.SC_CREATED,
redirectHandler.handlerRequestResponses.get( 3 ).responseCode );
}
http://git-wip-us.apache.org/repos/asf/maven-wagon/blob/5ba0cf33/wagon-providers/wagon-webdav-jackrabbit/src/test/java/org/apache/maven/wagon/providers/webdav/WebDavsWagonTest.java
----------------------------------------------------------------------
diff --git a/wagon-providers/wagon-webdav-jackrabbit/src/test/java/org/apache/maven/wagon/providers/webdav/WebDavsWagonTest.java b/wagon-providers/wagon-webdav-jackrabbit/src/test/java/org/apache/maven/wagon/providers/webdav/WebDavsWagonTest.java
index ba18510..2ac44d6 100644
--- a/wagon-providers/wagon-webdav-jackrabbit/src/test/java/org/apache/maven/wagon/providers/webdav/WebDavsWagonTest.java
+++ b/wagon-providers/wagon-webdav-jackrabbit/src/test/java/org/apache/maven/wagon/providers/webdav/WebDavsWagonTest.java
@@ -1,8 +1,8 @@
package org.apache.maven.wagon.providers.webdav;
-import org.mortbay.jetty.Connector;
-import org.mortbay.jetty.Server;
-import org.mortbay.jetty.security.SslSocketConnector;
+import org.eclipse.jetty.server.Connector;
+import org.eclipse.jetty.server.Server;
+import org.eclipse.jetty.server.ssl.SslSocketConnector;
/*
* Licensed to the Apache Software Foundation (ASF) under one
http://git-wip-us.apache.org/repos/asf/maven-wagon/blob/5ba0cf33/wagon-tcks/wagon-tck-http/pom.xml
----------------------------------------------------------------------
diff --git a/wagon-tcks/wagon-tck-http/pom.xml b/wagon-tcks/wagon-tck-http/pom.xml
index 8c0209f..3186279 100644
--- a/wagon-tcks/wagon-tck-http/pom.xml
+++ b/wagon-tcks/wagon-tck-http/pom.xml
@@ -19,7 +19,7 @@ under the License.
-->
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
-
+
<parent>
<groupId>org.apache.maven.wagon</groupId>
<artifactId>wagon-tcks</artifactId>
@@ -28,7 +28,7 @@ under the License.
</parent>
<artifactId>wagon-tck-http</artifactId>
-
+
<name>Apache Maven Wagon :: HTTP Test Compatibility Kit</name>
<dependencies>
@@ -43,12 +43,12 @@ under the License.
<version>2.2.2</version>
</dependency>
<dependency>
- <groupId>org.mortbay.jetty</groupId>
- <artifactId>jetty</artifactId>
+ <groupId>org.eclipse.jetty.aggregate</groupId>
+ <artifactId>jetty-all</artifactId>
</dependency>
<dependency>
- <groupId>org.mortbay.jetty</groupId>
- <artifactId>servlet-api</artifactId>
+ <groupId>javax.servlet</groupId>
+ <artifactId>javax.servlet-api</artifactId>
</dependency>
<dependency>
<groupId>org.apache.maven.wagon</groupId>
http://git-wip-us.apache.org/repos/asf/maven-wagon/blob/5ba0cf33/wagon-tcks/wagon-tck-http/src/main/java/org/apache/maven/wagon/tck/http/fixture/ServerFixture.java
----------------------------------------------------------------------
diff --git a/wagon-tcks/wagon-tck-http/src/main/java/org/apache/maven/wagon/tck/http/fixture/ServerFixture.java b/wagon-tcks/wagon-tck-http/src/main/java/org/apache/maven/wagon/tck/http/fixture/ServerFixture.java
index 9152e34..063f47b 100644
--- a/wagon-tcks/wagon-tck-http/src/main/java/org/apache/maven/wagon/tck/http/fixture/ServerFixture.java
+++ b/wagon-tcks/wagon-tck-http/src/main/java/org/apache/maven/wagon/tck/http/fixture/ServerFixture.java
@@ -19,23 +19,24 @@ package org.apache.maven.wagon.tck.http.fixture;
* under the License.
*/
-import org.mortbay.jetty.Connector;
-import org.mortbay.jetty.Handler;
-import org.mortbay.jetty.Server;
-import org.mortbay.jetty.handler.DefaultHandler;
-import org.mortbay.jetty.handler.HandlerCollection;
-import org.mortbay.jetty.nio.SelectChannelConnector;
-import org.mortbay.jetty.security.Constraint;
-import org.mortbay.jetty.security.ConstraintMapping;
-import org.mortbay.jetty.security.HashUserRealm;
-import org.mortbay.jetty.security.SecurityHandler;
-import org.mortbay.jetty.security.SslSocketConnector;
-import org.mortbay.jetty.servlet.AbstractSessionManager;
-import org.mortbay.jetty.servlet.FilterHolder;
-import org.mortbay.jetty.servlet.FilterMapping;
-import org.mortbay.jetty.servlet.ServletHolder;
-import org.mortbay.jetty.servlet.SessionHandler;
-import org.mortbay.jetty.webapp.WebAppContext;
+import org.eclipse.jetty.server.Connector;
+import org.eclipse.jetty.server.Handler;
+import org.eclipse.jetty.server.Server;
+import org.eclipse.jetty.server.handler.DefaultHandler;
+import org.eclipse.jetty.server.handler.HandlerCollection;
+import org.eclipse.jetty.server.nio.SelectChannelConnector;
+import org.eclipse.jetty.server.session.AbstractSessionManager;
+import org.eclipse.jetty.server.session.SessionHandler;
+import org.eclipse.jetty.security.ConstraintMapping;
+import org.eclipse.jetty.security.ConstraintSecurityHandler;
+import org.eclipse.jetty.security.HashLoginService;
+import org.eclipse.jetty.server.ssl.SslSocketConnector;
+import org.eclipse.jetty.servlet.FilterHolder;
+import org.eclipse.jetty.servlet.FilterMapping;
+import org.eclipse.jetty.servlet.ServletHolder;
+import org.eclipse.jetty.util.security.Constraint;
+import org.eclipse.jetty.util.security.Password;
+import org.eclipse.jetty.webapp.WebAppContext;
import javax.servlet.Filter;
import javax.servlet.Servlet;
@@ -49,7 +50,7 @@ import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
/**
- *
+ *
*/
public class ServerFixture
{
@@ -69,9 +70,9 @@ public class ServerFixture
private final WebAppContext webappContext;
- private final HashUserRealm securityRealm;
+ private final HashLoginService loginService;
- private final SecurityHandler securityHandler;
+ private final ConstraintSecurityHandler securityHandler;
private int filterCount = 0;
@@ -116,11 +117,11 @@ public class ServerFixture
cm.setConstraint( constraint );
cm.setPathSpec( "/protected/*" );
- securityHandler = new SecurityHandler();
+ securityHandler = new ConstraintSecurityHandler();
- securityRealm = new HashUserRealm( "Test Server" );
+ loginService = new HashLoginService( "Test Server" );
- securityHandler.setUserRealm( securityRealm );
+ securityHandler.setLoginService( loginService );
securityHandler.setConstraintMappings( new ConstraintMapping[]{ cm } );
webappContext = new WebAppContext();
@@ -129,7 +130,7 @@ public class ServerFixture
File base = getResource( SERVER_ROOT_RESOURCE_PATH );
logger.info( "docroot: " + base );
webappContext.setWar( base.getAbsolutePath() );
- webappContext.addHandler( securityHandler );
+ webappContext.setHandler( securityHandler );
SessionHandler sessionHandler = webappContext.getSessionHandler();
( (AbstractSessionManager) sessionHandler.getSessionManager() ).setUsingCookies( false );
@@ -161,8 +162,7 @@ public class ServerFixture
public void addUser( final String user, final String password )
{
- securityRealm.put( user, password );
- securityRealm.addUserToRole( user, "allowed" );
+ loginService.putUser( user, new Password( password ), new String[] { "allowed" } );
}
public Server getServer()