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 );
     }
 

Reply via email to