You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hc.apache.org by se...@apache.org on 2011/06/02 14:18:50 UTC
svn commit: r1130511 -
/httpcomponents/httpclient/branches/4.1.x/httpclient/src/test/java/org/apache/http/client/protocol/TestRequestAddCookies.java
Author: sebb
Date: Thu Jun 2 12:18:50 2011
New Revision: 1130511
URL: http://svn.apache.org/viewvc?rev=1130511&view=rev
Log:
Add Cookie ordering test (c.f. r1128428)
Modified:
httpcomponents/httpclient/branches/4.1.x/httpclient/src/test/java/org/apache/http/client/protocol/TestRequestAddCookies.java
Modified: httpcomponents/httpclient/branches/4.1.x/httpclient/src/test/java/org/apache/http/client/protocol/TestRequestAddCookies.java
URL: http://svn.apache.org/viewvc/httpcomponents/httpclient/branches/4.1.x/httpclient/src/test/java/org/apache/http/client/protocol/TestRequestAddCookies.java?rev=1130511&r1=1130510&r2=1130511&view=diff
==============================================================================
--- httpcomponents/httpclient/branches/4.1.x/httpclient/src/test/java/org/apache/http/client/protocol/TestRequestAddCookies.java (original)
+++ httpcomponents/httpclient/branches/4.1.x/httpclient/src/test/java/org/apache/http/client/protocol/TestRequestAddCookies.java Thu Jun 2 12:18:50 2011
@@ -64,6 +64,7 @@ import org.junit.Before;
import org.junit.Test;
import org.mockito.Mockito;
+@SuppressWarnings("boxing")
public class TestRequestAddCookies {
private HttpHost target;
@@ -499,6 +500,48 @@ public class TestRequestAddCookies {
Assert.assertEquals(0, headers2.length);
}
+ // Helper method
+ private BasicClientCookie makeCookie(String name, String value, String domain, String path) {
+ BasicClientCookie cookie = new BasicClientCookie(name, value);
+ cookie.setDomain(domain);
+ cookie.setPath(path);
+ return cookie;
+ }
+
+ @Test
+ // Test for ordering adapted from test in Commons HC 3.1
+ public void testCookieOrder() throws Exception {
+ HttpRequest request = new BasicHttpRequest("GET", "/foobar/yada/yada");
+
+ this.cookieStore.clear();
+
+ cookieStore.addCookie(makeCookie("nomatch", "value", "localhost.local", "/noway"));
+ cookieStore.addCookie(makeCookie("name2", "value", "localhost.local", "/foobar/yada"));
+ cookieStore.addCookie(makeCookie("name3", "value", "localhost.local", "/foobar"));
+ cookieStore.addCookie(makeCookie("name1", "value", "localhost.local", "/foobar/yada/yada"));
+
+ HttpRoute route = new HttpRoute(this.target, null, false);
+
+ HttpRoutedConnection conn = Mockito.mock(HttpRoutedConnection.class);
+ Mockito.when(conn.getRoute()).thenReturn(route);
+ Mockito.when(conn.isSecure()).thenReturn(Boolean.FALSE);
+
+ HttpContext context = new BasicHttpContext();
+ context.setAttribute(ExecutionContext.HTTP_TARGET_HOST, this.target);
+ context.setAttribute(ExecutionContext.HTTP_CONNECTION, conn);
+ context.setAttribute(ClientContext.COOKIE_STORE, this.cookieStore);
+ context.setAttribute(ClientContext.COOKIESPEC_REGISTRY, this.cookieSpecRegistry);
+
+ HttpRequestInterceptor interceptor = new RequestAddCookies();
+ interceptor.process(request, context);
+
+ Header[] headers1 = request.getHeaders(SM.COOKIE);
+ Assert.assertNotNull(headers1);
+ Assert.assertEquals(1, headers1.length);
+
+ Assert.assertEquals("name1=value; name2=value; name3=value", headers1[0].getValue());
+ }
+
@Test
public void testAddSpecVersionHeader() throws Exception {
HttpRequest request = new BasicHttpRequest("GET", "/");