You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hc.apache.org by ro...@apache.org on 2007/12/21 13:58:08 UTC
svn commit: r606184 - in /httpcomponents/httpclient/trunk/module-client/src:
main/java/org/apache/http/conn/ test/java/org/apache/http/conn/
Author: rolandw
Date: Fri Dec 21 04:58:07 2007
New Revision: 606184
URL: http://svn.apache.org/viewvc?rev=606184&view=rev
Log:
HTTPCLIENT-712: removed deprecated proxy chain constructor, added testcase for null enums
Modified:
httpcomponents/httpclient/trunk/module-client/src/main/java/org/apache/http/conn/HttpRoute.java
httpcomponents/httpclient/trunk/module-client/src/main/java/org/apache/http/conn/RouteTracker.java
httpcomponents/httpclient/trunk/module-client/src/test/java/org/apache/http/conn/TestHttpRoute.java
httpcomponents/httpclient/trunk/module-client/src/test/java/org/apache/http/conn/TestRouteDirector.java
httpcomponents/httpclient/trunk/module-client/src/test/java/org/apache/http/conn/TestRouteTracker.java
Modified: httpcomponents/httpclient/trunk/module-client/src/main/java/org/apache/http/conn/HttpRoute.java
URL: http://svn.apache.org/viewvc/httpcomponents/httpclient/trunk/module-client/src/main/java/org/apache/http/conn/HttpRoute.java?rev=606184&r1=606183&r2=606184&view=diff
==============================================================================
--- httpcomponents/httpclient/trunk/module-client/src/main/java/org/apache/http/conn/HttpRoute.java (original)
+++ httpcomponents/httpclient/trunk/module-client/src/main/java/org/apache/http/conn/HttpRoute.java Fri Dec 21 04:58:07 2007
@@ -115,8 +115,10 @@
* <code>null</code> for a direct route
* @param secure <code>true</code> if the route is (to be) secure,
* <code>false</code> otherwise
- * @param tunnelled the tunnel type of this route
- * @param layered the layering type of this route
+ * @param tunnelled the tunnel type of this route, or
+ * <code>null</code> for PLAIN
+ * @param layered the layering type of this route, or
+ * <code>null</code> for PLAIN
*/
private HttpRoute(InetAddress local,
HttpHost target, HttpHost[] proxies,
@@ -131,6 +133,12 @@
("Proxy required if tunnelled.");
}
+ // tunnelled is already checked above, that is in line with the default
+ if (tunnelled == null)
+ tunnelled = TunnelType.PLAIN;
+ if (layered == null)
+ layered = LayerType.PLAIN;
+
this.targetHost = target;
this.localAddress = local;
this.proxyChain = proxies;
@@ -156,33 +164,6 @@
public HttpRoute(HttpHost target, InetAddress local, HttpHost[] proxies,
boolean secure, TunnelType tunnelled, LayerType layered) {
this(local, target, toChain(proxies), secure, tunnelled, layered);
- }
-
-
- /**
- * Creates a new route with all attributes specified explicitly.
- *
- * @param target the host to which to route
- * @param local the local address to route from, or
- * <code>null</code> for the default
- * @param proxies the proxy chain to use, or
- * <code>null</code> for a direct route
- * @param secure <code>true</code> if the route is (to be) secure,
- * <code>false</code> otherwise
- * @param tunnelled <code>true</code> if the route is (to be) tunnelled
- * end-to-end via the proxy chain,
- * <code>false</code> otherwise
- * @param layered <code>true</code> if the route includes a
- * layered protocol,
- * <code>false</code> otherwise
- *
- * @deprecated use enums instead of boolean for 'tunnelled' and 'layered'
- */
- public HttpRoute(HttpHost target, InetAddress local, HttpHost[] proxies,
- boolean secure, boolean tunnelled, boolean layered) {
- this(local, target, toChain(proxies), secure,
- tunnelled ? TunnelType.TUNNELLED : TunnelType.PLAIN,
- layered ? LayerType.LAYERED : LayerType.PLAIN);
}
Modified: httpcomponents/httpclient/trunk/module-client/src/main/java/org/apache/http/conn/RouteTracker.java
URL: http://svn.apache.org/viewvc/httpcomponents/httpclient/trunk/module-client/src/main/java/org/apache/http/conn/RouteTracker.java?rev=606184&r1=606183&r2=606184&view=diff
==============================================================================
--- httpcomponents/httpclient/trunk/module-client/src/main/java/org/apache/http/conn/RouteTracker.java (original)
+++ httpcomponents/httpclient/trunk/module-client/src/main/java/org/apache/http/conn/RouteTracker.java Fri Dec 21 04:58:07 2007
@@ -35,6 +35,8 @@
import org.apache.http.HttpHost;
import org.apache.http.util.CharArrayBuffer;
+import org.apache.http.conn.HttpRoute.TunnelType;
+import org.apache.http.conn.HttpRoute.LayerType;
/**
@@ -69,10 +71,10 @@
private HttpHost[] proxyChain;
/** Whether the the route is tunnelled end-to-end through proxies. */
- private boolean tunnelled;
+ private TunnelType tunnelled;
/** Whether the route is layered over a tunnel. */
- private boolean layered;
+ private LayerType layered;
/** Whether the route is secure. */
private boolean secure;
@@ -90,8 +92,10 @@
if (target == null) {
throw new IllegalArgumentException("Target host may not be null.");
}
- this.targetHost = target;
+ this.targetHost = target;
this.localAddress = local;
+ this.tunnelled = TunnelType.PLAIN;
+ this.layered = LayerType.PLAIN;
}
@@ -155,7 +159,7 @@
if (this.proxyChain == null) {
throw new IllegalStateException("No tunnel without proxy.");
}
- this.tunnelled = true;
+ this.tunnelled = TunnelType.TUNNELLED;
this.secure = secure;
}
@@ -204,7 +208,7 @@
throw new IllegalStateException
("No layered protocol unless connected.");
}
- this.layered = true;
+ this.layered = LayerType.LAYERED;
this.secure = secure;
}
@@ -307,24 +311,51 @@
/**
+ * Obtains the tunnel type of this route.
+ * If there is a proxy chain, only end-to-end tunnels are considered.
+ *
+ * @return the tunnelling type
+ */
+ public final TunnelType getTunnelType() {
+ return this.tunnelled;
+ }
+
+
+ /**
* Checks whether this route is tunnelled through a proxy.
+ * If there is a proxy chain, only end-to-end tunnels are considered.
*
- * @return <code>true</code> if tunnelled,
+ * @return <code>true</code> if tunnelled end-to-end through at least
+ * one proxy,
* <code>false</code> otherwise
*/
public final boolean isTunnelled() {
- return this.tunnelled;
+ return (this.tunnelled == TunnelType.TUNNELLED);
+ }
+
+
+ /**
+ * Obtains the layering type of this route.
+ * In the presence of proxies, only layering over an end-to-end tunnel
+ * is considered.
+ *
+ * @return the layering type
+ */
+ public final LayerType getLayerType() {
+ return this.layered;
}
/**
* Checks whether this route includes a layered protocol.
+ * In the presence of proxies, only layering over an end-to-end tunnel
+ * is considered.
*
* @return <code>true</code> if layered,
* <code>false</code> otherwise
*/
public final boolean isLayered() {
- return this.layered;
+ return (this.layered == LayerType.LAYERED);
}
@@ -421,10 +452,9 @@
hc ^= 0x11111111;
if (this.secure)
hc ^= 0x22222222;
- if (this.tunnelled)
- hc ^= 0x44444444;
- if (this.layered)
- hc ^= 0x88888888;
+
+ hc ^= this.tunnelled.hashCode();
+ hc ^= this.layered.hashCode();
return hc;
}
@@ -446,9 +476,9 @@
cab.append('{');
if (this.connected)
cab.append('c');
- if (this.tunnelled)
+ if (this.tunnelled == TunnelType.TUNNELLED)
cab.append('t');
- if (this.layered)
+ if (this.layered == LayerType.LAYERED)
cab.append('l');
if (this.secure)
cab.append('s');
Modified: httpcomponents/httpclient/trunk/module-client/src/test/java/org/apache/http/conn/TestHttpRoute.java
URL: http://svn.apache.org/viewvc/httpcomponents/httpclient/trunk/module-client/src/test/java/org/apache/http/conn/TestHttpRoute.java?rev=606184&r1=606183&r2=606184&view=diff
==============================================================================
--- httpcomponents/httpclient/trunk/module-client/src/test/java/org/apache/http/conn/TestHttpRoute.java (original)
+++ httpcomponents/httpclient/trunk/module-client/src/test/java/org/apache/http/conn/TestHttpRoute.java Fri Dec 21 04:58:07 2007
@@ -41,6 +41,8 @@
import junit.framework.TestSuite;
import org.apache.http.HttpHost;
+import org.apache.http.conn.HttpRoute.TunnelType;
+import org.apache.http.conn.HttpRoute.LayerType;
/**
@@ -106,8 +108,8 @@
// create a route with all arguments and check the details
HttpHost[] chain3 = { PROXY1, PROXY2, PROXY3 };
- HttpRoute route = new HttpRoute(TARGET1, LOCAL41, chain3,
- false, false, false);
+ HttpRoute route = new HttpRoute(TARGET1, LOCAL41, chain3, false,
+ TunnelType.PLAIN, LayerType.PLAIN);
assertEquals("wrong target",
TARGET1, route.getTargetHost());
assertEquals("wrong local address",
@@ -149,22 +151,30 @@
HttpHost[] chain3 = { PROXY1, PROXY2, PROXY3 };
- HttpRoute routefff = new HttpRoute(TARGET1, LOCAL41, chain3,
- false, false, false);
- HttpRoute routefft = new HttpRoute(TARGET1, LOCAL41, chain3,
- false, false, true);
- HttpRoute routeftf = new HttpRoute(TARGET1, LOCAL41, chain3,
- false, true, false);
- HttpRoute routeftt = new HttpRoute(TARGET1, LOCAL41, chain3,
- false, true, true);
- HttpRoute routetff = new HttpRoute(TARGET1, LOCAL41, chain3,
- true, false, false);
- HttpRoute routetft = new HttpRoute(TARGET1, LOCAL41, chain3,
- true, false, true);
- HttpRoute routettf = new HttpRoute(TARGET1, LOCAL41, chain3,
- true, true, false);
- HttpRoute routettt = new HttpRoute(TARGET1, LOCAL41, chain3,
- true, true, true);
+ HttpRoute routefff = new HttpRoute
+ (TARGET1, LOCAL41, chain3, false,
+ TunnelType.PLAIN, LayerType.PLAIN);
+ HttpRoute routefft = new HttpRoute
+ (TARGET1, LOCAL41, chain3, false,
+ TunnelType.PLAIN, LayerType.LAYERED);
+ HttpRoute routeftf = new HttpRoute
+ (TARGET1, LOCAL41, chain3, false,
+ TunnelType.TUNNELLED, LayerType.PLAIN);
+ HttpRoute routeftt = new HttpRoute
+ (TARGET1, LOCAL41, chain3, false,
+ TunnelType.TUNNELLED, LayerType.LAYERED);
+ HttpRoute routetff = new HttpRoute
+ (TARGET1, LOCAL41, chain3, true,
+ TunnelType.PLAIN, LayerType.PLAIN);
+ HttpRoute routetft = new HttpRoute
+ (TARGET1, LOCAL41, chain3, true,
+ TunnelType.PLAIN, LayerType.LAYERED);
+ HttpRoute routettf = new HttpRoute
+ (TARGET1, LOCAL41, chain3, true,
+ TunnelType.TUNNELLED, LayerType.PLAIN);
+ HttpRoute routettt = new HttpRoute
+ (TARGET1, LOCAL41, chain3, true,
+ TunnelType.TUNNELLED, LayerType.LAYERED);
assertFalse("routefff.secure", routefff.isSecure());
assertFalse("routefff.tunnel", routefff.isTunnelled());
@@ -244,21 +254,21 @@
HttpHost[] chain4 = { PROXY1, PROXY2, null, PROXY3 };
// for reference: this one should succeed
- HttpRoute route = new HttpRoute(TARGET1, null, chain1,
- false, true, false);
+ HttpRoute route = new HttpRoute(TARGET1, null, chain1, false,
+ TunnelType.TUNNELLED, LayerType.PLAIN);
assertNotNull(route);
try {
- route = new HttpRoute(null, null, chain1,
- false, true, false);
+ route = new HttpRoute(null, null, chain1, false,
+ TunnelType.TUNNELLED, LayerType.PLAIN);
fail("missing target not detected");
} catch (IllegalArgumentException iax) {
// expected
}
try {
- route = new HttpRoute(TARGET1, null, (HttpHost[]) null,
- false, true, false);
+ route = new HttpRoute(TARGET1, null, (HttpHost[]) null, false,
+ TunnelType.TUNNELLED, LayerType.PLAIN);
fail("missing proxy for tunnel not detected");
} catch (IllegalArgumentException iax) {
// expected
@@ -266,16 +276,16 @@
// for the next two, we don't indicate a tunnel anymore
try {
- route = new HttpRoute(TARGET1, null, chain0,
- false, false, false);
+ route = new HttpRoute(TARGET1, null, chain0, false,
+ TunnelType.PLAIN, LayerType.PLAIN);
fail("invalid proxy chain (0) not detected");
} catch (IllegalArgumentException iax) {
// expected
}
try {
- route = new HttpRoute(TARGET1, null, chain4,
- false, false, false);
+ route = new HttpRoute(TARGET1, null, chain4, false,
+ TunnelType.PLAIN, LayerType.PLAIN);
fail("invalid proxy chain (4) not detected");
} catch (IllegalArgumentException iax) {
// expected
@@ -283,6 +293,22 @@
}
+ public void testNullEnums() {
+
+ // tests the default values for the enum parameters
+ // also covers the accessors for the enum attributes
+
+ HttpRoute route = new HttpRoute(TARGET1, null, PROXY1, false,
+ null, null); // here are defaults
+
+ assertFalse("default tunnelling", route.isTunnelled());
+ assertEquals("untunnelled", TunnelType.PLAIN, route.getTunnelType());
+
+ assertFalse("default layering", route.isLayered());
+ assertEquals("unlayered", LayerType.PLAIN, route.getLayerType());
+ }
+
+
public void testEqualsHashcodeClone() throws CloneNotSupportedException {
HttpHost[] chain0 = { };
HttpHost[] chain1 = { PROXY1 };
@@ -290,10 +316,10 @@
HttpHost[] chain4 = { PROXY1, PROXY3, PROXY2 };
// create some identical routes
- HttpRoute route1a = new HttpRoute(TARGET1, LOCAL41, chain3,
- false, false, false);
- HttpRoute route1b = new HttpRoute(TARGET1, LOCAL41, chain3,
- false, false, false);
+ HttpRoute route1a = new HttpRoute(TARGET1, LOCAL41, chain3, false,
+ TunnelType.PLAIN, LayerType.PLAIN);
+ HttpRoute route1b = new HttpRoute(TARGET1, LOCAL41, chain3, false,
+ TunnelType.PLAIN, LayerType.PLAIN);
HttpRoute route1c = (HttpRoute) route1a.clone();
assertEquals("1a 1a", route1a, route1a);
@@ -309,28 +335,29 @@
assertEquals("toString 1c", route1a.toString(), route1c.toString());
// now create some differing routes
- HttpRoute route2a = new HttpRoute(TARGET2, LOCAL41, chain3,
- false, false, false);
- HttpRoute route2b = new HttpRoute(TARGET1, LOCAL42, chain3,
- false, false, false);
- HttpRoute route2c = new HttpRoute(TARGET1, LOCAL61, chain3,
- false, false, false);
- HttpRoute route2d = new HttpRoute(TARGET1, null, chain3,
- false, false, false);
+ HttpRoute route2a = new HttpRoute(TARGET2, LOCAL41, chain3, false,
+ TunnelType.PLAIN, LayerType.PLAIN);
+ HttpRoute route2b = new HttpRoute(TARGET1, LOCAL42, chain3, false,
+ TunnelType.PLAIN, LayerType.PLAIN);
+ HttpRoute route2c = new HttpRoute(TARGET1, LOCAL61, chain3, false,
+ TunnelType.PLAIN, LayerType.PLAIN);
+ HttpRoute route2d = new HttpRoute(TARGET1, null, chain3, false,
+ TunnelType.PLAIN, LayerType.PLAIN);
HttpRoute route2e = new HttpRoute(TARGET1, LOCAL41, (HttpHost[]) null,
- false, false, false);
- HttpRoute route2f = new HttpRoute(TARGET1, LOCAL41, chain0,
- false, false, false);
- HttpRoute route2g = new HttpRoute(TARGET1, LOCAL41, chain1,
- false, false, false);
- HttpRoute route2h = new HttpRoute(TARGET1, LOCAL41, chain4,
- false, false, false);
- HttpRoute route2i = new HttpRoute(TARGET1, LOCAL41, chain3,
- true, false, false);
- HttpRoute route2j = new HttpRoute(TARGET1, LOCAL41, chain3,
- false, true, false);
- HttpRoute route2k = new HttpRoute(TARGET1, LOCAL41, chain3,
- false, false, true);
+ false,
+ TunnelType.PLAIN, LayerType.PLAIN);
+ HttpRoute route2f = new HttpRoute(TARGET1, LOCAL41, chain0, false,
+ TunnelType.PLAIN, LayerType.PLAIN);
+ HttpRoute route2g = new HttpRoute(TARGET1, LOCAL41, chain1, false,
+ TunnelType.PLAIN, LayerType.PLAIN);
+ HttpRoute route2h = new HttpRoute(TARGET1, LOCAL41, chain4, false,
+ TunnelType.PLAIN, LayerType.PLAIN);
+ HttpRoute route2i = new HttpRoute(TARGET1, LOCAL41, chain3, true,
+ TunnelType.PLAIN, LayerType.PLAIN);
+ HttpRoute route2j = new HttpRoute(TARGET1, LOCAL41, chain3, false,
+ TunnelType.TUNNELLED, LayerType.PLAIN);
+ HttpRoute route2k = new HttpRoute(TARGET1, LOCAL41, chain3, false,
+ TunnelType.PLAIN, LayerType.LAYERED);
// check a special case first: 2f should be the same as 2e
assertEquals("2e 2f", route2e, route2f);
@@ -441,8 +468,8 @@
public void testHopping() {
// test getHopCount() and getHopTarget() with different proxy chains
HttpHost[] proxies = null;
- HttpRoute route = new HttpRoute(TARGET1, null, proxies,
- true, false, false);
+ HttpRoute route = new HttpRoute(TARGET1, null, proxies, true,
+ TunnelType.PLAIN, LayerType.PLAIN);
assertEquals("A: hop count", 1, route.getHopCount());
assertEquals("A: hop 0", TARGET1, route.getHopTarget(0));
try {
@@ -460,8 +487,8 @@
proxies = new HttpHost[]{ PROXY3 };
- route = new HttpRoute(TARGET1, LOCAL62, proxies,
- false, true, false);
+ route = new HttpRoute(TARGET1, LOCAL62, proxies, false,
+ TunnelType.TUNNELLED, LayerType.PLAIN);
assertEquals("B: hop count", 2, route.getHopCount());
assertEquals("B: hop 0", PROXY3, route.getHopTarget(0));
assertEquals("B: hop 1", TARGET1, route.getHopTarget(1));
@@ -480,8 +507,8 @@
proxies = new HttpHost[]{ PROXY3, PROXY1, PROXY2 };
- route = new HttpRoute(TARGET1, LOCAL42, proxies,
- false, false, true);
+ route = new HttpRoute(TARGET1, LOCAL42, proxies, false,
+ TunnelType.PLAIN, LayerType.LAYERED);
assertEquals("C: hop count", 4, route.getHopCount());
assertEquals("C: hop 0", PROXY3 , route.getHopTarget(0));
assertEquals("C: hop 1", PROXY1 , route.getHopTarget(1));
@@ -504,8 +531,9 @@
public void testCstr1() {
HttpRoute route = new HttpRoute(TARGET2);
- HttpRoute should = new HttpRoute(TARGET2, null, (HttpHost[]) null,
- false, false, false);
+ HttpRoute should = new HttpRoute
+ (TARGET2, null, (HttpHost[]) null, false,
+ TunnelType.PLAIN, LayerType.PLAIN);
assertEquals("bad convenience route", route, should);
}
@@ -513,13 +541,14 @@
public void testCstr3() {
// test convenience constructor with 3 arguments
HttpRoute route = new HttpRoute(TARGET2, LOCAL61, false);
- HttpRoute should = new HttpRoute(TARGET2, LOCAL61, (HttpHost[]) null,
- false, false, false);
+ HttpRoute should = new HttpRoute
+ (TARGET2, LOCAL61, (HttpHost[]) null, false,
+ TunnelType.PLAIN, LayerType.PLAIN);
assertEquals("bad convenience route 3/insecure", route, should);
route = new HttpRoute(TARGET2, null, true);
- should = new HttpRoute(TARGET2, null, (HttpHost[]) null,
- true, false, false);
+ should = new HttpRoute(TARGET2, null, (HttpHost[]) null, true,
+ TunnelType.PLAIN, LayerType.PLAIN);
assertEquals("bad convenience route 3/secure", route, should);
}
@@ -528,12 +557,14 @@
// test convenience constructor with 4 arguments
HttpRoute route = new HttpRoute(TARGET2, null, PROXY2, false);
HttpRoute should = new HttpRoute
- (TARGET2, null, new HttpHost[]{ PROXY2 }, false, false, false);
+ (TARGET2, null, new HttpHost[]{ PROXY2 }, false,
+ TunnelType.PLAIN, LayerType.PLAIN);
assertEquals("bad convenience route 4/insecure", route, should);
route = new HttpRoute(TARGET2, LOCAL42, PROXY1, true);
should = new HttpRoute
- (TARGET2, LOCAL42, new HttpHost[]{ PROXY1 }, true, true, true);
+ (TARGET2, LOCAL42, new HttpHost[]{ PROXY1 }, true,
+ TunnelType.TUNNELLED, LayerType.LAYERED);
assertEquals("bad convenience route 4/secure", route, should);
// this constructor REQUIRES a proxy to be specified
@@ -549,15 +580,19 @@
public void testCstr6() {
// test convenience constructor with 6 arguments
HttpRoute route = new HttpRoute
- (TARGET2, null, PROXY2, true, true, false);
+ (TARGET2, null, PROXY2, true,
+ TunnelType.TUNNELLED, LayerType.PLAIN);
HttpRoute should = new HttpRoute
- (TARGET2, null, new HttpHost[]{ PROXY2 }, true, true, false);
+ (TARGET2, null, new HttpHost[]{ PROXY2 }, true,
+ TunnelType.TUNNELLED, LayerType.PLAIN);
assertEquals("bad convenience route 6/proxied", route, should);
route = new HttpRoute
- (TARGET2, null, (HttpHost) null, true, false, true);
+ (TARGET2, null, (HttpHost) null, true,
+ TunnelType.PLAIN, LayerType.LAYERED);
should = new HttpRoute
- (TARGET2, null, (HttpHost[]) null, true, false, true);
+ (TARGET2, null, (HttpHost[]) null, true,
+ TunnelType.PLAIN, LayerType.LAYERED);
assertEquals("bad convenience route 6/direct", route, should);
// handling of null vs. empty chain is checked in the equals tests
@@ -567,12 +602,12 @@
public void testImmutable() throws CloneNotSupportedException {
HttpHost[] proxies = new HttpHost[]{ PROXY1, PROXY2, PROXY3 };
- HttpRoute route1 = new HttpRoute(TARGET1, null, proxies,
- false, false, false);
+ HttpRoute route1 = new HttpRoute(TARGET1, null, proxies, false,
+ TunnelType.PLAIN, LayerType.PLAIN);
HttpRoute route2 = (HttpRoute) route1.clone();
HttpRoute route3 = new HttpRoute(TARGET1, null,
- (HttpHost[]) proxies.clone(),
- false, false, false);
+ (HttpHost[]) proxies.clone(), false,
+ TunnelType.PLAIN, LayerType.PLAIN);
// modify the array that was passed to the constructor of route1
proxies[1] = PROXY3;
Modified: httpcomponents/httpclient/trunk/module-client/src/test/java/org/apache/http/conn/TestRouteDirector.java
URL: http://svn.apache.org/viewvc/httpcomponents/httpclient/trunk/module-client/src/test/java/org/apache/http/conn/TestRouteDirector.java?rev=606184&r1=606183&r2=606184&view=diff
==============================================================================
--- httpcomponents/httpclient/trunk/module-client/src/test/java/org/apache/http/conn/TestRouteDirector.java (original)
+++ httpcomponents/httpclient/trunk/module-client/src/test/java/org/apache/http/conn/TestRouteDirector.java Fri Dec 21 04:58:07 2007
@@ -38,6 +38,8 @@
import junit.framework.TestSuite;
import org.apache.http.HttpHost;
+import org.apache.http.conn.HttpRoute.TunnelType;
+import org.apache.http.conn.HttpRoute.LayerType;
/**
@@ -199,14 +201,14 @@
HttpHost[] chainC = { PROXY2, PROXY1 };
HttpRouteDirector rowdy = new BasicRouteDirector();
- HttpRoute route1cA = new HttpRoute(TARGET1, null, chainA,
- false, false, false);
- HttpRoute route1cB = new HttpRoute(TARGET1, null, chainB,
- false, false, false);
- HttpRoute route1cC = new HttpRoute(TARGET1, null, chainC,
- false, false, false);
- HttpRoute route1cD = new HttpRoute(TARGET1, null, chainC,
- false, false, false);
+ HttpRoute route1cA = new HttpRoute(TARGET1, null, chainA, false,
+ TunnelType.PLAIN, LayerType.PLAIN);
+ HttpRoute route1cB = new HttpRoute(TARGET1, null, chainB, false,
+ TunnelType.PLAIN, LayerType.PLAIN);
+ HttpRoute route1cC = new HttpRoute(TARGET1, null, chainC, false,
+ TunnelType.PLAIN, LayerType.PLAIN);
+ HttpRoute route1cD = new HttpRoute(TARGET1, null, chainC, false,
+ TunnelType.PLAIN, LayerType.PLAIN);
int step = rowdy.nextStep(route1cA, null);
assertEquals("wrong step to route1cA",
Modified: httpcomponents/httpclient/trunk/module-client/src/test/java/org/apache/http/conn/TestRouteTracker.java
URL: http://svn.apache.org/viewvc/httpcomponents/httpclient/trunk/module-client/src/test/java/org/apache/http/conn/TestRouteTracker.java?rev=606184&r1=606183&r2=606184&view=diff
==============================================================================
--- httpcomponents/httpclient/trunk/module-client/src/test/java/org/apache/http/conn/TestRouteTracker.java (original)
+++ httpcomponents/httpclient/trunk/module-client/src/test/java/org/apache/http/conn/TestRouteTracker.java Fri Dec 21 04:58:07 2007
@@ -40,6 +40,8 @@
import junit.framework.TestSuite;
import org.apache.http.HttpHost;
+import org.apache.http.conn.HttpRoute.TunnelType;
+import org.apache.http.conn.HttpRoute.LayerType;
/**
@@ -330,13 +332,15 @@
assertTrue("incomplete route 1", complete);
// tunnelled, but neither secure nor layered
- r = new HttpRoute(TARGET1, LOCAL61, PROXY3, false, true, false);
+ r = new HttpRoute(TARGET1, LOCAL61, PROXY3, false,
+ TunnelType.TUNNELLED, LayerType.PLAIN);
rt = new RouteTracker(r);
complete = checkVia(rt, r, rd, 3);
assertTrue("incomplete route 2", complete);
// tunnelled, layered, but not secure
- r = new HttpRoute(TARGET1, LOCAL61, PROXY3, false, true, true);
+ r = new HttpRoute(TARGET1, LOCAL61, PROXY3, false,
+ TunnelType.TUNNELLED, LayerType.LAYERED);
rt = new RouteTracker(r);
complete = checkVia(rt, r, rd, 4);
assertTrue("incomplete route 3", complete);
@@ -353,29 +357,32 @@
final HttpRouteDirector rd = new BasicRouteDirector();
HttpHost[] proxies = { PROXY1, PROXY2 };
- HttpRoute r = new HttpRoute(TARGET2, LOCAL42, proxies,
- false, false, false);
+ HttpRoute r = new HttpRoute(TARGET2, LOCAL42, proxies, false,
+ TunnelType.PLAIN, LayerType.PLAIN);
RouteTracker rt = new RouteTracker(r);
boolean complete = checkVia(rt, r, rd, 3);
assertTrue("incomplete route 1", complete);
// tunnelled, but neither secure nor layered
proxies = new HttpHost[]{ PROXY3, PROXY2 };
- r = new HttpRoute(TARGET1, null, proxies, false, true, false);
+ r = new HttpRoute(TARGET1, null, proxies, false,
+ TunnelType.TUNNELLED, LayerType.PLAIN);
rt = new RouteTracker(r);
complete = checkVia(rt, r, rd, 4);
assertTrue("incomplete route 2", complete);
// tunnelled, layered, but not secure
proxies = new HttpHost[]{ PROXY3, PROXY2, PROXY1 };
- r = new HttpRoute(TARGET2, LOCAL61, proxies, false, true, true);
+ r = new HttpRoute(TARGET2, LOCAL61, proxies, false,
+ TunnelType.TUNNELLED, LayerType.LAYERED);
rt = new RouteTracker(r);
complete = checkVia(rt, r, rd, 6);
assertTrue("incomplete route 3", complete);
// tunnelled, layered, secure
proxies = new HttpHost[]{ PROXY1, PROXY3 };
- r = new HttpRoute(TARGET1, LOCAL61, proxies, true, true, true);
+ r = new HttpRoute(TARGET1, LOCAL61, proxies, true,
+ TunnelType.TUNNELLED, LayerType.LAYERED);
rt = new RouteTracker(r);
complete = checkVia(rt, r, rd, 5);
assertTrue("incomplete route 4", complete);