Extended tests for DefaultProxySelector

Project: http://git-wip-us.apache.org/repos/asf/maven-aether/repo
Commit: http://git-wip-us.apache.org/repos/asf/maven-aether/commit/ad273427
Tree: http://git-wip-us.apache.org/repos/asf/maven-aether/tree/ad273427
Diff: http://git-wip-us.apache.org/repos/asf/maven-aether/diff/ad273427

Branch: refs/heads/master
Commit: ad273427e8c63b60f0a144fd22fdbbab8dd7a524
Parents: fbf380c
Author: Benjamin Bentmann <bentm...@sonatype.com>
Authored: Sat May 31 16:44:50 2014 +0200
Committer: Benjamin Bentmann <bentm...@sonatype.com>
Committed: Sat May 31 16:44:50 2014 +0200

----------------------------------------------------------------------
 .../repository/DefaultProxySelectorTest.java    | 70 ++++++++++++++++++++
 1 file changed, 70 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/maven-aether/blob/ad273427/aether-util/src/test/java/org/eclipse/aether/util/repository/DefaultProxySelectorTest.java
----------------------------------------------------------------------
diff --git 
a/aether-util/src/test/java/org/eclipse/aether/util/repository/DefaultProxySelectorTest.java
 
b/aether-util/src/test/java/org/eclipse/aether/util/repository/DefaultProxySelectorTest.java
index 6ae5f2b..80392b1 100644
--- 
a/aether-util/src/test/java/org/eclipse/aether/util/repository/DefaultProxySelectorTest.java
+++ 
b/aether-util/src/test/java/org/eclipse/aether/util/repository/DefaultProxySelectorTest.java
@@ -14,6 +14,8 @@ import static org.junit.Assert.*;
 
 import java.util.Arrays;
 
+import org.eclipse.aether.repository.Proxy;
+import org.eclipse.aether.repository.RemoteRepository;
 import org.eclipse.aether.util.repository.DefaultProxySelector.NonProxyHosts;
 import org.junit.Test;
 
@@ -22,6 +24,11 @@ import org.junit.Test;
 public class DefaultProxySelectorTest
 {
 
+    private RemoteRepository newRepo( String url )
+    {
+        return new RemoteRepository.Builder( "id", "type", url ).build();
+    }
+
     private boolean isNonProxyHost( String host, String nonProxyHosts )
     {
         return new NonProxyHosts( NonProxyHosts.split( nonProxyHosts ) 
).isNonProxyHost( host );
@@ -90,4 +97,67 @@ public class DefaultProxySelectorTest
         assertTrue( isNonProxyHost( "www.ECLIPSE.org", "www.eclipse.org" ) );
     }
 
+    @Test
+    public void testGetProxy_FirstMatchWins()
+    {
+        DefaultProxySelector selector = new DefaultProxySelector();
+        Proxy proxy1 = new Proxy( Proxy.TYPE_HTTP, "proxy", 88 );
+        selector.add( proxy1, "localhost" );
+        Proxy proxy2 = new Proxy( Proxy.TYPE_HTTP, "other", 8888 );
+        selector.add( proxy2, "" );
+
+        assertSame( proxy1, selector.getProxy( newRepo( "http://eclipse.org/"; 
) ) );
+        assertSame( proxy2, selector.getProxy( newRepo( "http://localhost/"; ) 
) );
+    }
+
+    @Test
+    public void testGetProxy_Http()
+    {
+        DefaultProxySelector selector = new DefaultProxySelector();
+        Proxy proxy1 = new Proxy( Proxy.TYPE_HTTP, "proxy", 88 );
+        selector.add( proxy1, "localhost" );
+
+        assertSame( proxy1, selector.getProxy( newRepo( "http://eclipse.org/"; 
) ) );
+        assertSame( proxy1, selector.getProxy( newRepo( "HTTP://eclipse.org/" 
) ) );
+
+        assertSame( proxy1, selector.getProxy( newRepo( "https://eclipse.org/"; 
) ) );
+        assertSame( proxy1, selector.getProxy( newRepo( "HTTPS://eclipse.org/" 
) ) );
+
+        assertNull( selector.getProxy( newRepo( "http://localhost/"; ) ) );
+
+        Proxy proxy2 = new Proxy( Proxy.TYPE_HTTPS, "sproxy", 888 );
+        selector.add( proxy2, "localhost" );
+
+        assertSame( proxy1, selector.getProxy( newRepo( "http://eclipse.org/"; 
) ) );
+        assertSame( proxy1, selector.getProxy( newRepo( "HTTP://eclipse.org/" 
) ) );
+
+        assertSame( proxy2, selector.getProxy( newRepo( "https://eclipse.org/"; 
) ) );
+        assertSame( proxy2, selector.getProxy( newRepo( "HTTPS://eclipse.org/" 
) ) );
+    }
+
+    @Test
+    public void testGetProxy_WebDav()
+    {
+        DefaultProxySelector selector = new DefaultProxySelector();
+        Proxy proxy1 = new Proxy( Proxy.TYPE_HTTP, "proxy", 88 );
+        selector.add( proxy1, "localhost" );
+
+        assertSame( proxy1, selector.getProxy( newRepo( "dav://eclipse.org/" ) 
) );
+        assertSame( proxy1, selector.getProxy( newRepo( 
"dav:http://eclipse.org/"; ) ) );
+
+        assertSame( proxy1, selector.getProxy( newRepo( "davs://eclipse.org/" 
) ) );
+        assertSame( proxy1, selector.getProxy( newRepo( 
"dav:https://eclipse.org/"; ) ) );
+
+        assertNull( selector.getProxy( newRepo( "dav://localhost/" ) ) );
+
+        Proxy proxy2 = new Proxy( Proxy.TYPE_HTTPS, "sproxy", 888 );
+        selector.add( proxy2, "localhost" );
+
+        assertSame( proxy1, selector.getProxy( newRepo( "dav://eclipse.org/" ) 
) );
+        assertSame( proxy1, selector.getProxy( newRepo( 
"dav:http://eclipse.org/"; ) ) );
+
+        assertSame( proxy2, selector.getProxy( newRepo( "davs://eclipse.org/" 
) ) );
+        assertSame( proxy2, selector.getProxy( newRepo( 
"dav:https://eclipse.org/"; ) ) );
+    }
+
 }

Reply via email to