You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hc.apache.org by ol...@apache.org on 2016/12/27 19:48:10 UTC
svn commit: r1776187 [7/21] - in /httpcomponents/httpclient/trunk: ./
httpclient5-cache/src/main/java/org/apache/hc/client5/http/cache/
httpclient5-cache/src/main/java/org/apache/hc/client5/http/impl/cache/
httpclient5-cache/src/test/java/org/apache/hc...
Modified: httpcomponents/httpclient/trunk/httpclient5-cache/src/test/java/org/apache/hc/client5/http/impl/cache/TestCombinedEntity.java
URL: http://svn.apache.org/viewvc/httpcomponents/httpclient/trunk/httpclient5-cache/src/test/java/org/apache/hc/client5/http/impl/cache/TestCombinedEntity.java?rev=1776187&r1=1776186&r2=1776187&view=diff
==============================================================================
--- httpcomponents/httpclient/trunk/httpclient5-cache/src/test/java/org/apache/hc/client5/http/impl/cache/TestCombinedEntity.java (original)
+++ httpcomponents/httpclient/trunk/httpclient5-cache/src/test/java/org/apache/hc/client5/http/impl/cache/TestCombinedEntity.java Tue Dec 27 19:48:07 2016
@@ -33,7 +33,7 @@ import static org.mockito.Mockito.when;
import java.io.ByteArrayInputStream;
import org.apache.hc.client5.http.cache.Resource;
-import org.apache.hc.core5.http.entity.EntityUtils;
+import org.apache.hc.core5.http.io.entity.EntityUtils;
import org.junit.Assert;
import org.junit.Test;
Modified: httpcomponents/httpclient/trunk/httpclient5-cache/src/test/java/org/apache/hc/client5/http/impl/cache/TestConditionalRequestBuilder.java
URL: http://svn.apache.org/viewvc/httpcomponents/httpclient/trunk/httpclient5-cache/src/test/java/org/apache/hc/client5/http/impl/cache/TestConditionalRequestBuilder.java?rev=1776187&r1=1776186&r2=1776187&view=diff
==============================================================================
--- httpcomponents/httpclient/trunk/httpclient5-cache/src/test/java/org/apache/hc/client5/http/impl/cache/TestConditionalRequestBuilder.java (original)
+++ httpcomponents/httpclient/trunk/httpclient5-cache/src/test/java/org/apache/hc/client5/http/impl/cache/TestConditionalRequestBuilder.java Tue Dec 27 19:48:07 2016
@@ -28,20 +28,23 @@ package org.apache.hc.client5.http.impl.
import java.util.Date;
import java.util.HashMap;
+import java.util.Iterator;
import java.util.Map;
+import org.apache.hc.client5.http.HttpRoute;
import org.apache.hc.client5.http.cache.HeaderConstants;
import org.apache.hc.client5.http.cache.HttpCacheEntry;
-import org.apache.hc.client5.http.methods.HttpRequestWrapper;
+import org.apache.hc.client5.http.methods.RoutedHttpRequest;
import org.apache.hc.client5.http.utils.DateUtils;
+import org.apache.hc.core5.http.message.MessageSupport;
+import org.apache.hc.core5.http.ClassicHttpRequest;
import org.apache.hc.core5.http.Header;
import org.apache.hc.core5.http.HeaderElement;
import org.apache.hc.core5.http.HttpHost;
-import org.apache.hc.core5.http.HttpRequest;
import org.apache.hc.core5.http.HttpVersion;
import org.apache.hc.core5.http.ProtocolException;
+import org.apache.hc.core5.http.message.BasicClassicHttpRequest;
import org.apache.hc.core5.http.message.BasicHeader;
-import org.apache.hc.core5.http.message.BasicHttpRequest;
import org.junit.Assert;
import org.junit.Before;
import org.junit.Test;
@@ -50,16 +53,15 @@ public class TestConditionalRequestBuild
private ConditionalRequestBuilder impl;
private HttpHost host;
- private HttpRequestWrapper request;
- private HttpCacheEntry entry;
+ private HttpRoute route;
+ private RoutedHttpRequest request;
@Before
public void setUp() throws Exception {
impl = new ConditionalRequestBuilder();
host = new HttpHost("foo.example.com", 80);
- request = HttpRequestWrapper.wrap(
- new BasicHttpRequest("GET", "/", HttpVersion.HTTP_1_1), host);
- entry = HttpTestUtils.makeCacheEntry();
+ route = new HttpRoute(host);
+ request = RoutedHttpRequest.adapt(new BasicClassicHttpRequest("GET", "/"), route);
}
@Test
@@ -68,23 +70,21 @@ public class TestConditionalRequestBuild
final String theUri = "/theuri";
final String lastModified = "this is my last modified date";
- final HttpRequest basicRequest = new BasicHttpRequest(theMethod, theUri);
+ final ClassicHttpRequest basicRequest = new BasicClassicHttpRequest(theMethod, theUri);
basicRequest.addHeader("Accept-Encoding", "gzip");
- final HttpRequestWrapper requestWrapper = HttpRequestWrapper.wrap(basicRequest, host);
+ final RoutedHttpRequest requestWrapper = RoutedHttpRequest.adapt(basicRequest, route);
final Header[] headers = new Header[] {
new BasicHeader("Date", DateUtils.formatDate(new Date())),
new BasicHeader("Last-Modified", lastModified) };
final HttpCacheEntry cacheEntry = HttpTestUtils.makeCacheEntry(headers);
- final HttpRequestWrapper newRequest = impl.buildConditionalRequest(requestWrapper, cacheEntry);
+ final RoutedHttpRequest newRequest = impl.buildConditionalRequest(requestWrapper, cacheEntry);
Assert.assertNotSame(basicRequest, newRequest);
- Assert.assertEquals(theMethod, newRequest.getRequestLine().getMethod());
- Assert.assertEquals(theUri, newRequest.getRequestLine().getUri());
- Assert.assertEquals(basicRequest.getRequestLine().getProtocolVersion(), newRequest
- .getRequestLine().getProtocolVersion());
+ Assert.assertEquals(theMethod, newRequest.getMethod());
+ Assert.assertEquals(theUri, newRequest.getRequestUri());
Assert.assertEquals(2, newRequest.getAllHeaders().length);
Assert.assertEquals("Accept-Encoding", newRequest.getAllHeaders()[0].getName());
@@ -107,10 +107,10 @@ public class TestConditionalRequestBuild
new BasicHeader("Last-Modified", lmDate),
new BasicHeader("ETag", etag)
};
- final HttpRequest basicRequest = new BasicHttpRequest("GET", "/", HttpVersion.HTTP_1_1);
- final HttpRequestWrapper requestWrapper = HttpRequestWrapper.wrap(basicRequest, host);
+ final ClassicHttpRequest basicRequest = new BasicClassicHttpRequest("GET", "/");
+ final RoutedHttpRequest requestWrapper = RoutedHttpRequest.adapt(basicRequest, route);
final HttpCacheEntry cacheEntry = HttpTestUtils.makeCacheEntry(headers);
- final HttpRequest result = impl.buildConditionalRequest(requestWrapper, cacheEntry);
+ final ClassicHttpRequest result = impl.buildConditionalRequest(requestWrapper, cacheEntry);
Assert.assertEquals(lmDate,
result.getFirstHeader("If-Modified-Since").getValue());
Assert.assertEquals(etag,
@@ -123,9 +123,9 @@ public class TestConditionalRequestBuild
final String theUri = "/theuri";
final String theETag = "this is my eTag";
- final HttpRequest basicRequest = new BasicHttpRequest(theMethod, theUri);
+ final ClassicHttpRequest basicRequest = new BasicClassicHttpRequest(theMethod, theUri);
basicRequest.addHeader("Accept-Encoding", "gzip");
- final HttpRequestWrapper requestWrapper = HttpRequestWrapper.wrap(basicRequest, host);
+ final RoutedHttpRequest requestWrapper = RoutedHttpRequest.adapt(basicRequest, route);
final Header[] headers = new Header[] {
new BasicHeader("Date", DateUtils.formatDate(new Date())),
@@ -134,14 +134,12 @@ public class TestConditionalRequestBuild
final HttpCacheEntry cacheEntry = HttpTestUtils.makeCacheEntry(headers);
- final HttpRequest newRequest = impl.buildConditionalRequest(requestWrapper, cacheEntry);
+ final ClassicHttpRequest newRequest = impl.buildConditionalRequest(requestWrapper, cacheEntry);
Assert.assertNotSame(basicRequest, newRequest);
- Assert.assertEquals(theMethod, newRequest.getRequestLine().getMethod());
- Assert.assertEquals(theUri, newRequest.getRequestLine().getUri());
- Assert.assertEquals(basicRequest.getRequestLine().getProtocolVersion(), newRequest
- .getRequestLine().getProtocolVersion());
+ Assert.assertEquals(theMethod, newRequest.getMethod());
+ Assert.assertEquals(theUri, newRequest.getRequestUri());
Assert.assertEquals(3, newRequest.getAllHeaders().length);
@@ -154,8 +152,8 @@ public class TestConditionalRequestBuild
@Test
public void testCacheEntryWithMustRevalidateDoesEndToEndRevalidation() throws Exception {
- final HttpRequest basicRequest = new BasicHttpRequest("GET","/",HttpVersion.HTTP_1_1);
- final HttpRequestWrapper requestWrapper = HttpRequestWrapper.wrap(basicRequest, host);
+ final ClassicHttpRequest basicRequest = new BasicClassicHttpRequest("GET","/");
+ final RoutedHttpRequest requestWrapper = RoutedHttpRequest.adapt(basicRequest, route);
final Date now = new Date();
final Date elevenSecondsAgo = new Date(now.getTime() - 11 * 1000L);
final Date tenSecondsAgo = new Date(now.getTime() - 10 * 1000L);
@@ -167,15 +165,15 @@ public class TestConditionalRequestBuild
new BasicHeader("Cache-Control","max-age=5, must-revalidate") };
final HttpCacheEntry cacheEntry = HttpTestUtils.makeCacheEntry(elevenSecondsAgo, nineSecondsAgo, cacheEntryHeaders);
- final HttpRequest result = impl.buildConditionalRequest(requestWrapper, cacheEntry);
+ final ClassicHttpRequest result = impl.buildConditionalRequest(requestWrapper, cacheEntry);
boolean foundMaxAge0 = false;
- for(final Header h : result.getHeaders("Cache-Control")) {
- for(final HeaderElement elt : h.getElements()) {
- if ("max-age".equalsIgnoreCase(elt.getName())
- && "0".equals(elt.getValue())) {
- foundMaxAge0 = true;
- }
+
+ final Iterator<HeaderElement> it = MessageSupport.iterate(result, HeaderConstants.CACHE_CONTROL);
+ while (it.hasNext()) {
+ final HeaderElement elt = it.next();
+ if ("max-age".equalsIgnoreCase(elt.getName()) && "0".equals(elt.getValue())) {
+ foundMaxAge0 = true;
}
}
Assert.assertTrue(foundMaxAge0);
@@ -183,8 +181,8 @@ public class TestConditionalRequestBuild
@Test
public void testCacheEntryWithProxyRevalidateDoesEndToEndRevalidation() throws Exception {
- final HttpRequest basicRequest = new BasicHttpRequest("GET","/",HttpVersion.HTTP_1_1);
- final HttpRequestWrapper requestWrapper = HttpRequestWrapper.wrap(basicRequest, host);
+ final ClassicHttpRequest basicRequest = new BasicClassicHttpRequest("GET", "/");
+ final RoutedHttpRequest requestWrapper = RoutedHttpRequest.adapt(basicRequest, route);
final Date now = new Date();
final Date elevenSecondsAgo = new Date(now.getTime() - 11 * 1000L);
final Date tenSecondsAgo = new Date(now.getTime() - 10 * 1000L);
@@ -196,15 +194,14 @@ public class TestConditionalRequestBuild
new BasicHeader("Cache-Control","max-age=5, proxy-revalidate") };
final HttpCacheEntry cacheEntry = HttpTestUtils.makeCacheEntry(elevenSecondsAgo, nineSecondsAgo, cacheEntryHeaders);
- final HttpRequest result = impl.buildConditionalRequest(requestWrapper, cacheEntry);
+ final ClassicHttpRequest result = impl.buildConditionalRequest(requestWrapper, cacheEntry);
boolean foundMaxAge0 = false;
- for(final Header h : result.getHeaders("Cache-Control")) {
- for(final HeaderElement elt : h.getElements()) {
- if ("max-age".equalsIgnoreCase(elt.getName())
- && "0".equals(elt.getValue())) {
- foundMaxAge0 = true;
- }
+ final Iterator<HeaderElement> it = MessageSupport.iterate(result, HeaderConstants.CACHE_CONTROL);
+ while (it.hasNext()) {
+ final HeaderElement elt = it.next();
+ if ("max-age".equalsIgnoreCase(elt.getName()) && "0".equals(elt.getValue())) {
+ foundMaxAge0 = true;
}
}
Assert.assertTrue(foundMaxAge0);
@@ -213,36 +210,36 @@ public class TestConditionalRequestBuild
@Test
public void testBuildUnconditionalRequestUsesGETMethod()
throws Exception {
- final HttpRequest result = impl.buildUnconditionalRequest(request, entry);
- Assert.assertEquals("GET", result.getRequestLine().getMethod());
+ final ClassicHttpRequest result = impl.buildUnconditionalRequest(request);
+ Assert.assertEquals("GET", result.getMethod());
}
@Test
public void testBuildUnconditionalRequestUsesRequestUri()
throws Exception {
final String uri = "/theURI";
- request = HttpRequestWrapper.wrap(new BasicHttpRequest("GET", uri, HttpVersion.HTTP_1_1), host);
- final HttpRequest result = impl.buildUnconditionalRequest(request, entry);
- Assert.assertEquals(uri, result.getRequestLine().getUri());
+ request = RoutedHttpRequest.adapt(new BasicClassicHttpRequest("GET", uri), route);
+ final ClassicHttpRequest result = impl.buildUnconditionalRequest(request);
+ Assert.assertEquals(uri, result.getRequestUri());
}
@Test
public void testBuildUnconditionalRequestUsesHTTP_1_1()
throws Exception {
- final HttpRequest result = impl.buildUnconditionalRequest(request, entry);
- Assert.assertEquals(HttpVersion.HTTP_1_1, result.getProtocolVersion());
+ final ClassicHttpRequest result = impl.buildUnconditionalRequest(request);
+ Assert.assertEquals(HttpVersion.HTTP_1_1, result.getVersion());
}
@Test
public void testBuildUnconditionalRequestAddsCacheControlNoCache()
throws Exception {
- final HttpRequest result = impl.buildUnconditionalRequest(request, entry);
+ final ClassicHttpRequest result = impl.buildUnconditionalRequest(request);
boolean ccNoCacheFound = false;
- for(final Header h : result.getHeaders("Cache-Control")) {
- for(final HeaderElement elt : h.getElements()) {
- if ("no-cache".equals(elt.getName())) {
- ccNoCacheFound = true;
- }
+ final Iterator<HeaderElement> it = MessageSupport.iterate(result, HeaderConstants.CACHE_CONTROL);
+ while (it.hasNext()) {
+ final HeaderElement elt = it.next();
+ if ("no-cache".equals(elt.getName())) {
+ ccNoCacheFound = true;
}
}
Assert.assertTrue(ccNoCacheFound);
@@ -251,13 +248,13 @@ public class TestConditionalRequestBuild
@Test
public void testBuildUnconditionalRequestAddsPragmaNoCache()
throws Exception {
- final HttpRequest result = impl.buildUnconditionalRequest(request, entry);
+ final ClassicHttpRequest result = impl.buildUnconditionalRequest(request);
boolean ccNoCacheFound = false;
- for(final Header h : result.getHeaders("Pragma")) {
- for(final HeaderElement elt : h.getElements()) {
- if ("no-cache".equals(elt.getName())) {
- ccNoCacheFound = true;
- }
+ final Iterator<HeaderElement> it = MessageSupport.iterate(result, HeaderConstants.PRAGMA);
+ while (it.hasNext()) {
+ final HeaderElement elt = it.next();
+ if ("no-cache".equals(elt.getName())) {
+ ccNoCacheFound = true;
}
}
Assert.assertTrue(ccNoCacheFound);
@@ -267,7 +264,7 @@ public class TestConditionalRequestBuild
public void testBuildUnconditionalRequestDoesNotUseIfRange()
throws Exception {
request.addHeader("If-Range","\"etag\"");
- final HttpRequest result = impl.buildUnconditionalRequest(request, entry);
+ final ClassicHttpRequest result = impl.buildUnconditionalRequest(request);
Assert.assertNull(result.getFirstHeader("If-Range"));
}
@@ -275,7 +272,7 @@ public class TestConditionalRequestBuild
public void testBuildUnconditionalRequestDoesNotUseIfMatch()
throws Exception {
request.addHeader("If-Match","\"etag\"");
- final HttpRequest result = impl.buildUnconditionalRequest(request, entry);
+ final ClassicHttpRequest result = impl.buildUnconditionalRequest(request);
Assert.assertNull(result.getFirstHeader("If-Match"));
}
@@ -283,7 +280,7 @@ public class TestConditionalRequestBuild
public void testBuildUnconditionalRequestDoesNotUseIfNoneMatch()
throws Exception {
request.addHeader("If-None-Match","\"etag\"");
- final HttpRequest result = impl.buildUnconditionalRequest(request, entry);
+ final ClassicHttpRequest result = impl.buildUnconditionalRequest(request);
Assert.assertNull(result.getFirstHeader("If-None-Match"));
}
@@ -291,7 +288,7 @@ public class TestConditionalRequestBuild
public void testBuildUnconditionalRequestDoesNotUseIfUnmodifiedSince()
throws Exception {
request.addHeader("If-Unmodified-Since", DateUtils.formatDate(new Date()));
- final HttpRequest result = impl.buildUnconditionalRequest(request, entry);
+ final ClassicHttpRequest result = impl.buildUnconditionalRequest(request);
Assert.assertNull(result.getFirstHeader("If-Unmodified-Since"));
}
@@ -299,7 +296,7 @@ public class TestConditionalRequestBuild
public void testBuildUnconditionalRequestDoesNotUseIfModifiedSince()
throws Exception {
request.addHeader("If-Modified-Since", DateUtils.formatDate(new Date()));
- final HttpRequest result = impl.buildUnconditionalRequest(request, entry);
+ final ClassicHttpRequest result = impl.buildUnconditionalRequest(request);
Assert.assertNull(result.getFirstHeader("If-Modified-Since"));
}
@@ -307,7 +304,7 @@ public class TestConditionalRequestBuild
public void testBuildUnconditionalRequestCarriesOtherRequestHeaders()
throws Exception {
request.addHeader("User-Agent","MyBrowser/1.0");
- final HttpRequest result = impl.buildUnconditionalRequest(request, entry);
+ final ClassicHttpRequest result = impl.buildUnconditionalRequest(request);
Assert.assertEquals("MyBrowser/1.0",
result.getFirstHeader("User-Agent").getValue());
}
@@ -323,7 +320,7 @@ public class TestConditionalRequestBuild
variantEntries.put(etag2, new Variant("C","D",HttpTestUtils.makeCacheEntry(new Header[] { new BasicHeader("ETag", etag2) })));
variantEntries.put(etag3, new Variant("E","F",HttpTestUtils.makeCacheEntry(new Header[] { new BasicHeader("ETag", etag3) })));
- final HttpRequest conditional = impl.buildConditionalRequestFromVariants(request, variantEntries);
+ final ClassicHttpRequest conditional = impl.buildConditionalRequestFromVariants(request, variantEntries);
// seems like a lot of work, but necessary, check for existence and exclusiveness
String ifNoneMatch = conditional.getFirstHeader(HeaderConstants.IF_NONE_MATCH).getValue();
Modified: httpcomponents/httpclient/trunk/httpclient5-cache/src/test/java/org/apache/hc/client5/http/impl/cache/TestExponentialBackingOffSchedulingStrategy.java
URL: http://svn.apache.org/viewvc/httpcomponents/httpclient/trunk/httpclient5-cache/src/test/java/org/apache/hc/client5/http/impl/cache/TestExponentialBackingOffSchedulingStrategy.java?rev=1776187&r1=1776186&r2=1776187&view=diff
==============================================================================
--- httpcomponents/httpclient/trunk/httpclient5-cache/src/test/java/org/apache/hc/client5/http/impl/cache/TestExponentialBackingOffSchedulingStrategy.java (original)
+++ httpcomponents/httpclient/trunk/httpclient5-cache/src/test/java/org/apache/hc/client5/http/impl/cache/TestExponentialBackingOffSchedulingStrategy.java Tue Dec 27 19:48:07 2016
@@ -35,10 +35,10 @@ import java.util.concurrent.TimeUnit;
import org.apache.hc.client5.http.HttpRoute;
import org.apache.hc.client5.http.impl.sync.ClientExecChain;
-import org.apache.hc.client5.http.methods.HttpRequestWrapper;
+import org.apache.hc.client5.http.methods.RoutedHttpRequest;
import org.apache.hc.client5.http.protocol.HttpClientContext;
import org.apache.hc.core5.http.HttpHost;
-import org.apache.hc.core5.http.message.BasicHttpRequest;
+import org.apache.hc.core5.http.message.BasicClassicHttpRequest;
import org.junit.Before;
import org.junit.Test;
@@ -160,10 +160,10 @@ public class TestExponentialBackingOffSc
final CachingExec cachingHttpClient = new CachingExec(clientExecChain);
final AsynchronousValidator mockValidator = new AsynchronousValidator(impl);
final HttpHost host = new HttpHost("foo.example.com", 80);
- final HttpRoute httpRoute = new HttpRoute(host);
- final HttpRequestWrapper httpRequestWrapper = HttpRequestWrapper.wrap(new BasicHttpRequest("GET", "/"), host);
+ final HttpRoute route = new HttpRoute(host);
+ final RoutedHttpRequest routedHttpRequest = RoutedHttpRequest.adapt(new BasicClassicHttpRequest("GET", "/"), route);
final HttpClientContext httpClientContext = new HttpClientContext();
- return new AsynchronousValidationRequest(mockValidator, cachingHttpClient, httpRoute, httpRequestWrapper,
+ return new AsynchronousValidationRequest(mockValidator, cachingHttpClient, routedHttpRequest,
httpClientContext, null, null, "identifier", errorCount);
}
Modified: httpcomponents/httpclient/trunk/httpclient5-cache/src/test/java/org/apache/hc/client5/http/impl/cache/TestHttpCacheEntrySerializers.java
URL: http://svn.apache.org/viewvc/httpcomponents/httpclient/trunk/httpclient5-cache/src/test/java/org/apache/hc/client5/http/impl/cache/TestHttpCacheEntrySerializers.java?rev=1776187&r1=1776186&r2=1776187&view=diff
==============================================================================
--- httpcomponents/httpclient/trunk/httpclient5-cache/src/test/java/org/apache/hc/client5/http/impl/cache/TestHttpCacheEntrySerializers.java (original)
+++ httpcomponents/httpclient/trunk/httpclient5-cache/src/test/java/org/apache/hc/client5/http/impl/cache/TestHttpCacheEntrySerializers.java Tue Dec 27 19:48:07 2016
@@ -39,15 +39,12 @@ import java.util.HashMap;
import java.util.Map;
import org.apache.commons.codec.binary.Base64;
-import org.apache.hc.client5.http.cache.HeaderConstants;
import org.apache.hc.client5.http.cache.HttpCacheEntry;
import org.apache.hc.client5.http.cache.HttpCacheEntrySerializer;
import org.apache.hc.client5.http.cache.Resource;
import org.apache.hc.core5.http.Header;
-import org.apache.hc.core5.http.ProtocolVersion;
-import org.apache.hc.core5.http.StatusLine;
+import org.apache.hc.core5.http.HttpStatus;
import org.apache.hc.core5.http.message.BasicHeader;
-import org.apache.hc.core5.http.message.BasicStatusLine;
import org.junit.Before;
import org.junit.Test;
@@ -87,14 +84,12 @@ public class TestHttpCacheEntrySerialize
}
final String body = "Lorem ipsum dolor sit amet";
- final ProtocolVersion pvObj = new ProtocolVersion("HTTP", 1, 1);
- final StatusLine slObj = new BasicStatusLine(pvObj, 200, "ok");
final Map<String,String> variantMap = new HashMap<>();
variantMap.put("test variant 1","true");
variantMap.put("test variant 2","true");
final HttpCacheEntry cacheEntry = new HttpCacheEntry(new Date(), new Date(),
- slObj, headers, new HeapResource(Base64.decodeBase64(body
- .getBytes(UTF8))), variantMap, HeaderConstants.GET_METHOD);
+ HttpStatus.SC_OK, headers,
+ new HeapResource(Base64.decodeBase64(body.getBytes(UTF8))), variantMap);
return cacheEntry;
}
@@ -109,9 +104,6 @@ public class TestHttpCacheEntrySerialize
.getResponseDate().getTime() / 1000))) {
return false;
}
- if (!one.getProtocolVersion().equals(two.getProtocolVersion())) {
- return false;
- }
final byte[] onesByteArray = resourceToBytes(one.getResource());
final byte[] twosByteArray = resourceToBytes(two.getResource());
Modified: httpcomponents/httpclient/trunk/httpclient5-cache/src/test/java/org/apache/hc/client5/http/impl/cache/TestHttpCacheJiraNumber1147.java
URL: http://svn.apache.org/viewvc/httpcomponents/httpclient/trunk/httpclient5-cache/src/test/java/org/apache/hc/client5/http/impl/cache/TestHttpCacheJiraNumber1147.java?rev=1776187&r1=1776186&r2=1776187&view=diff
==============================================================================
--- httpcomponents/httpclient/trunk/httpclient5-cache/src/test/java/org/apache/hc/client5/http/impl/cache/TestHttpCacheJiraNumber1147.java (original)
+++ httpcomponents/httpclient/trunk/httpclient5-cache/src/test/java/org/apache/hc/client5/http/impl/cache/TestHttpCacheJiraNumber1147.java Tue Dec 27 19:48:07 2016
@@ -26,7 +26,6 @@
*/
package org.apache.hc.client5.http.impl.cache;
-import static org.mockito.Matchers.eq;
import static org.mockito.Matchers.isA;
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.reset;
@@ -42,13 +41,12 @@ import org.apache.hc.client5.http.cache.
import org.apache.hc.client5.http.impl.sync.ClientExecChain;
import org.apache.hc.client5.http.methods.HttpExecutionAware;
import org.apache.hc.client5.http.methods.HttpGet;
-import org.apache.hc.client5.http.methods.HttpRequestWrapper;
+import org.apache.hc.client5.http.methods.RoutedHttpRequest;
import org.apache.hc.client5.http.protocol.HttpClientContext;
import org.apache.hc.client5.http.utils.DateUtils;
+import org.apache.hc.core5.http.ClassicHttpResponse;
import org.apache.hc.core5.http.HttpHost;
-import org.apache.hc.core5.http.HttpResponse;
-import org.apache.hc.core5.http.HttpVersion;
-import org.apache.hc.core5.http.message.BasicHttpResponse;
+import org.apache.hc.core5.http.message.BasicClassicHttpResponse;
import org.junit.After;
import org.junit.Assert;
import org.junit.Before;
@@ -95,17 +93,15 @@ public class TestHttpCacheJiraNumber1147
final HttpCacheStorage httpCacheStorage = new ManagedHttpCacheStorage(cacheConfig);
final ClientExecChain backend = mock(ClientExecChain.class);
- final HttpRequestWrapper get = HttpRequestWrapper.wrap(new HttpGet("http://somehost/"), new HttpHost("somehost"));
- final HttpClientContext context = HttpClientContext.create();
final HttpHost target = new HttpHost("somehost", 80);
final HttpRoute route = new HttpRoute(target);
-
- context.setTargetHost(target);
+ final RoutedHttpRequest get = RoutedHttpRequest.adapt(new HttpGet("http://somehost/"), route);
+ final HttpClientContext context = HttpClientContext.create();
final Date now = new Date();
final Date tenSecondsAgo = new Date(now.getTime() - 10 * 1000L);
- final HttpResponse response = new BasicHttpResponse(HttpVersion.HTTP_1_1, 200, "OK");
+ final ClassicHttpResponse response = new BasicClassicHttpResponse(200, "OK");
response.setEntity(HttpTestUtils.makeBody(128));
response.setHeader("Content-Length", "128");
response.setHeader("ETag", "\"etag\"");
@@ -113,21 +109,19 @@ public class TestHttpCacheJiraNumber1147
response.setHeader("Last-Modified", DateUtils.formatDate(tenSecondsAgo));
when(backend.execute(
- eq(route),
- isA(HttpRequestWrapper.class),
+ isA(RoutedHttpRequest.class),
isA(HttpClientContext.class),
- (HttpExecutionAware) Matchers.isNull())).thenReturn(Proxies.enhanceResponse(response));
+ (HttpExecutionAware) Matchers.isNull())).thenReturn(response);
final BasicHttpCache cache = new BasicHttpCache(resourceFactory, httpCacheStorage, cacheConfig);
final ClientExecChain t = createCachingExecChain(backend, cache, cacheConfig);
- final HttpResponse response1 = t.execute(route, get, context, null);
- Assert.assertEquals(200, response1.getStatusLine().getStatusCode());
+ final ClassicHttpResponse response1 = t.execute(get, context, null);
+ Assert.assertEquals(200, response1.getCode());
IOUtils.consume(response1.getEntity());
verify(backend).execute(
- eq(route),
- isA(HttpRequestWrapper.class),
+ isA(RoutedHttpRequest.class),
isA(HttpClientContext.class),
(HttpExecutionAware) Matchers.isNull());
@@ -135,18 +129,16 @@ public class TestHttpCacheJiraNumber1147
reset(backend);
when(backend.execute(
- eq(route),
- isA(HttpRequestWrapper.class),
+ isA(RoutedHttpRequest.class),
isA(HttpClientContext.class),
- (HttpExecutionAware) Matchers.isNull())).thenReturn(Proxies.enhanceResponse(response));
+ (HttpExecutionAware) Matchers.isNull())).thenReturn(response);
- final HttpResponse response2 = t.execute(route, get, context, null);
- Assert.assertEquals(200, response2.getStatusLine().getStatusCode());
+ final ClassicHttpResponse response2 = t.execute(get, context, null);
+ Assert.assertEquals(200, response2.getCode());
IOUtils.consume(response2.getEntity());
verify(backend).execute(
- eq(route),
- isA(HttpRequestWrapper.class),
+ isA(RoutedHttpRequest.class),
isA(HttpClientContext.class),
(HttpExecutionAware) Matchers.isNull());
}
Modified: httpcomponents/httpclient/trunk/httpclient5-cache/src/test/java/org/apache/hc/client5/http/impl/cache/TestProtocolAllowedBehavior.java
URL: http://svn.apache.org/viewvc/httpcomponents/httpclient/trunk/httpclient5-cache/src/test/java/org/apache/hc/client5/http/impl/cache/TestProtocolAllowedBehavior.java?rev=1776187&r1=1776186&r2=1776187&view=diff
==============================================================================
--- httpcomponents/httpclient/trunk/httpclient5-cache/src/test/java/org/apache/hc/client5/http/impl/cache/TestProtocolAllowedBehavior.java (original)
+++ httpcomponents/httpclient/trunk/httpclient5-cache/src/test/java/org/apache/hc/client5/http/impl/cache/TestProtocolAllowedBehavior.java Tue Dec 27 19:48:07 2016
@@ -29,27 +29,25 @@ package org.apache.hc.client5.http.impl.
import java.net.SocketTimeoutException;
import java.util.Date;
-import org.apache.hc.client5.http.methods.HttpRequestWrapper;
+import org.apache.hc.client5.http.methods.RoutedHttpRequest;
import org.apache.hc.client5.http.utils.DateUtils;
import org.apache.hc.core5.http.HttpResponse;
import org.apache.hc.core5.http.HttpStatus;
-import org.apache.hc.core5.http.HttpVersion;
-import org.apache.hc.core5.http.message.BasicHttpRequest;
+import org.apache.hc.core5.http.message.BasicClassicHttpRequest;
import org.junit.Assert;
import org.junit.Test;
/**
* This class tests behavior that is allowed (MAY) by the HTTP/1.1 protocol
- * specification and for which we have implemented the behavior in the
- * {@link CachingHttpClient}.
+ * specification and for which we have implemented the behavior in HTTP cache.
*/
public class TestProtocolAllowedBehavior extends AbstractProtocolTest {
@Test
public void testNonSharedCacheReturnsStaleResponseWhenRevalidationFailsForProxyRevalidate()
throws Exception {
- final HttpRequestWrapper req1 = HttpRequestWrapper.wrap(
- new BasicHttpRequest("GET","/", HttpVersion.HTTP_1_1), host);
+ final RoutedHttpRequest req1 = RoutedHttpRequest.adapt(
+ new BasicClassicHttpRequest("GET","/"), route);
final Date now = new Date();
final Date tenSecondsAgo = new Date(now.getTime() - 10 * 1000L);
originResponse.setHeader("Date", DateUtils.formatDate(tenSecondsAgo));
@@ -58,38 +56,38 @@ public class TestProtocolAllowedBehavior
backendExpectsAnyRequest().andReturn(originResponse);
- final HttpRequestWrapper req2 = HttpRequestWrapper.wrap(
- new BasicHttpRequest("GET","/", HttpVersion.HTTP_1_1), host);
+ final RoutedHttpRequest req2 = RoutedHttpRequest.adapt(
+ new BasicClassicHttpRequest("GET","/"), route);
backendExpectsAnyRequest().andThrow(new SocketTimeoutException());
replayMocks();
behaveAsNonSharedCache();
- impl.execute(route, req1, context, null);
- final HttpResponse result = impl.execute(route, req2, context, null);
+ impl.execute(req1, context, null);
+ final HttpResponse result = impl.execute(req2, context, null);
verifyMocks();
- Assert.assertEquals(HttpStatus.SC_OK, result.getStatusLine().getStatusCode());
+ Assert.assertEquals(HttpStatus.SC_OK, result.getCode());
}
@Test
public void testNonSharedCacheMayCacheResponsesWithCacheControlPrivate()
throws Exception {
- final HttpRequestWrapper req1 = HttpRequestWrapper.wrap(
- new BasicHttpRequest("GET","/", HttpVersion.HTTP_1_1), host);
+ final RoutedHttpRequest req1 = RoutedHttpRequest.adapt(
+ new BasicClassicHttpRequest("GET","/"), route);
originResponse.setHeader("Cache-Control","private,max-age=3600");
backendExpectsAnyRequest().andReturn(originResponse);
- final HttpRequestWrapper req2 = HttpRequestWrapper.wrap(
- new BasicHttpRequest("GET","/", HttpVersion.HTTP_1_1), host);
+ final RoutedHttpRequest req2 = RoutedHttpRequest.adapt(
+ new BasicClassicHttpRequest("GET","/"), route);
replayMocks();
behaveAsNonSharedCache();
- impl.execute(route, req1, context, null);
- final HttpResponse result = impl.execute(route, req2, context, null);
+ impl.execute(req1, context, null);
+ final HttpResponse result = impl.execute(req2, context, null);
verifyMocks();
- Assert.assertEquals(HttpStatus.SC_OK, result.getStatusLine().getStatusCode());
+ Assert.assertEquals(HttpStatus.SC_OK, result.getCode());
}
}
Modified: httpcomponents/httpclient/trunk/httpclient5-cache/src/test/java/org/apache/hc/client5/http/impl/cache/TestProtocolDeviations.java
URL: http://svn.apache.org/viewvc/httpcomponents/httpclient/trunk/httpclient5-cache/src/test/java/org/apache/hc/client5/http/impl/cache/TestProtocolDeviations.java?rev=1776187&r1=1776186&r2=1776187&view=diff
==============================================================================
--- httpcomponents/httpclient/trunk/httpclient5-cache/src/test/java/org/apache/hc/client5/http/impl/cache/TestProtocolDeviations.java (original)
+++ httpcomponents/httpclient/trunk/httpclient5-cache/src/test/java/org/apache/hc/client5/http/impl/cache/TestProtocolDeviations.java Tue Dec 27 19:48:07 2016
@@ -32,21 +32,22 @@ import java.util.Random;
import org.apache.hc.client5.http.HttpRoute;
import org.apache.hc.client5.http.cache.HttpCacheContext;
import org.apache.hc.client5.http.impl.sync.ClientExecChain;
-import org.apache.hc.client5.http.methods.CloseableHttpResponse;
import org.apache.hc.client5.http.methods.HttpExecutionAware;
-import org.apache.hc.client5.http.methods.HttpRequestWrapper;
+import org.apache.hc.client5.http.methods.RoutedHttpRequest;
import org.apache.hc.client5.http.protocol.ClientProtocolException;
import org.apache.hc.client5.http.protocol.HttpClientContext;
import org.apache.hc.client5.http.utils.DateUtils;
+import org.apache.hc.core5.http.ClassicHttpRequest;
+import org.apache.hc.core5.http.ClassicHttpResponse;
import org.apache.hc.core5.http.HttpEntity;
import org.apache.hc.core5.http.HttpHost;
import org.apache.hc.core5.http.HttpRequest;
import org.apache.hc.core5.http.HttpResponse;
import org.apache.hc.core5.http.HttpStatus;
import org.apache.hc.core5.http.ProtocolVersion;
-import org.apache.hc.core5.http.entity.ByteArrayEntity;
-import org.apache.hc.core5.http.message.BasicHttpRequest;
-import org.apache.hc.core5.http.message.BasicHttpResponse;
+import org.apache.hc.core5.http.io.entity.ByteArrayEntity;
+import org.apache.hc.core5.http.message.BasicClassicHttpRequest;
+import org.apache.hc.core5.http.message.BasicClassicHttpResponse;
import org.easymock.Capture;
import org.easymock.EasyMock;
import org.junit.Assert;
@@ -83,9 +84,9 @@ public class TestProtocolDeviations {
private HttpEntity mockEntity;
private ClientExecChain mockBackend;
private HttpCache mockCache;
- private HttpRequest request;
+ private ClassicHttpRequest request;
private HttpCacheContext context;
- private CloseableHttpResponse originResponse;
+ private ClassicHttpResponse originResponse;
private ClientExecChain impl;
@@ -97,12 +98,11 @@ public class TestProtocolDeviations {
body = makeBody(entityLength);
- request = new BasicHttpRequest("GET", "/foo", HTTP_1_1);
+ request = new BasicClassicHttpRequest("GET", "/foo");
context = HttpCacheContext.create();
- context.setTargetHost(host);
- originResponse = Proxies.enhanceResponse(make200Response());
+ originResponse = make200Response();
final CacheConfig config = CacheConfig.custom()
.setMaxCacheEntries(MAX_ENTRIES)
@@ -122,8 +122,8 @@ public class TestProtocolDeviations {
return new CachingExec(backend, cache, config);
}
- private HttpResponse make200Response() {
- final HttpResponse out = new BasicHttpResponse(HTTP_1_1, HttpStatus.SC_OK, "OK");
+ private ClassicHttpResponse make200Response() {
+ final ClassicHttpResponse out = new BasicClassicHttpResponse(HttpStatus.SC_OK, "OK");
out.setHeader("Date", DateUtils.formatDate(new Date()));
out.setHeader("Server", "MockOrigin/1.0");
out.setEntity(makeBody(128));
@@ -172,19 +172,16 @@ public class TestProtocolDeviations {
*/
@Ignore
public void testHTTP1_1RequestsWithBodiesOfKnownLengthMustHaveContentLength() throws Exception {
- final BasicHttpRequest post = new BasicHttpRequest("POST", "/",
- HTTP_1_1);
+ final ClassicHttpRequest post = new BasicClassicHttpRequest("POST", "/");
post.setEntity(mockEntity);
replayMocks();
- final HttpResponse response = impl.execute(route, HttpRequestWrapper.wrap(post, host), context, null);
+ final HttpResponse response = impl.execute(RoutedHttpRequest.adapt(post, route), context, null);
verifyMocks();
- Assert
- .assertEquals(HttpStatus.SC_LENGTH_REQUIRED, response.getStatusLine()
- .getStatusCode());
+ Assert.assertEquals(HttpStatus.SC_LENGTH_REQUIRED, response.getCode());
}
/*
@@ -213,8 +210,7 @@ public class TestProtocolDeviations {
@Ignore
public void testHTTP1_1RequestsWithUnknownBodyLengthAreRejectedOrHaveContentLengthAdded()
throws Exception {
- final BasicHttpRequest post = new BasicHttpRequest("POST", "/",
- HTTP_1_1);
+ final ClassicHttpRequest post = new BasicClassicHttpRequest("POST", "/");
final byte[] bytes = new byte[128];
new Random().nextBytes(bytes);
@@ -224,10 +220,9 @@ public class TestProtocolDeviations {
org.easymock.EasyMock.expect(mockBody.getContentLength()).andReturn(-1L).anyTimes();
post.setEntity(mockBody);
- final Capture<HttpRequestWrapper> reqCap = new Capture<>();
+ final Capture<RoutedHttpRequest> reqCap = new Capture<>();
EasyMock.expect(
mockBackend.execute(
- EasyMock.eq(route),
EasyMock.capture(reqCap),
EasyMock.isA(HttpClientContext.class),
EasyMock.<HttpExecutionAware>isNull())).andReturn(
@@ -236,7 +231,7 @@ public class TestProtocolDeviations {
replayMocks();
EasyMock.replay(mockBody);
- final HttpResponse result = impl.execute(route, HttpRequestWrapper.wrap(post, host), context, null);
+ final HttpResponse result = impl.execute(RoutedHttpRequest.adapt(post, route), context, null);
verifyMocks();
EasyMock.verify(mockBody);
@@ -246,7 +241,7 @@ public class TestProtocolDeviations {
final HttpRequest forwarded = reqCap.getValue();
Assert.assertNotNull(forwarded.getFirstHeader("Content-Length"));
} else {
- final int status = result.getStatusLine().getStatusCode();
+ final int status = result.getCode();
Assert.assertTrue(HttpStatus.SC_LENGTH_REQUIRED == status
|| HttpStatus.SC_BAD_REQUEST == status);
}
@@ -261,25 +256,23 @@ public class TestProtocolDeviations {
*/
@Test
public void testOPTIONSRequestsWithBodiesAndNoContentTypeHaveOneSupplied() throws Exception {
- final BasicHttpRequest options = new BasicHttpRequest("OPTIONS",
- "/", HTTP_1_1);
+ final ClassicHttpRequest options = new BasicClassicHttpRequest("OPTIONS", "/");
options.setEntity(body);
options.setHeader("Content-Length", "1");
- final Capture<HttpRequestWrapper> reqCap = new Capture<>();
+ final Capture<RoutedHttpRequest> reqCap = new Capture<>();
EasyMock.expect(
mockBackend.execute(
- EasyMock.eq(route),
EasyMock.capture(reqCap),
EasyMock.isA(HttpClientContext.class),
EasyMock.<HttpExecutionAware>isNull())).andReturn(originResponse);
replayMocks();
- impl.execute(route, HttpRequestWrapper.wrap(options, host), context, null);
+ impl.execute(RoutedHttpRequest.adapt(options, route), context, null);
verifyMocks();
- final HttpRequest reqWithBody = reqCap.getValue();
+ final ClassicHttpRequest reqWithBody = reqCap.getValue();
final HttpEntity reqBody = reqWithBody.getEntity();
Assert.assertNotNull(reqBody);
Assert.assertNotNull(reqBody.getContentType());
@@ -300,24 +293,20 @@ public class TestProtocolDeviations {
// this situation, but it better not just pass the response
// on.
request.removeHeaders("Range");
- originResponse = Proxies.enhanceResponse(
- new BasicHttpResponse(HTTP_1_1, HttpStatus.SC_PARTIAL_CONTENT,
- "Partial Content"));
+ originResponse = new BasicClassicHttpResponse(HttpStatus.SC_PARTIAL_CONTENT, "Partial Content");
originResponse.setHeader("Content-Range", "bytes 0-499/1234");
originResponse.setEntity(makeBody(500));
EasyMock.expect(
mockBackend.execute(
- EasyMock.eq(route),
- EasyMock.isA(HttpRequestWrapper.class),
+ EasyMock.isA(RoutedHttpRequest.class),
EasyMock.isA(HttpClientContext.class),
EasyMock.<HttpExecutionAware>isNull())).andReturn(originResponse);
replayMocks();
try {
- final HttpResponse result = impl.execute(route, HttpRequestWrapper.wrap(request, host), context, null);
- Assert.assertTrue(HttpStatus.SC_PARTIAL_CONTENT != result.getStatusLine()
- .getStatusCode());
+ final HttpResponse result = impl.execute(RoutedHttpRequest.adapt(request, route), context, null);
+ Assert.assertTrue(HttpStatus.SC_PARTIAL_CONTENT != result.getCode());
} catch (final ClientProtocolException acceptableBehavior) {
// this is probably ok
}
@@ -333,17 +322,15 @@ public class TestProtocolDeviations {
@Test
public void testPassesOnOrigin401ResponseWithoutWWWAuthenticateHeader() throws Exception {
- originResponse = Proxies.enhanceResponse(
- new BasicHttpResponse(HTTP_1_1, 401, "Unauthorized"));
+ originResponse = new BasicClassicHttpResponse(401, "Unauthorized");
EasyMock.expect(
mockBackend.execute(
- EasyMock.eq(route),
- EasyMock.isA(HttpRequestWrapper.class),
+ EasyMock.isA(RoutedHttpRequest.class),
EasyMock.isA(HttpClientContext.class),
EasyMock.<HttpExecutionAware>isNull())).andReturn(originResponse);
replayMocks();
- final HttpResponse result = impl.execute(route, HttpRequestWrapper.wrap(request, host), context, null);
+ final HttpResponse result = impl.execute(RoutedHttpRequest.adapt(request, route), context, null);
verifyMocks();
Assert.assertSame(originResponse, result);
}
@@ -356,17 +343,15 @@ public class TestProtocolDeviations {
*/
@Test
public void testPassesOnOrigin405WithoutAllowHeader() throws Exception {
- originResponse = Proxies.enhanceResponse(
- new BasicHttpResponse(HTTP_1_1, 405, "Method Not Allowed"));
+ originResponse = new BasicClassicHttpResponse(405, "Method Not Allowed");
EasyMock.expect(
mockBackend.execute(
- EasyMock.eq(route),
- EasyMock.isA(HttpRequestWrapper.class),
+ EasyMock.isA(RoutedHttpRequest.class),
EasyMock.isA(HttpClientContext.class),
EasyMock.<HttpExecutionAware>isNull())).andReturn(originResponse);
replayMocks();
- final HttpResponse result = impl.execute(route, HttpRequestWrapper.wrap(request, host), context, null);
+ final HttpResponse result = impl.execute(RoutedHttpRequest.adapt(request, route), context, null);
verifyMocks();
Assert.assertSame(originResponse, result);
}
@@ -380,17 +365,15 @@ public class TestProtocolDeviations {
*/
@Test
public void testPassesOnOrigin407WithoutAProxyAuthenticateHeader() throws Exception {
- originResponse = Proxies.enhanceResponse(
- new BasicHttpResponse(HTTP_1_1, 407, "Proxy Authentication Required"));
+ originResponse = new BasicClassicHttpResponse(407, "Proxy Authentication Required");
EasyMock.expect(
mockBackend.execute(
- EasyMock.eq(route),
- EasyMock.isA(HttpRequestWrapper.class),
+ EasyMock.isA(RoutedHttpRequest.class),
EasyMock.isA(HttpClientContext.class),
EasyMock.<HttpExecutionAware>isNull())).andReturn(originResponse);
replayMocks();
- final HttpResponse result = impl.execute(route, HttpRequestWrapper.wrap(request, host), context, null);
+ final HttpResponse result = impl.execute(RoutedHttpRequest.adapt(request, route), context, null);
verifyMocks();
Assert.assertSame(originResponse, result);
}