Repository: maven-resolver Updated Branches: refs/heads/MRESOLVER-23 [created] f75953000
http://git-wip-us.apache.org/repos/asf/maven-resolver/blob/f7595300/maven-resolver-transport-http/src/test/java/org/eclipse/aether/transport/http/HttpTransporterTest.java ---------------------------------------------------------------------- diff --git a/maven-resolver-transport-http/src/test/java/org/eclipse/aether/transport/http/HttpTransporterTest.java b/maven-resolver-transport-http/src/test/java/org/eclipse/aether/transport/http/HttpTransporterTest.java index 6af7b16..7ca6bb0 100644 --- a/maven-resolver-transport-http/src/test/java/org/eclipse/aether/transport/http/HttpTransporterTest.java +++ b/maven-resolver-transport-http/src/test/java/org/eclipse/aether/transport/http/HttpTransporterTest.java @@ -74,6 +74,8 @@ public class HttpTransporterTest System.setProperty( "javax.net.ssl.keyStorePassword", "client-pwd" ); } + private static final String REPO_ID = "test"; + @Rule public TestName testName = new TestName(); @@ -93,7 +95,7 @@ public class HttpTransporterTest private RemoteRepository newRepo( String url ) { - return new RemoteRepository.Builder( "test", "default", url ).setAuthentication( auth ).setProxy( proxy ).build(); + return new RemoteRepository.Builder( REPO_ID, "default", url ).setAuthentication( auth ).setProxy( proxy ).build(); } private void newTransporter( String url ) @@ -274,8 +276,8 @@ public class HttpTransporterTest GetTask task = new GetTask( URI.create( "repo/file.txt" ) ).setListener( listener ); transporter.get( task ); assertEquals( "test", task.getDataString() ); - assertEquals( 0, listener.dataOffset ); - assertEquals( 4, listener.dataLength ); + assertEquals( 0L, listener.dataOffset ); + assertEquals( 4L, listener.dataLength ); assertEquals( 1, listener.startedCount ); assertTrue( "Count: " + listener.progressedCount, listener.progressedCount > 0 ); assertEquals( task.getDataString(), new String( listener.baos.toByteArray(), StandardCharsets.UTF_8 ) ); @@ -290,8 +292,8 @@ public class HttpTransporterTest GetTask task = new GetTask( URI.create( "repo/file.txt" ) ).setDataFile( file ).setListener( listener ); transporter.get( task ); assertEquals( "test", TestFileUtils.readString( file ) ); - assertEquals( 0, listener.dataOffset ); - assertEquals( 4, listener.dataLength ); + assertEquals( 0L, listener.dataOffset ); + assertEquals( 4L, listener.dataLength ); assertEquals( 1, listener.startedCount ); assertTrue( "Count: " + listener.progressedCount, listener.progressedCount > 0 ); assertEquals( "test", new String( listener.baos.toByteArray(), StandardCharsets.UTF_8 ) ); @@ -306,8 +308,8 @@ public class HttpTransporterTest GetTask task = new GetTask( URI.create( "repo/empty.txt" ) ).setDataFile( file ).setListener( listener ); transporter.get( task ); assertEquals( "", TestFileUtils.readString( file ) ); - assertEquals( 0, listener.dataOffset ); - assertEquals( 0, listener.dataLength ); + assertEquals( 0L, listener.dataOffset ); + assertEquals( 0L, listener.dataLength ); assertEquals( 1, listener.startedCount ); assertEquals( 0, listener.progressedCount ); assertEquals( "", new String( listener.baos.toByteArray(), StandardCharsets.UTF_8 ) ); @@ -333,8 +335,8 @@ public class HttpTransporterTest GetTask task = new GetTask( URI.create( "repo/file.txt" ) ).setListener( listener ); transporter.get( task ); assertEquals( "test", task.getDataString() ); - assertEquals( 0, listener.dataOffset ); - assertEquals( 4, listener.dataLength ); + assertEquals( 0L, listener.dataOffset ); + assertEquals( 4L, listener.dataLength ); assertEquals( 1, listener.startedCount ); assertTrue( "Count: " + listener.progressedCount, listener.progressedCount > 0 ); assertEquals( task.getDataString(), new String( listener.baos.toByteArray(), StandardCharsets.UTF_8 ) ); @@ -369,8 +371,8 @@ public class HttpTransporterTest GetTask task = new GetTask( URI.create( "repo/file.txt" ) ).setListener( listener ); transporter.get( task ); assertEquals( "test", task.getDataString() ); - assertEquals( 0, listener.dataOffset ); - assertEquals( 4, listener.dataLength ); + assertEquals( 0L, listener.dataOffset ); + assertEquals( 4L, listener.dataLength ); assertEquals( 1, listener.startedCount ); assertTrue( "Count: " + listener.progressedCount, listener.progressedCount > 0 ); assertEquals( task.getDataString(), new String( listener.baos.toByteArray(), StandardCharsets.UTF_8 ) ); @@ -405,8 +407,8 @@ public class HttpTransporterTest GetTask task = new GetTask( URI.create( "repo/file.txt" ) ).setListener( listener ); transporter.get( task ); assertEquals( "test", task.getDataString() ); - assertEquals( 0, listener.dataOffset ); - assertEquals( 4, listener.dataLength ); + assertEquals( 0L, listener.dataOffset ); + assertEquals( 4L, listener.dataLength ); assertEquals( 1, listener.startedCount ); assertTrue( "Count: " + listener.progressedCount, listener.progressedCount > 0 ); assertEquals( task.getDataString(), new String( listener.baos.toByteArray(), StandardCharsets.UTF_8 ) ); @@ -416,14 +418,14 @@ public class HttpTransporterTest public void testGet_WebDav() throws Exception { - httpServer.setWebDav( true ); + httpServer.setWebDav( HttpServer.WebDav.REQUIRED ); RecordingTransportListener listener = new RecordingTransportListener(); GetTask task = new GetTask( URI.create( "repo/dir/file.txt" ) ).setListener( listener ); ( (HttpTransporter) transporter ).getState().setWebDav( true ); transporter.get( task ); assertEquals( "test", task.getDataString() ); - assertEquals( 0, listener.dataOffset ); - assertEquals( 4, listener.dataLength ); + assertEquals( 0L, listener.dataOffset ); + assertEquals( 4L, listener.dataLength ); assertEquals( 1, listener.startedCount ); assertTrue( "Count: " + listener.progressedCount, listener.progressedCount > 0 ); assertEquals( task.getDataString(), new String( listener.baos.toByteArray(), StandardCharsets.UTF_8 ) ); @@ -439,8 +441,8 @@ public class HttpTransporterTest GetTask task = new GetTask( URI.create( "redirect/file.txt?scheme=https" ) ).setListener( listener ); transporter.get( task ); assertEquals( "test", task.getDataString() ); - assertEquals( 0, listener.dataOffset ); - assertEquals( 4, listener.dataLength ); + assertEquals( 0L, listener.dataOffset ); + assertEquals( 4L, listener.dataLength ); assertEquals( 1, listener.startedCount ); assertTrue( "Count: " + listener.progressedCount, listener.progressedCount > 0 ); assertEquals( task.getDataString(), new String( listener.baos.toByteArray(), StandardCharsets.UTF_8 ) ); @@ -455,8 +457,8 @@ public class HttpTransporterTest GetTask task = new GetTask( URI.create( "repo/resume.txt" ) ).setDataFile( file, true ).setListener( listener ); transporter.get( task ); assertEquals( "resumable", TestFileUtils.readString( file ) ); - assertEquals( 1, listener.startedCount ); - assertEquals( 2, listener.dataOffset ); + assertEquals( 1L, listener.startedCount ); + assertEquals( 2L, listener.dataOffset ); assertEquals( 9, listener.dataLength ); assertTrue( "Count: " + listener.progressedCount, listener.progressedCount > 0 ); assertEquals( "sumable", new String( listener.baos.toByteArray(), StandardCharsets.UTF_8 ) ); @@ -472,8 +474,8 @@ public class HttpTransporterTest GetTask task = new GetTask( URI.create( "repo/resume.txt" ) ).setDataFile( file, true ).setListener( listener ); transporter.get( task ); assertEquals( "resumable", TestFileUtils.readString( file ) ); - assertEquals( 1, listener.startedCount ); - assertEquals( 0, listener.dataOffset ); + assertEquals( 1L, listener.startedCount ); + assertEquals( 0L, listener.dataOffset ); assertEquals( 9, listener.dataLength ); assertTrue( "Count: " + listener.progressedCount, listener.progressedCount > 0 ); assertEquals( "resumable", new String( listener.baos.toByteArray(), StandardCharsets.UTF_8 ) ); @@ -489,8 +491,8 @@ public class HttpTransporterTest GetTask task = new GetTask( URI.create( "repo/resume.txt" ) ).setDataFile( file, true ).setListener( listener ); transporter.get( task ); assertEquals( "resumable", TestFileUtils.readString( file ) ); - assertEquals( 1, listener.startedCount ); - assertEquals( 0, listener.dataOffset ); + assertEquals( 1L, listener.startedCount ); + assertEquals( 0L, listener.dataOffset ); assertEquals( 9, listener.dataLength ); assertTrue( "Count: " + listener.progressedCount, listener.progressedCount > 0 ); assertEquals( "resumable", new String( listener.baos.toByteArray(), StandardCharsets.UTF_8 ) ); @@ -567,8 +569,8 @@ public class HttpTransporterTest { assertEquals( Transporter.ERROR_OTHER, transporter.classify( e ) ); } - assertEquals( 0, listener.dataOffset ); - assertEquals( 4, listener.dataLength ); + assertEquals( 0L, listener.dataOffset ); + assertEquals( 4L, listener.dataLength ); assertEquals( 1, listener.startedCount ); assertEquals( 0, listener.progressedCount ); } @@ -589,8 +591,8 @@ public class HttpTransporterTest { assertEquals( Transporter.ERROR_OTHER, transporter.classify( e ) ); } - assertEquals( 0, listener.dataOffset ); - assertEquals( 4, listener.dataLength ); + assertEquals( 0L, listener.dataOffset ); + assertEquals( 4L, listener.dataLength ); assertEquals( 1, listener.startedCount ); assertEquals( 1, listener.progressedCount ); } @@ -602,8 +604,8 @@ public class HttpTransporterTest RecordingTransportListener listener = new RecordingTransportListener(); PutTask task = new PutTask( URI.create( "repo/file.txt" ) ).setListener( listener ).setDataString( "upload" ); transporter.put( task ); - assertEquals( 0, listener.dataOffset ); - assertEquals( 6, listener.dataLength ); + assertEquals( 0L, listener.dataOffset ); + assertEquals( 6L, listener.dataLength ); assertEquals( 1, listener.startedCount ); assertTrue( "Count: " + listener.progressedCount, listener.progressedCount > 0 ); assertEquals( "upload", TestFileUtils.readString( new File( repoDir, "file.txt" ) ) ); @@ -617,8 +619,8 @@ public class HttpTransporterTest RecordingTransportListener listener = new RecordingTransportListener(); PutTask task = new PutTask( URI.create( "repo/file.txt" ) ).setListener( listener ).setDataFile( file ); transporter.put( task ); - assertEquals( 0, listener.dataOffset ); - assertEquals( 6, listener.dataLength ); + assertEquals( 0L, listener.dataOffset ); + assertEquals( 6L, listener.dataLength ); assertEquals( 1, listener.startedCount ); assertTrue( "Count: " + listener.progressedCount, listener.progressedCount > 0 ); assertEquals( "upload", TestFileUtils.readString( new File( repoDir, "file.txt" ) ) ); @@ -631,8 +633,8 @@ public class HttpTransporterTest RecordingTransportListener listener = new RecordingTransportListener(); PutTask task = new PutTask( URI.create( "repo/file.txt" ) ).setListener( listener ); transporter.put( task ); - assertEquals( 0, listener.dataOffset ); - assertEquals( 0, listener.dataLength ); + assertEquals( 0L, listener.dataOffset ); + assertEquals( 0L, listener.dataLength ); assertEquals( 1, listener.startedCount ); assertEquals( 0, listener.progressedCount ); assertEquals( "", TestFileUtils.readString( new File( repoDir, "file.txt" ) ) ); @@ -646,8 +648,8 @@ public class HttpTransporterTest PutTask task = new PutTask( URI.create( "repo/some%20space.txt" ) ).setListener( listener ).setDataString( "OK" ); transporter.put( task ); - assertEquals( 0, listener.dataOffset ); - assertEquals( 2, listener.dataLength ); + assertEquals( 0L, listener.dataOffset ); + assertEquals( 2L, listener.dataLength ); assertEquals( 1, listener.startedCount ); assertTrue( "Count: " + listener.progressedCount, listener.progressedCount > 0 ); assertEquals( "OK", TestFileUtils.readString( new File( repoDir, "some space.txt" ) ) ); @@ -663,8 +665,8 @@ public class HttpTransporterTest RecordingTransportListener listener = new RecordingTransportListener(); PutTask task = new PutTask( URI.create( "repo/file.txt" ) ).setListener( listener ).setDataString( "upload" ); transporter.put( task ); - assertEquals( 0, listener.dataOffset ); - assertEquals( 6, listener.dataLength ); + assertEquals( 0L, listener.dataOffset ); + assertEquals( 6L, listener.dataLength ); assertEquals( 1, listener.startedCount ); assertTrue( "Count: " + listener.progressedCount, listener.progressedCount > 0 ); assertEquals( "upload", TestFileUtils.readString( new File( repoDir, "file.txt" ) ) ); @@ -681,8 +683,8 @@ public class HttpTransporterTest RecordingTransportListener listener = new RecordingTransportListener(); PutTask task = new PutTask( URI.create( "repo/file.txt" ) ).setListener( listener ).setDataString( "upload" ); transporter.put( task ); - assertEquals( 0, listener.dataOffset ); - assertEquals( 6, listener.dataLength ); + assertEquals( 0L, listener.dataOffset ); + assertEquals( 6L, listener.dataLength ); assertEquals( 1, listener.startedCount ); assertTrue( "Count: " + listener.progressedCount, listener.progressedCount > 0 ); assertEquals( "upload", TestFileUtils.readString( new File( repoDir, "file.txt" ) ) ); @@ -699,8 +701,8 @@ public class HttpTransporterTest RecordingTransportListener listener = new RecordingTransportListener(); PutTask task = new PutTask( URI.create( "repo/file.txt" ) ).setListener( listener ).setDataString( "upload" ); transporter.put( task ); - assertEquals( 0, listener.dataOffset ); - assertEquals( 6, listener.dataLength ); + assertEquals( 0L, listener.dataOffset ); + assertEquals( 6L, listener.dataLength ); assertEquals( 1, listener.startedCount ); assertTrue( "Count: " + listener.progressedCount, listener.progressedCount > 0 ); assertEquals( "upload", TestFileUtils.readString( new File( repoDir, "file.txt" ) ) ); @@ -720,8 +722,8 @@ public class HttpTransporterTest RecordingTransportListener listener = new RecordingTransportListener(); PutTask task = new PutTask( URI.create( "repo/file.txt" ) ).setListener( listener ).setDataString( "upload" ); transporter.put( task ); - assertEquals( 0, listener.dataOffset ); - assertEquals( 6, listener.dataLength ); + assertEquals( 0L, listener.dataOffset ); + assertEquals( 6L, listener.dataLength ); assertEquals( 1, listener.startedCount ); assertTrue( "Count: " + listener.progressedCount, listener.progressedCount > 0 ); assertEquals( "upload", TestFileUtils.readString( new File( repoDir, "file.txt" ) ) ); @@ -759,8 +761,8 @@ public class HttpTransporterTest RecordingTransportListener listener = new RecordingTransportListener(); PutTask task = new PutTask( URI.create( "repo/file.txt" ) ).setListener( listener ).setDataString( "upload" ); transporter.put( task ); - assertEquals( 0, listener.dataOffset ); - assertEquals( 6, listener.dataLength ); + assertEquals( 0L, listener.dataOffset ); + assertEquals( 6L, listener.dataLength ); assertEquals( 1, listener.startedCount ); assertTrue( "Count: " + listener.progressedCount, listener.progressedCount > 0 ); assertEquals( "upload", TestFileUtils.readString( new File( repoDir, "file.txt" ) ) ); @@ -800,8 +802,8 @@ public class HttpTransporterTest RecordingTransportListener listener = new RecordingTransportListener(); PutTask task = new PutTask( URI.create( "repo/file.txt" ) ).setListener( listener ).setDataString( "upload" ); transporter.put( task ); - assertEquals( 0, listener.dataOffset ); - assertEquals( 6, listener.dataLength ); + assertEquals( 0L, listener.dataOffset ); + assertEquals( 6L, listener.dataLength ); assertEquals( 1, listener.startedCount ); assertTrue( "Count: " + listener.progressedCount, listener.progressedCount > 0 ); assertEquals( "upload", TestFileUtils.readString( new File( repoDir, "file.txt" ) ) ); @@ -811,13 +813,13 @@ public class HttpTransporterTest public void testPut_WebDav() throws Exception { - httpServer.setWebDav( true ); + httpServer.setWebDav( HttpServer.WebDav.REQUIRED ); RecordingTransportListener listener = new RecordingTransportListener(); PutTask task = new PutTask( URI.create( "repo/dir1/dir2/file.txt" ) ).setListener( listener ).setDataString( "upload" ); transporter.put( task ); - assertEquals( 0, listener.dataOffset ); - assertEquals( 6, listener.dataLength ); + assertEquals( 0L, listener.dataOffset ); + assertEquals( 6L, listener.dataLength ); assertEquals( 1, listener.startedCount ); assertTrue( "Count: " + listener.progressedCount, listener.progressedCount > 0 ); assertEquals( "upload", TestFileUtils.readString( new File( repoDir, "dir1/dir2/file.txt" ) ) ); @@ -834,6 +836,62 @@ public class HttpTransporterTest } @Test + public void testPut_WebDavOptional_ManuallyDisabled() + throws Exception + { + session.setConfigProperty( "aether.connector.http.webDav." + REPO_ID, "false" ); + httpServer.setWebDav( HttpServer.WebDav.OPTIONAL ); + newTransporter( httpServer.getHttpUrl() ); + RecordingTransportListener listener = new RecordingTransportListener(); + PutTask task = + new PutTask( URI.create( "repo/dir1/dir2/file.txt" ) ).setListener( listener ).setDataString( "upload" ); + transporter.put( task ); + assertEquals( 0L, listener.dataOffset ); + assertEquals( 6L, listener.dataLength ); + assertEquals( 1, listener.startedCount ); + assertTrue( "Count: " + listener.progressedCount, listener.progressedCount > 0 ); + assertEquals( "upload", TestFileUtils.readString( new File( repoDir, "dir1/dir2/file.txt" ) ) ); + + assertEquals( httpServer.getLogEntries().toString(), 2, httpServer.getLogEntries().size() ); + assertEquals( "OPTIONS", httpServer.getLogEntries().get( 0 ).method ); + assertEquals( "PUT", httpServer.getLogEntries().get( 1 ).method ); + } + + @Test + public void testPut_WebDavOptional_AutomaticallyDisabled_Artifactory() + throws Exception + { + testPut_WebDavOptional_AutomaticallyDisabled( "Artifactory/3.3.0" ); + } + + @Test + public void testPut_WebDavOptional_AutomaticallyDisabled_Nexus() + throws Exception + { + testPut_WebDavOptional_AutomaticallyDisabled( "Nexus/2.9.0-02" ); + } + + private void testPut_WebDavOptional_AutomaticallyDisabled( String server ) + throws Exception + { + httpServer.setServer( server ); + httpServer.setWebDav( HttpServer.WebDav.OPTIONAL ); + RecordingTransportListener listener = new RecordingTransportListener(); + PutTask task = + new PutTask( URI.create( "repo/dir1/dir2/file.txt" ) ).setListener( listener ).setDataString( "upload" ); + transporter.put( task ); + assertEquals( 0L, listener.dataOffset ); + assertEquals( 6L, listener.dataLength ); + assertEquals( 1, listener.startedCount ); + assertTrue( "Count: " + listener.progressedCount, listener.progressedCount > 0 ); + assertEquals( "upload", TestFileUtils.readString( new File( repoDir, "dir1/dir2/file.txt" ) ) ); + + assertEquals( httpServer.getLogEntries().toString(), 2, httpServer.getLogEntries().size() ); + assertEquals( "OPTIONS", httpServer.getLogEntries().get( 0 ).method ); + assertEquals( "PUT", httpServer.getLogEntries().get( 1 ).method ); + } + + @Test public void testPut_FileHandleLeak() throws Exception { @@ -879,8 +937,8 @@ public class HttpTransporterTest { assertEquals( Transporter.ERROR_OTHER, transporter.classify( e ) ); } - assertEquals( 0, listener.dataOffset ); - assertEquals( 6, listener.dataLength ); + assertEquals( 0L, listener.dataOffset ); + assertEquals( 6L, listener.dataLength ); assertEquals( 1, listener.startedCount ); assertEquals( 0, listener.progressedCount ); } @@ -901,8 +959,8 @@ public class HttpTransporterTest { assertEquals( Transporter.ERROR_OTHER, transporter.classify( e ) ); } - assertEquals( 0, listener.dataOffset ); - assertEquals( 6, listener.dataLength ); + assertEquals( 0L, listener.dataOffset ); + assertEquals( 6L, listener.dataLength ); assertEquals( 1, listener.startedCount ); assertEquals( 1, listener.progressedCount ); } @@ -922,7 +980,7 @@ public class HttpTransporterTest assertEquals( 1, listener.startedCount ); } - @Test( timeout = 10000 ) + @Test( timeout = 20000L ) public void testConcurrency() throws Exception { @@ -969,7 +1027,7 @@ public class HttpTransporterTest assertNull( String.valueOf( error.get() ), error.get() ); } - @Test( timeout = 1000 ) + @Test( timeout = 1000L ) public void testConnectTimeout() throws Exception { @@ -991,7 +1049,7 @@ public class HttpTransporterTest } } - @Test( timeout = 1000 ) + @Test( timeout = 1000L ) public void testRequestTimeout() throws Exception { @@ -1052,6 +1110,95 @@ public class HttpTransporterTest } @Test + public void testCredentialEncoding_Default() + throws Exception + { + testCredentialEncoding( null ); + } + + @Test + public void testCredentialEncoding_Utf8() + throws Exception + { + testCredentialEncoding( StandardCharsets.UTF_8.name() ); + } + + private void testCredentialEncoding( String encoding ) + throws Exception + { + session.setConfigProperty( ConfigurationProperties.HTTP_CREDENTIAL_ENCODING, encoding ); + String username = "testuser", password = "\u00e4\u00f6\u00fc"; + httpServer.setAuthentication( username, password ); + httpServer.setCredentialEncoding( encoding ); + auth = new AuthenticationBuilder().addUsername( username ).addPassword( password ).build(); + newTransporter( httpServer.getHttpUrl() ); + transporter.get( new GetTask( URI.create( "repo/file.txt" ) ) ); + } + + @Test + public void testServerAuthScope_FollowsSslRedirect() + throws Exception + { + String username = "testuser", password = "testpass"; + httpServer.setAuthentication( username, password ); + httpServer.addSslConnector(); + auth = new AuthenticationBuilder().addUsername( username ).addPassword( password ).build(); + newTransporter( httpServer.getHttpUrl() ); + transporter.get( new GetTask( URI.create( "redirect/file.txt?scheme=https" ) ) ); + } + + @Test + public void testServerAuthScope_FollowsRedirectToDifferentHost_EnabledByRepoId() + throws Exception + { + session.setConfigProperty( ConfigurationProperties.HTTP_REDIRECTED_AUTHENTICATION + "." + REPO_ID, "true" ); + String username = "testuser", password = "testpass"; + httpServer.setAuthentication( username, password ); + auth = new AuthenticationBuilder().addUsername( username ).addPassword( password ).build(); + proxy = new Proxy( Proxy.TYPE_HTTP, httpServer.getHost(), httpServer.getHttpPort() ); + newTransporter( "http://redirect.localhost:1/" ); + GetTask task = new GetTask( URI.create( "redirect/file.txt?host=" + httpServer.getHost() ) ); + transporter.get( task ); + assertEquals( "test", task.getDataString() ); + } + + @Test + public void testServerAuthScope_FollowsRedirectToDifferentHost_EnabledByHostName() + throws Exception + { + session.setConfigProperty( ConfigurationProperties.HTTP_REDIRECTED_AUTHENTICATION, " REDIRECT.localhost , foo" ); + String username = "testuser", password = "testpass"; + httpServer.setAuthentication( username, password ); + auth = new AuthenticationBuilder().addUsername( username ).addPassword( password ).build(); + proxy = new Proxy( Proxy.TYPE_HTTP, httpServer.getHost(), httpServer.getHttpPort() ); + newTransporter( "http://redirect.localhost:1/" ); + GetTask task = new GetTask( URI.create( "redirect/file.txt?host=" + httpServer.getHost() ) ); + transporter.get( task ); + assertEquals( "test", task.getDataString() ); + } + + @Test + public void testServerAuthScope_FollowsRedirectToDifferentHost_DisabledByDefault() + throws Exception + { + String username = "testuser", password = "testpass"; + httpServer.setAuthentication( username, password ); + auth = new AuthenticationBuilder().addUsername( username ).addPassword( password ).build(); + proxy = new Proxy( Proxy.TYPE_HTTP, httpServer.getHost(), httpServer.getHttpPort() ); + newTransporter( "http://redirect.localhost:1/" ); + GetTask task = new GetTask( URI.create( "redirect/file.txt?host=" + httpServer.getHost() ) ); + try + { + transporter.get( task ); + fail( "Server auth must not be used for redirect destination" ); + } + catch ( HttpResponseException e ) + { + assertEquals( 401, e.getStatusCode() ); + } + } + + @Test public void testServerAuthScope_NotUsedForProxy() throws Exception { http://git-wip-us.apache.org/repos/asf/maven-resolver/blob/f7595300/maven-resolver-transport-wagon/src/main/java/org/eclipse/aether/transport/wagon/WagonTransporterFactory.java ---------------------------------------------------------------------- diff --git a/maven-resolver-transport-wagon/src/main/java/org/eclipse/aether/transport/wagon/WagonTransporterFactory.java b/maven-resolver-transport-wagon/src/main/java/org/eclipse/aether/transport/wagon/WagonTransporterFactory.java index 490acac..bff3406 100644 --- a/maven-resolver-transport-wagon/src/main/java/org/eclipse/aether/transport/wagon/WagonTransporterFactory.java +++ b/maven-resolver-transport-wagon/src/main/java/org/eclipse/aether/transport/wagon/WagonTransporterFactory.java @@ -49,7 +49,7 @@ public final class WagonTransporterFactory private WagonConfigurator wagonConfigurator; - private float priority = -1; + private float priority = -1.0f; /** * Creates an (uninitialized) instance of this transporter factory. <em>Note:</em> In case of manual instantiation http://git-wip-us.apache.org/repos/asf/maven-resolver/blob/f7595300/maven-resolver-transport-wagon/src/test/java/org/eclipse/aether/transport/wagon/AbstractWagonTransporterTest.java ---------------------------------------------------------------------- diff --git a/maven-resolver-transport-wagon/src/test/java/org/eclipse/aether/transport/wagon/AbstractWagonTransporterTest.java b/maven-resolver-transport-wagon/src/test/java/org/eclipse/aether/transport/wagon/AbstractWagonTransporterTest.java index 5a168d1..2a58de3 100644 --- a/maven-resolver-transport-wagon/src/test/java/org/eclipse/aether/transport/wagon/AbstractWagonTransporterTest.java +++ b/maven-resolver-transport-wagon/src/test/java/org/eclipse/aether/transport/wagon/AbstractWagonTransporterTest.java @@ -192,8 +192,8 @@ public abstract class AbstractWagonTransporterTest GetTask task = new GetTask( URI.create( "file.txt" ) ).setListener( listener ); transporter.get( task ); assertEquals( "test", task.getDataString() ); - assertEquals( 0, listener.dataOffset ); - assertEquals( 4, listener.dataLength ); + assertEquals( 0L, listener.dataOffset ); + assertEquals( 4L, listener.dataLength ); assertEquals( 1, listener.startedCount ); assertTrue( "Count: " + listener.progressedCount, listener.progressedCount > 0 ); assertEquals( task.getDataString(), new String( listener.baos.toByteArray(), StandardCharsets.UTF_8 ) ); @@ -208,8 +208,8 @@ public abstract class AbstractWagonTransporterTest GetTask task = new GetTask( URI.create( "file.txt" ) ).setDataFile( file ).setListener( listener ); transporter.get( task ); assertEquals( "test", TestFileUtils.readString( file ) ); - assertEquals( 0, listener.dataOffset ); - assertEquals( 4, listener.dataLength ); + assertEquals( 0L, listener.dataOffset ); + assertEquals( 4L, listener.dataLength ); assertEquals( 1, listener.startedCount ); assertTrue( "Count: " + listener.progressedCount, listener.progressedCount > 0 ); assertEquals( "test", new String( listener.baos.toByteArray(), StandardCharsets.UTF_8 ) ); @@ -225,8 +225,8 @@ public abstract class AbstractWagonTransporterTest GetTask task = new GetTask( URI.create( "empty.txt" ) ).setDataFile( file ).setListener( listener ); transporter.get( task ); assertEquals( "", TestFileUtils.readString( file ) ); - assertEquals( 0, listener.dataOffset ); - assertEquals( 0, listener.dataLength ); + assertEquals( 0L, listener.dataOffset ); + assertEquals( 0L, listener.dataLength ); assertEquals( 1, listener.startedCount ); assertEquals( 0, listener.progressedCount ); assertEquals( "", new String( listener.baos.toByteArray(), StandardCharsets.UTF_8 ) ); @@ -311,8 +311,8 @@ public abstract class AbstractWagonTransporterTest { assertEquals( Transporter.ERROR_OTHER, transporter.classify( e ) ); } - assertEquals( 0, listener.dataOffset ); - assertEquals( 4, listener.dataLength ); + assertEquals( 0L, listener.dataOffset ); + assertEquals( 4L, listener.dataLength ); assertEquals( 1, listener.startedCount ); assertEquals( 1, listener.progressedCount ); } @@ -324,8 +324,8 @@ public abstract class AbstractWagonTransporterTest RecordingTransportListener listener = new RecordingTransportListener(); PutTask task = new PutTask( URI.create( "file.txt" ) ).setListener( listener ).setDataString( "upload" ); transporter.put( task ); - assertEquals( 0, listener.dataOffset ); - assertEquals( 6, listener.dataLength ); + assertEquals( 0L, listener.dataOffset ); + assertEquals( 6L, listener.dataLength ); assertEquals( 1, listener.startedCount ); assertTrue( "Count: " + listener.progressedCount, listener.progressedCount > 0 ); assertEquals( "upload", fs.get( "file.txt" ) ); @@ -339,8 +339,8 @@ public abstract class AbstractWagonTransporterTest RecordingTransportListener listener = new RecordingTransportListener(); PutTask task = new PutTask( URI.create( "file.txt" ) ).setListener( listener ).setDataFile( file ); transporter.put( task ); - assertEquals( 0, listener.dataOffset ); - assertEquals( 6, listener.dataLength ); + assertEquals( 0L, listener.dataOffset ); + assertEquals( 6L, listener.dataLength ); assertEquals( 1, listener.startedCount ); assertTrue( "Count: " + listener.progressedCount, listener.progressedCount > 0 ); assertEquals( "upload", fs.get( "file.txt" ) ); @@ -353,8 +353,8 @@ public abstract class AbstractWagonTransporterTest RecordingTransportListener listener = new RecordingTransportListener(); PutTask task = new PutTask( URI.create( "file.txt" ) ).setListener( listener ); transporter.put( task ); - assertEquals( 0, listener.dataOffset ); - assertEquals( 0, listener.dataLength ); + assertEquals( 0L, listener.dataOffset ); + assertEquals( 0L, listener.dataLength ); assertEquals( 1, listener.startedCount ); assertEquals( 0, listener.progressedCount ); assertEquals( "", fs.get( "file.txt" ) ); @@ -368,8 +368,8 @@ public abstract class AbstractWagonTransporterTest PutTask task = new PutTask( URI.create( "dir/sub/dir/file.txt" ) ).setListener( listener ).setDataString( "upload" ); transporter.put( task ); - assertEquals( 0, listener.dataOffset ); - assertEquals( 6, listener.dataLength ); + assertEquals( 0L, listener.dataOffset ); + assertEquals( 6L, listener.dataLength ); assertEquals( 1, listener.startedCount ); assertTrue( "Count: " + listener.progressedCount, listener.progressedCount > 0 ); assertEquals( "upload", fs.get( "dir/sub/dir/file.txt" ) ); @@ -382,8 +382,8 @@ public abstract class AbstractWagonTransporterTest RecordingTransportListener listener = new RecordingTransportListener(); PutTask task = new PutTask( URI.create( "some%20space.txt" ) ).setListener( listener ).setDataString( "OK" ); transporter.put( task ); - assertEquals( 0, listener.dataOffset ); - assertEquals( 2, listener.dataLength ); + assertEquals( 0L, listener.dataOffset ); + assertEquals( 2L, listener.dataLength ); assertEquals( 1, listener.startedCount ); assertTrue( "Count: " + listener.progressedCount, listener.progressedCount > 0 ); assertEquals( "OK", fs.get( "some space.txt" ) ); @@ -444,8 +444,8 @@ public abstract class AbstractWagonTransporterTest { assertEquals( Transporter.ERROR_OTHER, transporter.classify( e ) ); } - assertEquals( 0, listener.dataOffset ); - assertEquals( 6, listener.dataLength ); + assertEquals( 0L, listener.dataOffset ); + assertEquals( 6L, listener.dataLength ); assertEquals( 1, listener.startedCount ); assertEquals( 1, listener.progressedCount ); } http://git-wip-us.apache.org/repos/asf/maven-resolver/blob/f7595300/maven-resolver-util/src/test/java/org/eclipse/aether/util/ConfigUtilsTest.java ---------------------------------------------------------------------- diff --git a/maven-resolver-util/src/test/java/org/eclipse/aether/util/ConfigUtilsTest.java b/maven-resolver-util/src/test/java/org/eclipse/aether/util/ConfigUtilsTest.java index 442d501..683c8e0 100644 --- a/maven-resolver-util/src/test/java/org/eclipse/aether/util/ConfigUtilsTest.java +++ b/maven-resolver-util/src/test/java/org/eclipse/aether/util/ConfigUtilsTest.java @@ -168,16 +168,16 @@ public class ConfigUtilsTest public void testGetLong_Default() { config.put( "no-long", new Object() ); - assertEquals( -17, ConfigUtils.getLong( config, -17L, "no-value" ) ); - assertEquals( 43, ConfigUtils.getLong( config, 43L, "no-long" ) ); + assertEquals( -17L, ConfigUtils.getLong( config, -17L, "no-value" ) ); + assertEquals( 43L, ConfigUtils.getLong( config, 43L, "no-long" ) ); } @Test public void testGetLong_AlternativeKeys() { config.put( "no-long", "text" ); - config.put( "some-long", 23 ); - assertEquals( 23, ConfigUtils.getLong( config, 0, "no-long", "some-long" ) ); + config.put( "some-long", 23L ); + assertEquals( 23L, ConfigUtils.getLong( config, 0, "no-long", "some-long" ) ); } @Test @@ -222,7 +222,7 @@ public class ConfigUtilsTest @Test public void testGetFloat_NumberConversion() { - config.put( "some-number", -1234 ); + config.put( "some-number", -1234f ); assertEquals( -1234f, ConfigUtils.getFloat( config, 0, "some-number" ), 0.1f ); }