This is an automated email from the ASF dual-hosted git repository. rfscholte pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/maven-wagon.git
The following commit(s) were added to refs/heads/master by this push: new d300b11 Ask ftp/http server for its assigned port instead of trying to assign an available port d300b11 is described below commit d300b118476aaec5a755eae68ea3bcff75fd247e Author: rfscholte <rfscho...@apache.org> AuthorDate: Thu Aug 22 14:44:26 2019 +0200 Ask ftp/http server for its assigned port instead of trying to assign an available port --- .../apache/maven/wagon/StreamingWagonTestCase.java | 17 +++--- .../java/org/apache/maven/wagon/WagonTestCase.java | 66 ++++++++-------------- .../apache/maven/wagon/http/HttpWagonTestCase.java | 2 - .../maven/wagon/providers/ftp/FtpWagonTest.java | 34 ++++------- .../wagon/providers/http/HttpWagonErrorTest.java | 8 +-- .../http/HttpWagonHttpServerTestCase.java | 28 +++------ .../wagon/providers/http/HttpWagonTimeoutTest.java | 8 +-- .../wagon/providers/webdav/WebDavWagonTest.java | 20 +++---- 8 files changed, 69 insertions(+), 114 deletions(-) diff --git a/wagon-provider-test/src/main/java/org/apache/maven/wagon/StreamingWagonTestCase.java b/wagon-provider-test/src/main/java/org/apache/maven/wagon/StreamingWagonTestCase.java index c2a4782..d06da32 100644 --- a/wagon-provider-test/src/main/java/org/apache/maven/wagon/StreamingWagonTestCase.java +++ b/wagon-provider-test/src/main/java/org/apache/maven/wagon/StreamingWagonTestCase.java @@ -42,10 +42,10 @@ public abstract class StreamingWagonTestCase { if ( supportsGetIfNewer() ) { - setupRepositories(); - setupWagonTestingFixtures(); + setupRepositories(); + streamRoundTripTesting(); tearDownWagonTestingFixtures(); @@ -55,10 +55,10 @@ public abstract class StreamingWagonTestCase public void testFailedGetToStream() throws Exception { - setupRepositories(); - setupWagonTestingFixtures(); + setupRepositories(); + message( "Getting test artifact from test repository " + testRepository ); StreamingWagon wagon = (StreamingWagon) getWagon(); @@ -103,8 +103,9 @@ public abstract class StreamingWagonTestCase { if ( supportsGetIfNewer() ) { - setupRepositories(); setupWagonTestingFixtures(); + setupRepositories(); + int expectedSize = putFile(); // CHECKSTYLE_OFF: MagicNumber getIfNewerToStream( getExpectedLastModifiedOnGet( testRepository, new Resource( resource ) ) + 30000, false, @@ -118,8 +119,8 @@ public abstract class StreamingWagonTestCase { if ( supportsGetIfNewer() ) { - setupRepositories(); setupWagonTestingFixtures(); + setupRepositories(); int expectedSize = putFile(); getIfNewerToStream( new SimpleDateFormat( "yyyy-MM-dd" ).parse( "2006-01-01" ).getTime(), true, expectedSize ); @@ -131,8 +132,8 @@ public abstract class StreamingWagonTestCase { if ( supportsGetIfNewer() ) { - setupRepositories(); setupWagonTestingFixtures(); + setupRepositories(); int expectedSize = putFile(); getIfNewerToStream( getExpectedLastModifiedOnGet( testRepository, new Resource( resource ) ), false, expectedSize ); @@ -172,8 +173,8 @@ public abstract class StreamingWagonTestCase { if ( supportsGetIfNewer() ) { - setupRepositories(); setupWagonTestingFixtures(); + setupRepositories(); message( "Getting test artifact from test repository " + testRepository ); StreamingWagon wagon = (StreamingWagon) getWagon(); wagon.addTransferListener( checksumObserver ); diff --git a/wagon-provider-test/src/main/java/org/apache/maven/wagon/WagonTestCase.java b/wagon-provider-test/src/main/java/org/apache/maven/wagon/WagonTestCase.java index cdcdc67..a1b9a45 100644 --- a/wagon-provider-test/src/main/java/org/apache/maven/wagon/WagonTestCase.java +++ b/wagon-provider-test/src/main/java/org/apache/maven/wagon/WagonTestCase.java @@ -42,7 +42,6 @@ import org.slf4j.LoggerFactory; import java.io.File; import java.io.IOException; -import java.net.ServerSocket; import java.nio.charset.StandardCharsets; import java.security.NoSuchAlgorithmException; import java.text.SimpleDateFormat; @@ -136,23 +135,6 @@ public abstract class WagonTestCase */ protected abstract String getProtocol(); - public static ServerSocket newServerSocket( int... ports ) - { - for ( int port : ports ) - { - try - { - return new ServerSocket( port ); - } - catch ( IOException ex ) - { - continue; - } - } - - throw new RuntimeException( "no port available" ); - } - // ---------------------------------------------------------------------- // 1. Create a local file repository which mimic a users local file // Repository. @@ -270,10 +252,10 @@ public abstract class WagonTestCase public void testWagon() throws Exception { - setupRepositories(); - setupWagonTestingFixtures(); + setupRepositories(); + fileRoundTripTesting(); tearDownWagonTestingFixtures(); @@ -284,8 +266,8 @@ public abstract class WagonTestCase { if ( supportsGetIfNewer() ) { - setupRepositories(); setupWagonTestingFixtures(); + setupRepositories(); int expectedSize = putFile(); // CHECKSTYLE_OFF: MagicNumber getIfNewer( getExpectedLastModifiedOnGet( testRepository, new Resource( resource ) ) + 30000, false, @@ -315,8 +297,8 @@ public abstract class WagonTestCase { if ( supportsGetIfNewer() ) { - setupRepositories(); setupWagonTestingFixtures(); + setupRepositories(); int expectedSize = putFile(); getIfNewer( getExpectedLastModifiedOnGet( testRepository, new Resource( resource ) ), false, expectedSize ); } @@ -327,8 +309,8 @@ public abstract class WagonTestCase { if ( supportsGetIfNewer() ) { - setupRepositories(); setupWagonTestingFixtures(); + setupRepositories(); int expectedSize = putFile(); getIfNewer( new SimpleDateFormat( "yyyy-MM-dd" ).parse( "2006-01-01" ).getTime(), true, expectedSize ); } @@ -431,10 +413,10 @@ public abstract class WagonTestCase public void testWagonPutDirectory() throws Exception { - setupRepositories(); - setupWagonTestingFixtures(); + setupRepositories(); + Wagon wagon = getWagon(); if ( wagon.supportsDirectoryCopy() ) @@ -479,10 +461,10 @@ public abstract class WagonTestCase public void testWagonPutDirectoryDeepDestination() throws Exception { - setupRepositories(); - setupWagonTestingFixtures(); + setupRepositories(); + Wagon wagon = getWagon(); if ( wagon.supportsDirectoryCopy() ) @@ -533,10 +515,10 @@ public abstract class WagonTestCase final String[] resources = { "a/test-resource-2.txt", "a/b/test-resource-3.txt", "c/test-resource-4.txt" }; - setupRepositories(); - setupWagonTestingFixtures(); + setupRepositories(); + Wagon wagon = getWagon(); if ( wagon.supportsDirectoryCopy() ) @@ -585,10 +567,10 @@ public abstract class WagonTestCase final String[] resources = { "a/test-resource-2.txt", "a/b/test-resource-3.txt", "c/test-resource-4.txt" }; - setupRepositories(); - setupWagonTestingFixtures(); + setupRepositories(); + Wagon wagon = getWagon(); if ( wagon.supportsDirectoryCopy() ) @@ -688,10 +670,10 @@ public abstract class WagonTestCase public void testFailedGet() throws Exception { - setupRepositories(); - setupWagonTestingFixtures(); + setupRepositories(); + message( "Getting test artifact from test repository " + testRepository ); Wagon wagon = getWagon(); @@ -729,8 +711,8 @@ public abstract class WagonTestCase { if ( supportsGetIfNewer() ) { - setupRepositories(); setupWagonTestingFixtures(); + setupRepositories(); message( "Getting test artifact from test repository " + testRepository ); Wagon wagon = getWagon(); wagon.addTransferListener( checksumObserver ); @@ -767,10 +749,10 @@ public abstract class WagonTestCase public void testWagonGetFileList() throws Exception { - setupRepositories(); - setupWagonTestingFixtures(); + setupRepositories(); + String dirName = "file-list"; String filenames[] = @@ -821,10 +803,10 @@ public abstract class WagonTestCase public void testWagonGetFileListWhenDirectoryDoesNotExist() throws Exception { - setupRepositories(); - setupWagonTestingFixtures(); + setupRepositories(); + String dirName = "file-list-unexisting"; Wagon wagon = getWagon(); @@ -857,10 +839,10 @@ public abstract class WagonTestCase public void testWagonResourceExists() throws Exception { - setupRepositories(); - setupWagonTestingFixtures(); + setupRepositories(); + Wagon wagon = getWagon(); putFile(); @@ -883,10 +865,10 @@ public abstract class WagonTestCase public void testWagonResourceNotExists() throws Exception { - setupRepositories(); - setupWagonTestingFixtures(); + setupRepositories(); + Wagon wagon = getWagon(); wagon.connect( testRepository, getAuthInfo() ); 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 16a777c..463431a 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 @@ -123,8 +123,6 @@ public abstract class HttpWagonTestCase server.setHandler( handlers ); server.start(); - - testRepository.setUrl( getTestRepositoryUrl() ); } protected final int getTestRepositoryPort() diff --git a/wagon-providers/wagon-ftp/src/test/java/org/apache/maven/wagon/providers/ftp/FtpWagonTest.java b/wagon-providers/wagon-ftp/src/test/java/org/apache/maven/wagon/providers/ftp/FtpWagonTest.java index d5f74b9..6f20f99 100644 --- a/wagon-providers/wagon-ftp/src/test/java/org/apache/maven/wagon/providers/ftp/FtpWagonTest.java +++ b/wagon-providers/wagon-ftp/src/test/java/org/apache/maven/wagon/providers/ftp/FtpWagonTest.java @@ -20,8 +20,6 @@ package org.apache.maven.wagon.providers.ftp; */ import java.io.File; -import java.io.IOException; -import java.net.ServerSocket; import java.util.ArrayList; import java.util.List; @@ -30,6 +28,7 @@ import org.apache.ftpserver.FtpServer; import org.apache.ftpserver.FtpServerFactory; import org.apache.ftpserver.ftplet.Authority; import org.apache.ftpserver.ftplet.UserManager; +import org.apache.ftpserver.listener.Listener; import org.apache.ftpserver.listener.ListenerFactory; import org.apache.ftpserver.usermanager.PropertiesUserManagerFactory; import org.apache.ftpserver.usermanager.impl.BaseUser; @@ -49,30 +48,15 @@ import org.apache.maven.wagon.resource.Resource; public class FtpWagonTest extends StreamingWagonTestCase { - static private FtpServer server; + private FtpServer server; -// private static final int testRepositoryPort = 10023 + new Random().nextInt( 16 ); - - private static int testRepositoryPort; + private int testRepositoryPort; protected String getProtocol() { return "ftp"; } - static - { - // claim number, release it again so it can be reclaimed by ftp server - try (ServerSocket socket = newServerSocket( 10023, 10024, 10025, 10026 )) - { - testRepositoryPort = socket.getLocalPort(); - } - catch ( IOException e ) - { - e.printStackTrace(); - } - } - protected int getTestRepositoryPort() { return testRepositoryPort; } @@ -86,17 +70,18 @@ public class FtpWagonTest ftpHomeDir.mkdirs(); } - if (server == null) + if ( server == null ) { FtpServerFactory serverFactory = new FtpServerFactory(); ListenerFactory factory = new ListenerFactory(); // set the port of the listener - factory.setPort(getTestRepositoryPort()); + factory.setPort( 0 ); // replace the default listener - serverFactory.addListener("default", factory.createListener()); + Listener defaultListener = factory.createListener(); + serverFactory.addListener("default", defaultListener ); PropertiesUserManagerFactory userManagerFactory = new PropertiesUserManagerFactory(); UserManager um = userManagerFactory.createUserManager(); @@ -122,6 +107,7 @@ public class FtpWagonTest // start the server server.start(); + testRepositoryPort = defaultListener.getPort(); } } @@ -207,10 +193,10 @@ public class FtpWagonTest public void testPutDirectoryCreation() throws Exception { - setupRepositories(); - setupWagonTestingFixtures(); + setupRepositories(); + Wagon wagon = getWagon(); if ( wagon.supportsDirectoryCopy() ) diff --git a/wagon-providers/wagon-http/src/test/java/org/apache/maven/wagon/providers/http/HttpWagonErrorTest.java b/wagon-providers/wagon-http/src/test/java/org/apache/maven/wagon/providers/http/HttpWagonErrorTest.java index b48ee12..85df40d 100644 --- a/wagon-providers/wagon-http/src/test/java/org/apache/maven/wagon/providers/http/HttpWagonErrorTest.java +++ b/wagon-providers/wagon-http/src/test/java/org/apache/maven/wagon/providers/http/HttpWagonErrorTest.java @@ -53,7 +53,7 @@ public class HttpWagonErrorTest Wagon wagon = getWagon(); Repository testRepository = new Repository(); - testRepository.setUrl( "http://localhost:" + httpServerPort ); + testRepository.setUrl( "http://localhost:" + getPort() ); wagon.connect( testRepository ); @@ -87,7 +87,7 @@ public class HttpWagonErrorTest Wagon wagon = getWagon(); Repository testRepository = new Repository(); - testRepository.setUrl( "http://localhost:" + httpServerPort ); + testRepository.setUrl( "http://localhost:" + getPort() ); wagon.connect( testRepository ); @@ -122,7 +122,7 @@ public class HttpWagonErrorTest Wagon wagon = getWagon(); Repository testRepository = new Repository(); - testRepository.setUrl( "http://localhost:" + httpServerPort ); + testRepository.setUrl( "http://localhost:" + getPort() ); wagon.connect( testRepository ); @@ -156,7 +156,7 @@ public class HttpWagonErrorTest Wagon wagon = getWagon(); Repository testRepository = new Repository(); - testRepository.setUrl( "http://localhost:" + httpServerPort ); + testRepository.setUrl( "http://localhost:" + getPort() ); wagon.connect( testRepository ); 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 b257659..38cd7e1 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 @@ -1,8 +1,5 @@ package org.apache.maven.wagon.providers.http; -import java.io.IOException; -import java.net.ServerSocket; - /* * Licensed to the Apache Software Foundation (ASF) under one * or more contributor license agreements. See the NOTICE file @@ -23,9 +20,9 @@ import java.net.ServerSocket; */ import org.apache.maven.wagon.Wagon; -import org.apache.maven.wagon.WagonTestCase; import org.codehaus.plexus.PlexusTestCase; import org.eclipse.jetty.server.Server; +import org.eclipse.jetty.server.ServerConnector; import org.eclipse.jetty.server.handler.ResourceHandler; import org.eclipse.jetty.servlet.ServletContextHandler; @@ -35,32 +32,17 @@ import org.eclipse.jetty.servlet.ServletContextHandler; public abstract class HttpWagonHttpServerTestCase extends PlexusTestCase { - protected static int httpServerPort; - private Server server; protected ResourceHandler resourceHandler; protected ServletContextHandler context; - static - { - // claim number, release it again so it can be reclaimed by ftp server - try ( ServerSocket socket = WagonTestCase.newServerSocket( 10008, 10009, 10010, 10011 ) ) - { - httpServerPort = socket.getLocalPort(); - } - catch ( IOException e ) - { - e.printStackTrace(); - } - } - protected void setUp() throws Exception { super.setUp(); - server = new Server( httpServerPort ); + server = new Server( 0 ); context = new ServletContextHandler( ServletContextHandler.SESSIONS ); resourceHandler = new ResourceHandler(); @@ -85,4 +67,10 @@ public abstract class HttpWagonHttpServerTestCase { server.stop(); } + + protected final int getPort() + { + return ((ServerConnector) server.getConnectors()[0]).getLocalPort(); + } + } 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 ee1d0ec..553576f 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 @@ -56,7 +56,7 @@ public class HttpWagonTimeoutTest wagon.setReadTimeout( 1000 ); Repository testRepository = new Repository(); - testRepository.setUrl( "http://localhost:" + httpServerPort ); + testRepository.setUrl( "http://localhost:" + getPort() ); wagon.connect( testRepository ); @@ -91,7 +91,7 @@ public class HttpWagonTimeoutTest wagon.setReadTimeout( 1000 ); Repository testRepository = new Repository(); - testRepository.setUrl( "http://localhost:" + httpServerPort ); + testRepository.setUrl( "http://localhost:" + getPort() ); wagon.connect( testRepository ); @@ -123,7 +123,7 @@ public class HttpWagonTimeoutTest wagon.setReadTimeout( 1000 ); Repository testRepository = new Repository(); - testRepository.setUrl( "http://localhost:" + httpServerPort ); + testRepository.setUrl( "http://localhost:" + getPort() ); wagon.connect( testRepository ); @@ -155,7 +155,7 @@ public class HttpWagonTimeoutTest wagon.setReadTimeout( 1000 ); Repository testRepository = new Repository(); - testRepository.setUrl( "http://localhost:" + httpServerPort ); + testRepository.setUrl( "http://localhost:" + getPort() ); wagon.connect( testRepository ); 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 cf9fbdd..c8a3692 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 @@ -160,10 +160,10 @@ public class WebDavWagonTest public void testMkdirs() throws Exception { - setupRepositories(); - setupWagonTestingFixtures(); + setupRepositories(); + WebDavWagon wagon = (WebDavWagon) getWagon(); wagon.connect( testRepository, getAuthInfo() ); @@ -210,10 +210,10 @@ public class WebDavWagonTest throws Exception { // WAGON-244 - setupRepositories(); - setupWagonTestingFixtures(); + setupRepositories(); + // reconstruct with no basedir testRepository.setUrl( testRepository.getProtocol() + "://" + testRepository.getHost() + ":" + testRepository.getPort() ); @@ -255,10 +255,10 @@ public class WebDavWagonTest public void testWagonWebDavGetFileList() throws Exception { - setupRepositories(); - setupWagonTestingFixtures(); + setupRepositories(); + String dirName = "file-list"; String filenames[] = @@ -325,10 +325,10 @@ public class WebDavWagonTest public void testWagonFailsOnPutFailureByDefault() throws Exception { - setupRepositories(); - setupWagonTestingFixtures(); + setupRepositories(); + File testFile = getTempFile(); System.clearProperty( WebDavWagon.CONTINUE_ON_FAILURE_PROPERTY ); @@ -388,10 +388,10 @@ public class WebDavWagonTest public void testWagonContinuesOnPutFailureIfPropertySet() throws Exception { - setupRepositories(); - setupWagonTestingFixtures(); + setupRepositories(); + File testFile = getTempFile(); String continueOnFailureProperty = WebDavWagon.CONTINUE_ON_FAILURE_PROPERTY;