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 2010/05/06 22:02:23 UTC

svn commit: r941886 [2/2] - in /httpcomponents/httpclient/trunk/httpclient-cache/src: main/java/org/apache/http/client/cache/impl/ test/java/org/apache/http/client/cache/impl/

Modified: httpcomponents/httpclient/trunk/httpclient-cache/src/test/java/org/apache/http/client/cache/impl/TestCacheEntryUpdater.java
URL: http://svn.apache.org/viewvc/httpcomponents/httpclient/trunk/httpclient-cache/src/test/java/org/apache/http/client/cache/impl/TestCacheEntryUpdater.java?rev=941886&r1=941885&r2=941886&view=diff
==============================================================================
--- httpcomponents/httpclient/trunk/httpclient-cache/src/test/java/org/apache/http/client/cache/impl/TestCacheEntryUpdater.java (original)
+++ httpcomponents/httpclient/trunk/httpclient-cache/src/test/java/org/apache/http/client/cache/impl/TestCacheEntryUpdater.java Thu May  6 20:02:22 2010
@@ -26,14 +26,15 @@
  */
 package org.apache.http.client.cache.impl;
 
+import static junit.framework.Assert.assertEquals;
+import static junit.framework.Assert.assertNotSame;
+
 import java.util.Date;
 
 import org.apache.http.Header;
 import org.apache.http.HttpResponse;
 import org.apache.http.HttpStatus;
 import org.apache.http.ProtocolVersion;
-import org.apache.http.client.cache.impl.CacheEntry;
-import org.apache.http.client.cache.impl.CacheEntryUpdater;
 import org.apache.http.impl.cookie.DateUtils;
 import org.apache.http.message.BasicHeader;
 import org.apache.http.message.BasicHttpResponse;
@@ -45,6 +46,10 @@ import org.junit.Test;
 
 public class TestCacheEntryUpdater {
 
+
+    private static ProtocolVersion HTTP_1_1 = new ProtocolVersion("HTTP", 1, 1);
+
+
     private HttpResponse mockResponse;
     private CacheEntry mockCacheEntry;
     private Date requestDate;
@@ -81,92 +86,125 @@ public class TestCacheEntryUpdater {
     }
 
     @Test
-    public void testUpdateCacheEntry() {
-        mockImplMethods("mergeHeaders");
-        mockCacheEntry.setRequestDate(requestDate);
-        mockCacheEntry.setResponseDate(responseDate);
-        impl.mergeHeaders(mockCacheEntry, mockResponse);
+    public void testUpdateCacheEntryReturnsDifferentEntryInstance() {
+
+        CacheEntry entry = getEntry(new Header[]{});
+        BasicHttpResponse response = new BasicHttpResponse(HTTP_1_1, 200, "OK");
 
         replayMocks();
 
-        impl.updateCacheEntry(mockCacheEntry, requestDate, responseDate, mockResponse);
+        CacheEntry newEntry = impl.updateCacheEntry(entry, requestDate, responseDate, response);
 
         verifyMocks();
+
+        assertNotSame(newEntry, entry);
+
     }
 
     @Test
-    public void testExistingHeadersNotInResponseDontChange() {
+    public void testHeadersAreMergedCorrectly() {
 
-        CacheEntry cacheEntry = new CacheEntry();
-        cacheEntry.setResponseHeaders(new Header[] {
+        Header[] headers = {
                 new BasicHeader("Date", DateUtils.formatDate(responseDate)),
-                new BasicHeader("ETag", "eTag") });
+                new BasicHeader("ETag", "\"etag\"")};
+
+        CacheEntry cacheEntry = getEntry(headers);
 
         HttpResponse response = new BasicHttpResponse(new BasicStatusLine(new ProtocolVersion(
                 "http", 1, 1), HttpStatus.SC_NOT_MODIFIED, ""));
-        response.setHeaders(new Header[] {});
+        response.setHeaders(new Header[]{});
 
-        impl.mergeHeaders(cacheEntry, response);
+        CacheEntry updatedEntry = impl.updateCacheEntry(cacheEntry, new Date(), new Date(), response);
 
-        Assert.assertEquals(2, cacheEntry.getAllHeaders().length);
+        Assert.assertEquals(2, updatedEntry.getAllHeaders().length);
 
-        headersContain(cacheEntry.getAllHeaders(), "Date", DateUtils.formatDate(responseDate));
-        headersContain(cacheEntry.getAllHeaders(), "ETag", "eTag");
+        headersContain(updatedEntry.getAllHeaders(), "Date", DateUtils.formatDate(responseDate));
+        headersContain(updatedEntry.getAllHeaders(), "ETag", "\"etag\"");
 
     }
 
     @Test
     public void testNewerHeadersReplaceExistingHeaders() {
-        CacheEntry cacheEntry = new CacheEntry();
-        cacheEntry.setResponseHeaders(new Header[] {
+
+        Header[] headers = {
                 new BasicHeader("Date", DateUtils.formatDate(requestDate)),
-                new BasicHeader("Cache-Control", "private"), new BasicHeader("ETag", "eTag"),
+                new BasicHeader("Cache-Control", "private"), new BasicHeader("ETag", "\"etag\""),
                 new BasicHeader("Last-Modified", DateUtils.formatDate(requestDate)),
-                new BasicHeader("Cache-Control", "max-age=0"), });
+                new BasicHeader("Cache-Control", "max-age=0"),};
+        CacheEntry cacheEntry = getEntry(headers);
 
         HttpResponse response = new BasicHttpResponse(new BasicStatusLine(new ProtocolVersion(
                 "http", 1, 1), HttpStatus.SC_NOT_MODIFIED, ""));
-        response.setHeaders(new Header[] {
+        response.setHeaders(new Header[]{
                 new BasicHeader("Last-Modified", DateUtils.formatDate(responseDate)),
-                new BasicHeader("Cache-Control", "public"), });
+                new BasicHeader("Cache-Control", "public"),});
 
-        impl.mergeHeaders(cacheEntry, response);
+        CacheEntry updatedEntry = impl.updateCacheEntry(cacheEntry, new Date(), new Date(), response);
 
-        Assert.assertEquals(4, cacheEntry.getAllHeaders().length);
 
-        headersContain(cacheEntry.getAllHeaders(), "Date", DateUtils.formatDate(requestDate));
-        headersContain(cacheEntry.getAllHeaders(), "ETag", "eTag");
-        headersContain(cacheEntry.getAllHeaders(), "Last-Modified", DateUtils
+        Assert.assertEquals(4, updatedEntry.getAllHeaders().length);
+
+        headersContain(updatedEntry.getAllHeaders(), "Date", DateUtils.formatDate(requestDate));
+        headersContain(updatedEntry.getAllHeaders(), "ETag", "\"etag\"");
+        headersContain(updatedEntry.getAllHeaders(), "Last-Modified", DateUtils
                 .formatDate(responseDate));
-        headersContain(cacheEntry.getAllHeaders(), "Cache-Control", "public");
+        headersContain(updatedEntry.getAllHeaders(), "Cache-Control", "public");
     }
 
     @Test
     public void testNewHeadersAreAddedByMerge() {
 
-        CacheEntry cacheEntry = new CacheEntry();
-        cacheEntry.setResponseHeaders(new Header[] {
+        Header[] headers = {
                 new BasicHeader("Date", DateUtils.formatDate(requestDate)),
-                new BasicHeader("ETag", "eTag"), });
+                new BasicHeader("ETag", "\"etag\"")};
 
+        CacheEntry cacheEntry = getEntry(headers);
         HttpResponse response = new BasicHttpResponse(new BasicStatusLine(new ProtocolVersion(
                 "http", 1, 1), HttpStatus.SC_NOT_MODIFIED, ""));
-        response.setHeaders(new Header[] {
+        response.setHeaders(new Header[]{
                 new BasicHeader("Last-Modified", DateUtils.formatDate(responseDate)),
-                new BasicHeader("Cache-Control", "public"), });
+                new BasicHeader("Cache-Control", "public"),});
+
+        CacheEntry updatedEntry = impl.updateCacheEntry(cacheEntry, new Date(), new Date(), response);
 
-        impl.mergeHeaders(cacheEntry, response);
 
-        Assert.assertEquals(4, cacheEntry.getAllHeaders().length);
+        Assert.assertEquals(4, updatedEntry.getAllHeaders().length);
 
-        headersContain(cacheEntry.getAllHeaders(), "Date", DateUtils.formatDate(requestDate));
-        headersContain(cacheEntry.getAllHeaders(), "ETag", "eTag");
-        headersContain(cacheEntry.getAllHeaders(), "Last-Modified", DateUtils
+        headersContain(updatedEntry.getAllHeaders(), "Date", DateUtils.formatDate(requestDate));
+        headersContain(updatedEntry.getAllHeaders(), "ETag", "\"etag\"");
+        headersContain(updatedEntry.getAllHeaders(), "Last-Modified", DateUtils
                 .formatDate(responseDate));
-        headersContain(cacheEntry.getAllHeaders(), "Cache-Control", "public");
+        headersContain(updatedEntry.getAllHeaders(), "Cache-Control", "public");
 
     }
 
+    @Test
+    public void testUpdatedEntryHasLatestRequestAndResponseDates() {
+
+        Date now = new Date();
+
+        Date tenSecondsAgo = new Date(now.getTime() - 10000L);
+        Date eightSecondsAgo = new Date(now.getTime() - 8000L);
+
+        Date twoSecondsAgo = new Date(now.getTime() - 2000L);
+        Date oneSecondAgo = new Date(now.getTime() - 1000L);
+
+        Header[] headers = new Header[]{};
+
+        CacheEntry entry = new CacheEntry(tenSecondsAgo, eightSecondsAgo, HTTP_1_1, headers, new byte[]{}, 200, "OK");
+
+        HttpResponse response = new BasicHttpResponse(HTTP_1_1, 200, "OK");
+
+        CacheEntry updated = impl.updateCacheEntry(entry, twoSecondsAgo, oneSecondAgo, response);
+
+        assertEquals(twoSecondsAgo, updated.getRequestDate());
+        assertEquals(oneSecondAgo, updated.getResponseDate());
+
+    }
+
+
+    // UTILITY
+
     private void headersContain(Header[] headers, String name, String value) {
         for (Header header : headers) {
             if (header.getName().equals(name)) {
@@ -178,10 +216,12 @@ public class TestCacheEntryUpdater {
         Assert.fail("Header [" + name + ": " + value + "] not found in headers.");
     }
 
-    private void mockImplMethods(String... methods) {
-        implMocked = true;
-        impl = EasyMock.createMockBuilder(CacheEntryUpdater.class).addMockedMethods(methods)
-                .createMock();
+
+    private CacheEntry getEntry(Header[] headers) {
+        return getEntry(new Date(), new Date(), headers);
     }
 
+    private CacheEntry getEntry(Date requestDate, Date responseDate, Header[] headers) {
+        return new CacheEntry(requestDate, responseDate, HTTP_1_1, headers, new byte[]{}, 200, "OK");
+    }
 }

Modified: httpcomponents/httpclient/trunk/httpclient-cache/src/test/java/org/apache/http/client/cache/impl/TestCacheInvalidator.java
URL: http://svn.apache.org/viewvc/httpcomponents/httpclient/trunk/httpclient-cache/src/test/java/org/apache/http/client/cache/impl/TestCacheInvalidator.java?rev=941886&r1=941885&r2=941886&view=diff
==============================================================================
--- httpcomponents/httpclient/trunk/httpclient-cache/src/test/java/org/apache/http/client/cache/impl/TestCacheInvalidator.java (original)
+++ httpcomponents/httpclient/trunk/httpclient-cache/src/test/java/org/apache/http/client/cache/impl/TestCacheInvalidator.java Thu May  6 20:02:22 2010
@@ -34,11 +34,8 @@ import org.apache.http.HeaderElement;
 import org.apache.http.HttpHost;
 import org.apache.http.HttpRequest;
 import org.apache.http.RequestLine;
-import org.apache.http.client.cache.HttpCacheOperationException;
 import org.apache.http.client.cache.HttpCache;
-import org.apache.http.client.cache.impl.CacheEntry;
-import org.apache.http.client.cache.impl.CacheInvalidator;
-import org.apache.http.client.cache.impl.URIExtractor;
+import org.apache.http.client.cache.HttpCacheOperationException;
 import org.easymock.classextension.EasyMock;
 import org.junit.Before;
 import org.junit.Test;

Modified: httpcomponents/httpclient/trunk/httpclient-cache/src/test/java/org/apache/http/client/cache/impl/TestCacheableRequestPolicy.java
URL: http://svn.apache.org/viewvc/httpcomponents/httpclient/trunk/httpclient-cache/src/test/java/org/apache/http/client/cache/impl/TestCacheableRequestPolicy.java?rev=941886&r1=941885&r2=941886&view=diff
==============================================================================
--- httpcomponents/httpclient/trunk/httpclient-cache/src/test/java/org/apache/http/client/cache/impl/TestCacheableRequestPolicy.java (original)
+++ httpcomponents/httpclient/trunk/httpclient-cache/src/test/java/org/apache/http/client/cache/impl/TestCacheableRequestPolicy.java Thu May  6 20:02:22 2010
@@ -26,7 +26,6 @@
  */
 package org.apache.http.client.cache.impl;
 
-import org.apache.http.client.cache.impl.CacheableRequestPolicy;
 import org.apache.http.message.BasicHttpRequest;
 import org.junit.Assert;
 import org.junit.Before;

Modified: httpcomponents/httpclient/trunk/httpclient-cache/src/test/java/org/apache/http/client/cache/impl/TestCachedHttpResponseGenerator.java
URL: http://svn.apache.org/viewvc/httpcomponents/httpclient/trunk/httpclient-cache/src/test/java/org/apache/http/client/cache/impl/TestCachedHttpResponseGenerator.java?rev=941886&r1=941885&r2=941886&view=diff
==============================================================================
--- httpcomponents/httpclient/trunk/httpclient-cache/src/test/java/org/apache/http/client/cache/impl/TestCachedHttpResponseGenerator.java (original)
+++ httpcomponents/httpclient/trunk/httpclient-cache/src/test/java/org/apache/http/client/cache/impl/TestCachedHttpResponseGenerator.java Thu May  6 20:02:22 2010
@@ -31,8 +31,6 @@ import java.util.Date;
 import org.apache.http.Header;
 import org.apache.http.HttpResponse;
 import org.apache.http.ProtocolVersion;
-import org.apache.http.client.cache.impl.CacheEntry;
-import org.apache.http.client.cache.impl.CachedHttpResponseGenerator;
 import org.apache.http.impl.cookie.DateUtils;
 import org.apache.http.message.BasicHeader;
 import org.junit.Assert;
@@ -43,14 +41,9 @@ public class TestCachedHttpResponseGener
     @Test
     public void testResponseHasContentLength() {
 
-        CacheEntry entry = new CacheEntry();
         Header[] hdrs = new Header[] {};
         byte[] buf = new byte[] { 1, 2, 3, 4, 5 };
-        entry.setResponseHeaders(hdrs);
-        entry.setProtocolVersion(new ProtocolVersion("HTTP", 1, 1));
-        entry.setBody(buf);
-        entry.setResponseDate(new Date());
-        entry.setRequestDate(new Date());
+        CacheEntry entry = new CacheEntry(new Date(),new Date(),new ProtocolVersion("HTTP", 1, 1),hdrs,buf,200,"OK");
 
         CachedHttpResponseGenerator gen = new CachedHttpResponseGenerator();
         HttpResponse response = gen.generateResponse(entry);
@@ -64,14 +57,11 @@ public class TestCachedHttpResponseGener
 
     @Test
     public void testContentLengthIsNotAddedWhenTransferEncodingIsPresent() {
-        CacheEntry entry = new CacheEntry();
+
         Header[] hdrs = new Header[] { new BasicHeader("Transfer-Encoding", "chunked") };
         byte[] buf = new byte[] { 1, 2, 3, 4, 5 };
-        entry.setResponseHeaders(hdrs);
-        entry.setProtocolVersion(new ProtocolVersion("HTTP", 1, 1));
-        entry.setBody(buf);
-        entry.setResponseDate(new Date());
-        entry.setRequestDate(new Date());
+        CacheEntry entry = new CacheEntry(new Date(),new Date(),new ProtocolVersion("HTTP", 1, 1),hdrs,buf,200,"OK");
+
 
         CachedHttpResponseGenerator gen = new CachedHttpResponseGenerator();
         HttpResponse response = gen.generateResponse(entry);
@@ -83,8 +73,7 @@ public class TestCachedHttpResponseGener
 
     @Test
     public void testResponseMatchesCacheEntry() {
-        CacheEntry entry = new CacheEntry();
-        buildEntry(entry);
+        CacheEntry entry = buildEntry();
 
         CachedHttpResponseGenerator gen = new CachedHttpResponseGenerator();
         HttpResponse response = gen.generateResponse(entry);
@@ -98,8 +87,7 @@ public class TestCachedHttpResponseGener
 
     @Test
     public void testResponseStatusCodeMatchesCacheEntry() {
-        CacheEntry entry = new CacheEntry();
-        buildEntry(entry);
+        CacheEntry entry = buildEntry();
 
         CachedHttpResponseGenerator gen = new CachedHttpResponseGenerator();
         HttpResponse response = gen.generateResponse(entry);
@@ -110,16 +98,8 @@ public class TestCachedHttpResponseGener
     @Test
     public void testAgeHeaderIsPopulatedWithCurrentAgeOfCacheEntryIfNonZero() {
         final long currAge = 10L;
-        CacheEntry entry = new CacheEntry() {
-            private static final long serialVersionUID = 1L;
 
-            @Override
-            public long getCurrentAgeSecs() {
-                return currAge;
-            }
-        };
-
-        buildEntry(entry);
+        CacheEntry entry = buildEntryWithCurrentAge(currAge);
 
         CachedHttpResponseGenerator gen = new CachedHttpResponseGenerator();
         HttpResponse response = gen.generateResponse(entry);
@@ -132,15 +112,8 @@ public class TestCachedHttpResponseGener
     @Test
     public void testAgeHeaderIsNotPopulatedIfCurrentAgeOfCacheEntryIsZero() {
         final long currAge = 0L;
-        CacheEntry entry = new CacheEntry() {
-            private static final long serialVersionUID = 1L;
 
-            @Override
-            public long getCurrentAgeSecs() {
-                return currAge;
-            }
-        };
-        buildEntry(entry);
+        CacheEntry entry = buildEntryWithCurrentAge(currAge);
 
         CachedHttpResponseGenerator gen = new CachedHttpResponseGenerator();
         HttpResponse response = gen.generateResponse(entry);
@@ -151,16 +124,8 @@ public class TestCachedHttpResponseGener
 
     @Test
     public void testAgeHeaderIsPopulatedWithMaxAgeIfCurrentAgeTooBig() {
-        final long currAge = CacheEntry.MAX_AGE + 1L;
-        CacheEntry entry = new CacheEntry() {
-            private static final long serialVersionUID = 1L;
 
-            @Override
-            public long getCurrentAgeSecs() {
-                return currAge;
-            }
-        };
-        buildEntry(entry);
+        CacheEntry entry = buildEntryWithCurrentAge(CacheEntry.MAX_AGE + 1L);
 
         CachedHttpResponseGenerator gen = new CachedHttpResponseGenerator();
         HttpResponse response = gen.generateResponse(entry);
@@ -170,7 +135,7 @@ public class TestCachedHttpResponseGener
         Assert.assertEquals(CacheEntry.MAX_AGE, Long.parseLong(ageHdr.getValue()));
     }
 
-    private CacheEntry buildEntry(CacheEntry entry) {
+    private CacheEntry buildEntry() {
         Date now = new Date();
         Date sixSecondsAgo = new Date(now.getTime() - 6 * 1000L);
         Date eightSecondsAgo = new Date(now.getTime() - 8 * 1000L);
@@ -179,14 +144,30 @@ public class TestCachedHttpResponseGener
         Header[] hdrs = { new BasicHeader("Date", DateUtils.formatDate(eightSecondsAgo)),
                 new BasicHeader("Expires", DateUtils.formatDate(tenSecondsFromNow)),
                 new BasicHeader("Content-Length", "150") };
-        entry.setRequestDate(tenSecondsAgo);
-        entry.setResponseDate(sixSecondsAgo);
-        entry.setBody(new byte[] {});
-        entry.setResponseHeaders(hdrs);
 
-        entry.setProtocolVersion(new ProtocolVersion("HTTP", 1, 1));
+        return new CacheEntry(tenSecondsAgo,sixSecondsAgo,new ProtocolVersion("HTTP", 1, 1),hdrs,new byte[]{},200,"OK");
+    }
+
 
-        return entry;
+    private CacheEntry buildEntryWithCurrentAge(final long currAge){
+                Date now = new Date();
+        Date sixSecondsAgo = new Date(now.getTime() - 6 * 1000L);
+        Date eightSecondsAgo = new Date(now.getTime() - 8 * 1000L);
+        Date tenSecondsAgo = new Date(now.getTime() - 10 * 1000L);
+        Date tenSecondsFromNow = new Date(now.getTime() + 10 * 1000L);
+        Header[] hdrs = { new BasicHeader("Date", DateUtils.formatDate(eightSecondsAgo)),
+                new BasicHeader("Expires", DateUtils.formatDate(tenSecondsFromNow)),
+                new BasicHeader("Content-Length", "150") };
 
+
+        return new CacheEntry(tenSecondsAgo,sixSecondsAgo,new ProtocolVersion("HTTP", 1, 1),hdrs,new byte[]{},200,"OK"){
+                        private static final long serialVersionUID = 1L;
+
+            @Override
+            public long getCurrentAgeSecs() {
+                return currAge;
+            }
+
+        };
     }
 }

Modified: httpcomponents/httpclient/trunk/httpclient-cache/src/test/java/org/apache/http/client/cache/impl/TestCachedResponseSuitabilityChecker.java
URL: http://svn.apache.org/viewvc/httpcomponents/httpclient/trunk/httpclient-cache/src/test/java/org/apache/http/client/cache/impl/TestCachedResponseSuitabilityChecker.java?rev=941886&r1=941885&r2=941886&view=diff
==============================================================================
--- httpcomponents/httpclient/trunk/httpclient-cache/src/test/java/org/apache/http/client/cache/impl/TestCachedResponseSuitabilityChecker.java (original)
+++ httpcomponents/httpclient/trunk/httpclient-cache/src/test/java/org/apache/http/client/cache/impl/TestCachedResponseSuitabilityChecker.java Thu May  6 20:02:22 2010
@@ -29,8 +29,6 @@ package org.apache.http.client.cache.imp
 import org.apache.http.Header;
 import org.apache.http.HttpHost;
 import org.apache.http.HttpRequest;
-import org.apache.http.client.cache.impl.CacheEntry;
-import org.apache.http.client.cache.impl.CachedResponseSuitabilityChecker;
 import org.apache.http.message.BasicHeader;
 import org.apache.http.message.BasicHttpRequest;
 import org.easymock.classextension.EasyMock;

Modified: httpcomponents/httpclient/trunk/httpclient-cache/src/test/java/org/apache/http/client/cache/impl/TestCachingHttpClient.java
URL: http://svn.apache.org/viewvc/httpcomponents/httpclient/trunk/httpclient-cache/src/test/java/org/apache/http/client/cache/impl/TestCachingHttpClient.java?rev=941886&r1=941885&r2=941886&view=diff
==============================================================================
--- httpcomponents/httpclient/trunk/httpclient-cache/src/test/java/org/apache/http/client/cache/impl/TestCachingHttpClient.java (original)
+++ httpcomponents/httpclient/trunk/httpclient-cache/src/test/java/org/apache/http/client/cache/impl/TestCachingHttpClient.java Thu May  6 20:02:22 2010
@@ -26,6 +26,8 @@
  */
 package org.apache.http.client.cache.impl;
 
+import static junit.framework.Assert.assertTrue;
+
 import java.io.ByteArrayOutputStream;
 import java.io.IOException;
 import java.net.URI;
@@ -33,34 +35,19 @@ import java.util.ArrayList;
 import java.util.Date;
 import java.util.List;
 
+import org.apache.http.Header;
 import org.apache.http.HttpHost;
 import org.apache.http.HttpRequest;
 import org.apache.http.HttpResponse;
 import org.apache.http.HttpStatus;
 import org.apache.http.ProtocolException;
+import org.apache.http.ProtocolVersion;
 import org.apache.http.RequestLine;
 import org.apache.http.StatusLine;
 import org.apache.http.client.ClientProtocolException;
 import org.apache.http.client.HttpClient;
 import org.apache.http.client.ResponseHandler;
-import org.apache.http.client.cache.HttpCacheUpdateCallback;
 import org.apache.http.client.cache.HttpCache;
-import org.apache.http.client.cache.impl.BasicHttpCache;
-import org.apache.http.client.cache.impl.CacheEntry;
-import org.apache.http.client.cache.impl.CacheEntryGenerator;
-import org.apache.http.client.cache.impl.CacheEntryUpdater;
-import org.apache.http.client.cache.impl.CacheInvalidator;
-import org.apache.http.client.cache.impl.CacheableRequestPolicy;
-import org.apache.http.client.cache.impl.CachedHttpResponseGenerator;
-import org.apache.http.client.cache.impl.CachedResponseSuitabilityChecker;
-import org.apache.http.client.cache.impl.CachingHttpClient;
-import org.apache.http.client.cache.impl.ConditionalRequestBuilder;
-import org.apache.http.client.cache.impl.RequestProtocolCompliance;
-import org.apache.http.client.cache.impl.RequestProtocolError;
-import org.apache.http.client.cache.impl.ResponseCachingPolicy;
-import org.apache.http.client.cache.impl.ResponseProtocolCompliance;
-import org.apache.http.client.cache.impl.SizeLimitedResponseReader;
-import org.apache.http.client.cache.impl.URIExtractor;
 import org.apache.http.client.methods.HttpGet;
 import org.apache.http.client.methods.HttpUriRequest;
 import org.apache.http.conn.ClientConnectionManager;
@@ -80,6 +67,8 @@ import org.junit.Test;
 
 public class TestCachingHttpClient {
 
+    private static ProtocolVersion HTTP_1_1 = new ProtocolVersion("HTTP",1,1);
+
     private static final String GET_CURRENT_DATE = "getCurrentDate";
 
     private static final String HANDLE_BACKEND_RESPONSE = "handleBackendResponse";
@@ -106,6 +95,7 @@ public class TestCachingHttpClient {
     private HttpResponse mockBackendResponse;
     private CacheEntry mockCacheEntry;
     private CacheEntry mockVariantCacheEntry;
+    private CacheEntry mockUpdatedCacheEntry;
     private URIExtractor mockExtractor;
     private CacheEntryGenerator mockEntryGenerator;
     private CachedHttpResponseGenerator mockResponseGenerator;
@@ -153,6 +143,7 @@ public class TestCachingHttpClient {
         mockBackendResponse = EasyMock.createMock(HttpResponse.class);
         mockUriRequest = EasyMock.createMock(HttpUriRequest.class);
         mockCacheEntry = EasyMock.createMock(CacheEntry.class);
+        mockUpdatedCacheEntry = EasyMock.createMock(CacheEntry.class);
         mockVariantCacheEntry = EasyMock.createMock(CacheEntry.class);
         mockExtractor = EasyMock.createMock(URIExtractor.class);
         mockEntryGenerator = EasyMock.createMock(CacheEntryGenerator.class);
@@ -168,14 +159,15 @@ public class TestCachingHttpClient {
         mockRequestProtocolCompliance = EasyMock.createMock(RequestProtocolCompliance.class);
         mockRequestLine = EasyMock.createMock(RequestLine.class);
 
+
         requestDate = new Date(System.currentTimeMillis() - 1000);
         responseDate = new Date();
         host = new HttpHost("foo.example.com");
         impl = new CachingHttpClient(mockBackend, mockResponsePolicy, mockEntryGenerator,
-                mockExtractor, mockCache, mockResponseGenerator, mockInvalidator,
-                mockRequestPolicy, mockSuitabilityChecker, mockConditionalRequestBuilder,
-                mockCacheEntryUpdater, mockResponseProtocolCompliance,
-                mockRequestProtocolCompliance);
+                                     mockExtractor, mockCache, mockResponseGenerator, mockInvalidator,
+                                     mockRequestPolicy, mockSuitabilityChecker, mockConditionalRequestBuilder,
+                                     mockCacheEntryUpdater, mockResponseProtocolCompliance,
+                                     mockRequestProtocolCompliance);
     }
 
     private void replayMocks() {
@@ -264,7 +256,7 @@ public class TestCachingHttpClient {
 
         replayMocks();
         HttpResponse result = impl.handleBackendResponse(host, mockRequest, requestDate,
-                responseDate, mockBackendResponse);
+                                                         responseDate, mockBackendResponse);
         verifyMocks();
 
         Assert.assertSame(mockCachedResponse, result);
@@ -317,26 +309,25 @@ public class TestCachingHttpClient {
     }
 
     @Test
-    public void testCacheUpdateCallbackCreatesNewParentEntryWhenParentEntryNull() throws Exception {
+    public void testCacheUpdateAddsVariantURIToParentEntry() throws Exception {
 
         final String variantURI = "variantURI";
 
-        extractVariantURI(variantURI);
-        putInCache(variantURI);
+        final CacheEntry entry = new CacheEntry(new Date(), new Date(),HTTP_1_1,new Header[]{},new byte[]{},200,"OK");
 
-        variantURIAddedToCacheEntry(variantURI);
+        extractVariantURI(variantURI, entry);
+        putInCache(variantURI, entry);
 
         replayMocks();
-        HttpCacheUpdateCallback<CacheEntry> callbackImpl = impl
-                .storeVariantEntry(host, mockRequest, mockCacheEntry);
-        callbackImpl.getUpdatedEntry(null);
+
+        CacheEntry updatedEntry = impl.doGetUpdatedParentEntry(null, host, mockRequest, entry);
+
         verifyMocks();
-    }
 
-    private void variantURIAddedToCacheEntry(String variantURI) {
-        mockCacheEntry.addVariantURI(variantURI);
+        assertTrue(updatedEntry.getVariantURIs().contains(variantURI));
     }
 
+
     @Test
     public void testCacheMissCausesBackendRequest() throws Exception {
         mockImplMethods(GET_CACHE_ENTRY, CALL_BACKEND);
@@ -417,15 +408,15 @@ public class TestCachingHttpClient {
         getCurrentDateReturns(responseDate);
         backendResponseCodeIs(HttpStatus.SC_OK);
         cacheEntryUpdaterCalled();
-        cacheEntryHasVariants(false);
+        cacheEntryHasVariants(false, mockUpdatedCacheEntry);
         extractTheURI("http://foo.example.com");
-        putInCache("http://foo.example.com");
-        responseIsGeneratedFromCache();
+        putInCache("http://foo.example.com", mockUpdatedCacheEntry);
+        responseIsGeneratedFromCache(mockUpdatedCacheEntry);
 
         replayMocks();
 
         HttpResponse result = impl.revalidateCacheEntry(host, mockRequest, mockContext,
-                mockCacheEntry);
+                                                        mockCacheEntry);
 
         verifyMocks();
 
@@ -446,14 +437,13 @@ public class TestCachingHttpClient {
         backendResponseCodeIs(HttpStatus.SC_NOT_MODIFIED);
 
         cacheEntryUpdaterCalled();
-        storeInCacheWasCalled();
+        storeInCacheWasCalled(mockUpdatedCacheEntry);
 
-        responseIsGeneratedFromCache();
+        responseIsGeneratedFromCache(mockUpdatedCacheEntry);
 
         replayMocks();
 
-        HttpResponse result = impl.revalidateCacheEntry(host, mockRequest, mockContext,
-                mockCacheEntry);
+        HttpResponse result = impl.revalidateCacheEntry(host, mockRequest, mockContext, mockCacheEntry);
 
         verifyMocks();
 
@@ -509,7 +499,7 @@ public class TestCachingHttpClient {
 
         replayMocks();
         HttpResponse result = impl.handleBackendResponse(host, mockRequest, currentDate,
-                currentDate, mockBackendResponse);
+                                                         currentDate, mockBackendResponse);
         verifyMocks();
 
         Assert.assertSame(mockBackendResponse, result);
@@ -628,10 +618,10 @@ public class TestCachingHttpClient {
         final HttpRequest theRequest = mockRequest;
         final HttpResponse theResponse = mockBackendResponse;
         impl = new CachingHttpClient(mockBackend, mockResponsePolicy, mockEntryGenerator,
-                mockExtractor, mockCache, mockResponseGenerator, mockInvalidator,
-                mockRequestPolicy, mockSuitabilityChecker, mockConditionalRequestBuilder,
-                mockCacheEntryUpdater, mockResponseProtocolCompliance,
-                mockRequestProtocolCompliance) {
+                                     mockExtractor, mockCache, mockResponseGenerator, mockInvalidator,
+                                     mockRequestPolicy, mockSuitabilityChecker, mockConditionalRequestBuilder,
+                                     mockCacheEntryUpdater, mockResponseProtocolCompliance,
+                                     mockRequestProtocolCompliance) {
             @Override
             public HttpResponse execute(HttpHost target, HttpRequest request, HttpContext context) {
                 Assert.assertSame(theHost, target);
@@ -660,13 +650,13 @@ public class TestCachingHttpClient {
         final ResponseHandler<Object> theHandler = mockHandler;
         final Object value = new Object();
         impl = new CachingHttpClient(mockBackend, mockResponsePolicy, mockEntryGenerator,
-                mockExtractor, mockCache, mockResponseGenerator, mockInvalidator,
-                mockRequestPolicy, mockSuitabilityChecker, mockConditionalRequestBuilder,
-                mockCacheEntryUpdater, mockResponseProtocolCompliance,
-                mockRequestProtocolCompliance) {
+                                     mockExtractor, mockCache, mockResponseGenerator, mockInvalidator,
+                                     mockRequestPolicy, mockSuitabilityChecker, mockConditionalRequestBuilder,
+                                     mockCacheEntryUpdater, mockResponseProtocolCompliance,
+                                     mockRequestProtocolCompliance) {
             @Override
             public <T> T execute(HttpHost target, HttpRequest request,
-                    ResponseHandler<? extends T> rh, HttpContext context) {
+                                 ResponseHandler<? extends T> rh, HttpContext context) {
                 Assert.assertSame(theHost, target);
                 Assert.assertSame(theRequest, request);
                 Assert.assertSame(theHandler, rh);
@@ -700,10 +690,10 @@ public class TestCachingHttpClient {
         final HttpResponse theResponse = mockBackendResponse;
         final HttpContext theContext = mockContext;
         impl = new CachingHttpClient(mockBackend, mockResponsePolicy, mockEntryGenerator,
-                mockExtractor, mockCache, mockResponseGenerator, mockInvalidator,
-                mockRequestPolicy, mockSuitabilityChecker, mockConditionalRequestBuilder,
-                mockCacheEntryUpdater, mockResponseProtocolCompliance,
-                mockRequestProtocolCompliance) {
+                                     mockExtractor, mockCache, mockResponseGenerator, mockInvalidator,
+                                     mockRequestPolicy, mockSuitabilityChecker, mockConditionalRequestBuilder,
+                                     mockCacheEntryUpdater, mockResponseProtocolCompliance,
+                                     mockRequestProtocolCompliance) {
             @Override
             public HttpResponse execute(HttpHost target, HttpRequest request, HttpContext context) {
                 Assert.assertSame(theHost, target);
@@ -732,10 +722,10 @@ public class TestCachingHttpClient {
         final HttpUriRequest theRequest = mockUriRequest;
         final HttpResponse theResponse = mockBackendResponse;
         impl = new CachingHttpClient(mockBackend, mockResponsePolicy, mockEntryGenerator,
-                mockExtractor, mockCache, mockResponseGenerator, mockInvalidator,
-                mockRequestPolicy, mockSuitabilityChecker, mockConditionalRequestBuilder,
-                mockCacheEntryUpdater, mockResponseProtocolCompliance,
-                mockRequestProtocolCompliance) {
+                                     mockExtractor, mockCache, mockResponseGenerator, mockInvalidator,
+                                     mockRequestPolicy, mockSuitabilityChecker, mockConditionalRequestBuilder,
+                                     mockCacheEntryUpdater, mockResponseProtocolCompliance,
+                                     mockRequestProtocolCompliance) {
             @Override
             public HttpResponse execute(HttpUriRequest request, HttpContext context) {
                 Assert.assertSame(theRequest, request);
@@ -762,10 +752,10 @@ public class TestCachingHttpClient {
         final HttpContext theContext = mockContext;
         final HttpResponse theResponse = mockBackendResponse;
         impl = new CachingHttpClient(mockBackend, mockResponsePolicy, mockEntryGenerator,
-                mockExtractor, mockCache, mockResponseGenerator, mockInvalidator,
-                mockRequestPolicy, mockSuitabilityChecker, mockConditionalRequestBuilder,
-                mockCacheEntryUpdater, mockResponseProtocolCompliance,
-                mockRequestProtocolCompliance) {
+                                     mockExtractor, mockCache, mockResponseGenerator, mockInvalidator,
+                                     mockRequestPolicy, mockSuitabilityChecker, mockConditionalRequestBuilder,
+                                     mockCacheEntryUpdater, mockResponseProtocolCompliance,
+                                     mockRequestProtocolCompliance) {
             @Override
             public HttpResponse execute(HttpHost hh, HttpRequest req, HttpContext ctx) {
                 Assert.assertEquals("sch", hh.getSchemeName());
@@ -795,13 +785,13 @@ public class TestCachingHttpClient {
         final HttpResponse theResponse = mockBackendResponse;
         final Object theValue = new Object();
         impl = new CachingHttpClient(mockBackend, mockResponsePolicy, mockEntryGenerator,
-                mockExtractor, mockCache, mockResponseGenerator, mockInvalidator,
-                mockRequestPolicy, mockSuitabilityChecker, mockConditionalRequestBuilder,
-                mockCacheEntryUpdater, mockResponseProtocolCompliance,
-                mockRequestProtocolCompliance) {
+                                     mockExtractor, mockCache, mockResponseGenerator, mockInvalidator,
+                                     mockRequestPolicy, mockSuitabilityChecker, mockConditionalRequestBuilder,
+                                     mockCacheEntryUpdater, mockResponseProtocolCompliance,
+                                     mockRequestProtocolCompliance) {
             @Override
             public <T> T execute(HttpUriRequest request, ResponseHandler<? extends T> handler,
-                    HttpContext context) throws IOException {
+                                 HttpContext context) throws IOException {
                 Assert.assertSame(theRequest, request);
                 Assert.assertNull(context);
                 c.incr();
@@ -830,10 +820,10 @@ public class TestCachingHttpClient {
         final HttpResponse theResponse = mockBackendResponse;
         final Object theValue = new Object();
         impl = new CachingHttpClient(mockBackend, mockResponsePolicy, mockEntryGenerator,
-                mockExtractor, mockCache, mockResponseGenerator, mockInvalidator,
-                mockRequestPolicy, mockSuitabilityChecker, mockConditionalRequestBuilder,
-                mockCacheEntryUpdater, mockResponseProtocolCompliance,
-                mockRequestProtocolCompliance) {
+                                     mockExtractor, mockCache, mockResponseGenerator, mockInvalidator,
+                                     mockRequestPolicy, mockSuitabilityChecker, mockConditionalRequestBuilder,
+                                     mockCacheEntryUpdater, mockResponseProtocolCompliance,
+                                     mockRequestProtocolCompliance) {
             @Override
             public HttpResponse execute(HttpUriRequest request, HttpContext context)
                     throws IOException {
@@ -949,7 +939,7 @@ public class TestCachingHttpClient {
             response.getEntity().writeTo(s1);
             return s1.toByteArray();
         } catch (Exception ex) {
-            return new byte[] {};
+            return new byte[]{};
 
         }
 
@@ -976,8 +966,9 @@ public class TestCachingHttpClient {
     }
 
     private void cacheEntryUpdaterCalled() {
-        mockCacheEntryUpdater.updateCacheEntry(mockCacheEntry, requestDate, responseDate,
-                mockBackendResponse);
+        EasyMock.expect(
+                mockCacheEntryUpdater.updateCacheEntry(mockCacheEntry, requestDate, responseDate,
+                                                       mockBackendResponse)).andReturn(mockUpdatedCacheEntry);
     }
 
     private void getCacheEntryReturns(CacheEntry entry) {
@@ -1061,43 +1052,64 @@ public class TestCachingHttpClient {
         org.easymock.EasyMock.expect(mockCacheEntry.hasVariants()).andReturn(b);
     }
 
+    private void cacheEntryHasVariants(boolean b, CacheEntry entry) {
+        EasyMock.expect(entry.hasVariants()).andReturn(b);
+    }
+
     private void responseIsGeneratedFromCache() {
         org.easymock.EasyMock.expect(mockResponseGenerator.generateResponse(mockCacheEntry))
                 .andReturn(mockCachedResponse);
     }
 
+    private void responseIsGeneratedFromCache(CacheEntry entry) {
+        org.easymock.EasyMock.expect(mockResponseGenerator.generateResponse(entry))
+                .andReturn(mockCachedResponse);
+    }
+
     private void extractTheURI(String theURI) {
         org.easymock.EasyMock.expect(mockExtractor.getURI(host, mockRequest)).andReturn(theURI);
     }
 
     private void extractVariantURI(String variantURI) {
+        extractVariantURI(variantURI,mockCacheEntry);
+    }
+
+    private void extractVariantURI(String variantURI, CacheEntry entry){
         org.easymock.EasyMock
-                .expect(mockExtractor.getVariantURI(host, mockRequest, mockCacheEntry)).andReturn(
-                        variantURI);
+                .expect(mockExtractor.getVariantURI(host, mockRequest, entry)).andReturn(
+                variantURI);
     }
 
     private void putInCache(String theURI) throws Exception {
         mockCache.putEntry(theURI, mockCacheEntry);
     }
 
+    private void putInCache(String theURI, CacheEntry entry) throws Exception {
+        mockCache.putEntry(theURI, entry);
+    }
+
     private void generateCacheEntry(Date requestDate, Date responseDate, byte[] bytes)
             throws IOException {
         org.easymock.EasyMock.expect(
                 mockEntryGenerator.generateEntry(requestDate, responseDate, mockBackendResponse,
-                        bytes)).andReturn(mockCacheEntry);
+                                                 bytes)).andReturn(mockCacheEntry);
     }
 
     private void handleBackendResponseReturnsResponse(HttpRequest request, HttpResponse response)
             throws IOException {
         org.easymock.EasyMock.expect(
                 impl.handleBackendResponse(host, request, requestDate, responseDate,
-                        mockBackendResponse)).andReturn(response);
+                                           mockBackendResponse)).andReturn(response);
     }
 
     private void storeInCacheWasCalled() {
         impl.storeInCache(host, mockRequest, mockCacheEntry);
     }
 
+    private void storeInCacheWasCalled(CacheEntry entry) {
+        impl.storeInCache(host, mockRequest, entry);
+    }
+
     private void responseProtocolValidationIsCalled() throws ClientProtocolException {
         mockResponseProtocolCompliance.ensureProtocolCompliance(mockRequest, mockBackendResponse);
     }
@@ -1117,10 +1129,10 @@ public class TestCachingHttpClient {
     private void mockImplMethods(String... methods) {
         mockedImpl = true;
         impl = EasyMock.createMockBuilder(CachingHttpClient.class).withConstructor(mockBackend,
-                mockResponsePolicy, mockEntryGenerator, mockExtractor, mockCache,
-                mockResponseGenerator, mockInvalidator, mockRequestPolicy, mockSuitabilityChecker,
-                mockConditionalRequestBuilder, mockCacheEntryUpdater,
-                mockResponseProtocolCompliance, mockRequestProtocolCompliance).addMockedMethods(
+                                                                                   mockResponsePolicy, mockEntryGenerator, mockExtractor, mockCache,
+                                                                                   mockResponseGenerator, mockInvalidator, mockRequestPolicy, mockSuitabilityChecker,
+                                                                                   mockConditionalRequestBuilder, mockCacheEntryUpdater,
+                                                                                   mockResponseProtocolCompliance, mockRequestProtocolCompliance).addMockedMethods(
                 methods).createMock();
     }
 }

Modified: httpcomponents/httpclient/trunk/httpclient-cache/src/test/java/org/apache/http/client/cache/impl/TestCombinedInputStream.java
URL: http://svn.apache.org/viewvc/httpcomponents/httpclient/trunk/httpclient-cache/src/test/java/org/apache/http/client/cache/impl/TestCombinedInputStream.java?rev=941886&r1=941885&r2=941886&view=diff
==============================================================================
--- httpcomponents/httpclient/trunk/httpclient-cache/src/test/java/org/apache/http/client/cache/impl/TestCombinedInputStream.java (original)
+++ httpcomponents/httpclient/trunk/httpclient-cache/src/test/java/org/apache/http/client/cache/impl/TestCombinedInputStream.java Thu May  6 20:02:22 2010
@@ -29,7 +29,6 @@ package org.apache.http.client.cache.imp
 import java.io.ByteArrayInputStream;
 import java.io.InputStream;
 
-import org.apache.http.client.cache.impl.CombinedInputStream;
 import org.easymock.classextension.EasyMock;
 import org.junit.Assert;
 import org.junit.Before;

Modified: httpcomponents/httpclient/trunk/httpclient-cache/src/test/java/org/apache/http/client/cache/impl/TestConditionalRequestBuilder.java
URL: http://svn.apache.org/viewvc/httpcomponents/httpclient/trunk/httpclient-cache/src/test/java/org/apache/http/client/cache/impl/TestConditionalRequestBuilder.java?rev=941886&r1=941885&r2=941886&view=diff
==============================================================================
--- httpcomponents/httpclient/trunk/httpclient-cache/src/test/java/org/apache/http/client/cache/impl/TestConditionalRequestBuilder.java (original)
+++ httpcomponents/httpclient/trunk/httpclient-cache/src/test/java/org/apache/http/client/cache/impl/TestConditionalRequestBuilder.java Thu May  6 20:02:22 2010
@@ -31,8 +31,7 @@ import java.util.Date;
 import org.apache.http.Header;
 import org.apache.http.HttpRequest;
 import org.apache.http.ProtocolException;
-import org.apache.http.client.cache.impl.CacheEntry;
-import org.apache.http.client.cache.impl.ConditionalRequestBuilder;
+import org.apache.http.ProtocolVersion;
 import org.apache.http.impl.cookie.DateUtils;
 import org.apache.http.message.BasicHeader;
 import org.apache.http.message.BasicHttpRequest;
@@ -58,11 +57,11 @@ public class TestConditionalRequestBuild
         HttpRequest request = new BasicHttpRequest(theMethod, theUri);
         request.addHeader("Accept-Encoding", "gzip");
 
-        CacheEntry cacheEntry = new CacheEntry();
-        cacheEntry.setResponseHeaders(new Header[] {
+        Header[] headers = new Header[] {
                 new BasicHeader("Date", DateUtils.formatDate(new Date())),
-                new BasicHeader("Last-Modified", lastModified) });
+                new BasicHeader("Last-Modified", lastModified) };
 
+        CacheEntry cacheEntry = new CacheEntry(new Date(),new Date(),new ProtocolVersion("HTTP",1,1),headers, new byte[]{},200,"OK");
         HttpRequest newRequest = impl.buildConditionalRequest(request, cacheEntry);
 
         Assert.assertNotSame(request, newRequest);
@@ -89,11 +88,13 @@ public class TestConditionalRequestBuild
         HttpRequest request = new BasicHttpRequest(theMethod, theUri);
         request.addHeader("Accept-Encoding", "gzip");
 
-        CacheEntry cacheEntry = new CacheEntry();
-        cacheEntry.setResponseHeaders(new Header[] {
+        Header[] headers = new Header[] {
                 new BasicHeader("Date", DateUtils.formatDate(new Date())),
                 new BasicHeader("Last-Modified", DateUtils.formatDate(new Date())),
-                new BasicHeader("ETag", theETag) });
+                new BasicHeader("ETag", theETag) };
+
+        CacheEntry cacheEntry = new CacheEntry(new Date(),new Date(),new ProtocolVersion("HTTP",1,1),headers, new byte[]{},200,"OK");
+
 
         HttpRequest newRequest = impl.buildConditionalRequest(request, cacheEntry);
 

Modified: httpcomponents/httpclient/trunk/httpclient-cache/src/test/java/org/apache/http/client/cache/impl/TestDefaultCacheEntrySerializer.java
URL: http://svn.apache.org/viewvc/httpcomponents/httpclient/trunk/httpclient-cache/src/test/java/org/apache/http/client/cache/impl/TestDefaultCacheEntrySerializer.java?rev=941886&r1=941885&r2=941886&view=diff
==============================================================================
--- httpcomponents/httpclient/trunk/httpclient-cache/src/test/java/org/apache/http/client/cache/impl/TestDefaultCacheEntrySerializer.java (original)
+++ httpcomponents/httpclient/trunk/httpclient-cache/src/test/java/org/apache/http/client/cache/impl/TestDefaultCacheEntrySerializer.java Thu May  6 20:02:22 2010
@@ -35,8 +35,6 @@ import org.apache.http.Header;
 import org.apache.http.HttpVersion;
 import org.apache.http.ProtocolVersion;
 import org.apache.http.client.cache.HttpCacheEntrySerializer;
-import org.apache.http.client.cache.impl.CacheEntry;
-import org.apache.http.client.cache.impl.DefaultCacheEntrySerializer;
 import org.apache.http.message.BasicHeader;
 import org.junit.Assert;
 import org.junit.Test;
@@ -64,7 +62,6 @@ public class TestDefaultCacheEntrySerial
 
     private CacheEntry newCacheEntry() {
 
-        CacheEntry cacheEntry = new CacheEntry();
 
         Header[] headers = new Header[5];
         for (int i = 0; i < headers.length; i++) {
@@ -73,11 +70,7 @@ public class TestDefaultCacheEntrySerial
         ProtocolVersion version = new HttpVersion(1, 1);
         String body = "Lorem ipsum dolor sit amet";
 
-        cacheEntry.setResponseHeaders(headers);
-        cacheEntry.setProtocolVersion(version);
-        cacheEntry.setRequestDate(new Date());
-        cacheEntry.setResponseDate(new Date());
-        cacheEntry.setBody(body.getBytes());
+        CacheEntry cacheEntry = new CacheEntry(new Date(),new Date(), version, headers, body.getBytes(),200,"OK");
 
         return cacheEntry;
 

Modified: httpcomponents/httpclient/trunk/httpclient-cache/src/test/java/org/apache/http/client/cache/impl/TestProtocolDeviations.java
URL: http://svn.apache.org/viewvc/httpcomponents/httpclient/trunk/httpclient-cache/src/test/java/org/apache/http/client/cache/impl/TestProtocolDeviations.java?rev=941886&r1=941885&r2=941886&view=diff
==============================================================================
--- httpcomponents/httpclient/trunk/httpclient-cache/src/test/java/org/apache/http/client/cache/impl/TestProtocolDeviations.java (original)
+++ httpcomponents/httpclient/trunk/httpclient-cache/src/test/java/org/apache/http/client/cache/impl/TestProtocolDeviations.java Thu May  6 20:02:22 2010
@@ -39,8 +39,6 @@ import org.apache.http.ProtocolVersion;
 import org.apache.http.client.ClientProtocolException;
 import org.apache.http.client.HttpClient;
 import org.apache.http.client.cache.HttpCache;
-import org.apache.http.client.cache.impl.BasicHttpCache;
-import org.apache.http.client.cache.impl.CachingHttpClient;
 import org.apache.http.entity.ByteArrayEntity;
 import org.apache.http.impl.cookie.DateUtils;
 import org.apache.http.message.BasicHttpEntityEnclosingRequest;

Modified: httpcomponents/httpclient/trunk/httpclient-cache/src/test/java/org/apache/http/client/cache/impl/TestProtocolRequirements.java
URL: http://svn.apache.org/viewvc/httpcomponents/httpclient/trunk/httpclient-cache/src/test/java/org/apache/http/client/cache/impl/TestProtocolRequirements.java?rev=941886&r1=941885&r2=941886&view=diff
==============================================================================
--- httpcomponents/httpclient/trunk/httpclient-cache/src/test/java/org/apache/http/client/cache/impl/TestProtocolRequirements.java (original)
+++ httpcomponents/httpclient/trunk/httpclient-cache/src/test/java/org/apache/http/client/cache/impl/TestProtocolRequirements.java Thu May  6 20:02:22 2010
@@ -43,15 +43,14 @@ import org.apache.http.ProtocolVersion;
 import org.apache.http.client.ClientProtocolException;
 import org.apache.http.client.HttpClient;
 import org.apache.http.client.cache.HttpCache;
-import org.apache.http.client.cache.impl.BasicHttpCache;
-import org.apache.http.client.cache.impl.CacheEntry;
-import org.apache.http.client.cache.impl.CachingHttpClient;
 import org.apache.http.entity.ByteArrayEntity;
 import org.apache.http.impl.client.RequestWrapper;
 import org.apache.http.impl.cookie.DateUtils;
+import org.apache.http.message.BasicHeader;
 import org.apache.http.message.BasicHttpEntityEnclosingRequest;
 import org.apache.http.message.BasicHttpRequest;
 import org.apache.http.message.BasicHttpResponse;
+import org.apache.http.message.HeaderGroup;
 import org.apache.http.protocol.HttpContext;
 import org.easymock.Capture;
 import org.easymock.IExpectationSetters;
@@ -2063,52 +2062,53 @@ public class TestProtocolRequirements {
     public void testCacheEntryIsUpdatedWithNewFieldValuesIn304Response() throws Exception {
 
         Date now = new Date();
-        Date inOneSecond = new Date(now.getTime() + 1000L);
-        HttpRequest req1 = new BasicHttpRequest("GET", "/", HTTP_1_1);
-        HttpResponse resp1 = make200Response();
-        resp1.setHeader("Cache-Control", "max-age=3600");
-        resp1.setHeader("ETag", "\"etag\"");
+        Date inFiveSeconds = new Date(now.getTime() + 5000L);
 
-        HttpRequest req2 = new BasicHttpRequest("GET", "/", HTTP_1_1);
-        req2.setHeader("Cache-Control", "max-age=0,max-stale=0");
+        HttpRequest initialRequest = new BasicHttpRequest("GET", "/", HTTP_1_1);
 
-        HttpRequest conditionalValidation = new BasicHttpRequest("GET", "/", HTTP_1_1);
-        conditionalValidation.setHeader("If-None-Match", "\"etag\"");
+        HttpResponse cachedResponse = make200Response();
+        cachedResponse.setHeader("Cache-Control", "max-age=3600");
+        cachedResponse.setHeader("ETag", "\"etag\"");
 
-        HttpRequest unconditionalValidation = new BasicHttpRequest("GET", "/", HTTP_1_1);
+        HttpRequest secondRequest = new BasicHttpRequest("GET", "/", HTTP_1_1);
+        secondRequest.setHeader("Cache-Control", "max-age=0,max-stale=0");
+
+        HttpRequest conditionalValidationRequest = new BasicHttpRequest("GET", "/", HTTP_1_1);
+        conditionalValidationRequest.setHeader("If-None-Match", "\"etag\"");
+
+        HttpRequest unconditionalValidationRequest = new BasicHttpRequest("GET", "/", HTTP_1_1);
 
         // to be used if the cache generates a conditional validation
-        HttpResponse resp2 = new BasicHttpResponse(HTTP_1_1, HttpStatus.SC_NOT_MODIFIED,
-                "Not Modified");
-        resp2.setHeader("Date", DateUtils.formatDate(inOneSecond));
-        resp2.setHeader("Server", "MockUtils/1.0");
-        resp2.setHeader("ETag", "\"etag\"");
-        resp2.setHeader("X-Extra", "junk");
+        HttpResponse conditionalResponse = new BasicHttpResponse(HTTP_1_1, HttpStatus.SC_NOT_MODIFIED, "Not Modified");
+        conditionalResponse.setHeader("Date", DateUtils.formatDate(inFiveSeconds));
+        conditionalResponse.setHeader("Server", "MockUtils/1.0");
+        conditionalResponse.setHeader("ETag", "\"etag\"");
+        conditionalResponse.setHeader("X-Extra", "junk");
 
         // to be used if the cache generates an unconditional validation
-        HttpResponse resp3 = make200Response();
-        resp3.setHeader("Date", DateUtils.formatDate(inOneSecond));
-        resp3.setHeader("ETag", "\"etag\"");
+        HttpResponse unconditionalResponse = make200Response();
+        unconditionalResponse.setHeader("Date", DateUtils.formatDate(inFiveSeconds));
+        unconditionalResponse.setHeader("ETag", "\"etag\"");
 
         Capture<HttpRequest> cap1 = new Capture<HttpRequest>();
         Capture<HttpRequest> cap2 = new Capture<HttpRequest>();
 
         EasyMock.expect(
                 mockBackend.execute(EasyMock.isA(HttpHost.class), EasyMock.isA(HttpRequest.class),
-                        (HttpContext) EasyMock.isNull())).andReturn(resp1);
+                        (HttpContext) EasyMock.isNull())).andReturn(cachedResponse);
         EasyMock.expect(
                 mockBackend.execute(EasyMock.eq(host), EasyMock.and(
-                        eqRequest(conditionalValidation), EasyMock.capture(cap1)),
-                        (HttpContext) EasyMock.isNull())).andReturn(resp2).times(0, 1);
+                        eqRequest(conditionalValidationRequest), EasyMock.capture(cap1)),
+                        (HttpContext) EasyMock.isNull())).andReturn(conditionalResponse).times(0, 1);
         EasyMock.expect(
                 mockBackend.execute(EasyMock.eq(host), EasyMock.and(
-                        eqRequest(unconditionalValidation), EasyMock.capture(cap2)),
-                        (HttpContext) EasyMock.isNull())).andReturn(resp3).times(0, 1);
+                        eqRequest(unconditionalValidationRequest), EasyMock.capture(cap2)),
+                        (HttpContext) EasyMock.isNull())).andReturn(unconditionalResponse).times(0, 1);
 
         replayMocks();
 
-        impl.execute(host, req1);
-        HttpResponse result = impl.execute(host, req2);
+        impl.execute(host, initialRequest);
+        HttpResponse result = impl.execute(host, secondRequest);
 
         verifyMocks();
 
@@ -2116,7 +2116,7 @@ public class TestProtocolRequirements {
                 || (!cap1.hasCaptured() && cap2.hasCaptured()));
 
         if (cap1.hasCaptured()) {
-            Assert.assertEquals(DateUtils.formatDate(inOneSecond), result.getFirstHeader("Date")
+            Assert.assertEquals(DateUtils.formatDate(inFiveSeconds), result.getFirstHeader("Date")
                     .getValue());
             Assert.assertEquals("junk", result.getFirstHeader("X-Extra").getValue());
         }
@@ -2297,17 +2297,20 @@ public class TestProtocolRequirements {
         Date nineSecondsAgo = new Date(now.getTime() - 9 * 1000L);
         Date eightSecondsAgo = new Date(now.getTime() - 8 * 1000L);
 
-        originResponse.setHeader("Date", DateUtils.formatDate(nineSecondsAgo));
-        originResponse.setHeader("Cache-Control", "max-age=0");
-        originResponse.setHeader("ETag", "\"etag\"");
-        originResponse.setHeader("Content-Length", "128");
+        FakeHeaderGroup headerGroup = new FakeHeaderGroup();
+
+        headerGroup.addHeader("Date", DateUtils.formatDate(nineSecondsAgo));
+        headerGroup.addHeader("Cache-Control", "max-age=0");
+        headerGroup.addHeader("ETag", "\"etag\"");
+        headerGroup.addHeader("Content-Length", "128");
+
 
         byte[] bytes = new byte[128];
         (new Random()).nextBytes(bytes);
 
-        CacheEntry entry = new CacheEntry(tenSecondsAgo, eightSecondsAgo, originResponse, bytes);
+        CacheEntry entry = new CacheEntry(tenSecondsAgo, eightSecondsAgo, HTTP_1_1, headerGroup.getAllHeaders(),bytes,200,"OK");
 
-        mockCache.putEntry("http://foo.example.com/thing", entry);
+        mockCache.putEntry(EasyMock.eq("http://foo.example.com/thing"), EasyMock.isA(CacheEntry.class));
 
         impl = new CachingHttpClient(mockBackend, mockCache, MAX_BYTES);
 
@@ -2339,14 +2342,18 @@ public class TestProtocolRequirements {
         Date tenSecondsAgo = new Date(now.getTime() - 10 * 1000L);
         Date nineSecondsAgo = new Date(now.getTime() - 9 * 1000L);
         Date eightSecondsAgo = new Date(now.getTime() - 8 * 1000L);
+        FakeHeaderGroup headerGroup = new FakeHeaderGroup();
 
-        originResponse.setHeader("Date", DateUtils.formatDate(nineSecondsAgo));
-        originResponse.setHeader("Cache-Control", "max-age=3600");
-        originResponse.setHeader("Content-Length", "128");
+
+        headerGroup.addHeader("Date", DateUtils.formatDate(nineSecondsAgo));
+        headerGroup.addHeader("Cache-Control", "max-age=3600");
+        headerGroup.addHeader("Content-Length", "128");
         byte[] bytes = new byte[128];
         (new Random()).nextBytes(bytes);
 
-        CacheEntry entry = new CacheEntry(tenSecondsAgo, eightSecondsAgo, originResponse, bytes);
+
+        CacheEntry entry = new CacheEntry(tenSecondsAgo, eightSecondsAgo, HTTP_1_1, headerGroup.getAllHeaders(),bytes,200,"OK");
+
 
         impl = new CachingHttpClient(mockBackend, mockCache, MAX_BYTES);
 
@@ -2377,14 +2384,18 @@ public class TestProtocolRequirements {
         Date nineSecondsAgo = new Date(now.getTime() - 9 * 1000L);
         Date eightSecondsAgo = new Date(now.getTime() - 8 * 1000L);
 
-        originResponse.setHeader("Date", DateUtils.formatDate(nineSecondsAgo));
-        originResponse.setHeader("Cache-Control", "max-age=0");
-        originResponse.setHeader("Content-Length", "128");
-        originResponse.setHeader("Last-Modified", DateUtils.formatDate(tenSecondsAgo));
+        FakeHeaderGroup headerGroup = new FakeHeaderGroup();
+
+        headerGroup.addHeader("Date", DateUtils.formatDate(nineSecondsAgo));
+        headerGroup.addHeader("Cache-Control", "max-age=0");
+        headerGroup.addHeader("Content-Length", "128");
+        headerGroup.addHeader("Last-Modified", DateUtils.formatDate(tenSecondsAgo));
         byte[] bytes = new byte[128];
         (new Random()).nextBytes(bytes);
 
-        CacheEntry entry = new CacheEntry(tenSecondsAgo, eightSecondsAgo, originResponse, bytes);
+        CacheEntry entry = new CacheEntry(tenSecondsAgo, eightSecondsAgo, HTTP_1_1, headerGroup.getAllHeaders(),bytes,200,"OK");
+
+
 
         impl = new CachingHttpClient(mockBackend, mockCache, MAX_BYTES);
 
@@ -2558,14 +2569,16 @@ public class TestProtocolRequirements {
         Date nineSecondsAgo = new Date(now.getTime() - 9 * 1000L);
         Date eightSecondsAgo = new Date(now.getTime() - 8 * 1000L);
 
-        originResponse.setHeader("Date", DateUtils.formatDate(nineSecondsAgo));
-        originResponse.setHeader("Cache-Control", "max-age=3600");
-        originResponse.setHeader("Content-Length", "128");
+
+        FakeHeaderGroup headerGroup = new FakeHeaderGroup();
+
+        headerGroup.setHeader("Date", DateUtils.formatDate(nineSecondsAgo));
+        headerGroup.setHeader("Cache-Control", "max-age=3600");
+        headerGroup.setHeader("Content-Length", "128");
         byte[] bytes = new byte[128];
         (new Random()).nextBytes(bytes);
-        originResponse.setEntity(new ByteArrayEntity(bytes));
 
-        CacheEntry entry = new CacheEntry(tenSecondsAgo, eightSecondsAgo, originResponse, bytes);
+        CacheEntry entry = new CacheEntry(tenSecondsAgo, eightSecondsAgo, HTTP_1_1, headerGroup.getAllHeaders(),bytes,200,"OK");
 
         impl = new CachingHttpClient(mockBackend, mockCache, MAX_BYTES);
 
@@ -2599,15 +2612,17 @@ public class TestProtocolRequirements {
         Date requestTime = new Date(thirtySixHoursAgo.getTime() - 1000L);
         Date responseTime = new Date(thirtySixHoursAgo.getTime() + 1000L);
 
-        originResponse.setHeader("Date", DateUtils.formatDate(thirtySixHoursAgo));
-        originResponse.setHeader("Cache-Control", "public");
-        originResponse.setHeader("Last-Modified", DateUtils.formatDate(oneYearAgo));
-        originResponse.setHeader("Content-Length", "128");
+        FakeHeaderGroup headerGroup = new FakeHeaderGroup();
+
+        headerGroup.setHeader("Date", DateUtils.formatDate(thirtySixHoursAgo));
+        headerGroup.setHeader("Cache-Control", "public");
+        headerGroup.setHeader("Last-Modified", DateUtils.formatDate(oneYearAgo));
+        headerGroup.setHeader("Content-Length", "128");
         byte[] bytes = new byte[128];
         (new Random()).nextBytes(bytes);
-        originResponse.setEntity(new ByteArrayEntity(bytes));
 
-        CacheEntry entry = new CacheEntry(requestTime, responseTime, originResponse, bytes);
+        CacheEntry entry = new CacheEntry(requestTime, responseTime, HTTP_1_1, headerGroup.getAllHeaders(),bytes,200,"OK");
+
 
         impl = new CachingHttpClient(mockBackend, mockCache, MAX_BYTES);
 
@@ -3139,4 +3154,16 @@ public class TestProtocolRequirements {
         testDoesNotAddHeaderOnCacheHit("Last-Modified");
     }
 
+
+
+    private class FakeHeaderGroup extends HeaderGroup{
+
+        public void addHeader(String name, String value){
+            this.addHeader(new BasicHeader(name,value));
+        }
+
+        public void setHeader(String name, String value){
+            addHeader(name,value);
+        }
+    }
 }
\ No newline at end of file

Modified: httpcomponents/httpclient/trunk/httpclient-cache/src/test/java/org/apache/http/client/cache/impl/TestResponseCache.java
URL: http://svn.apache.org/viewvc/httpcomponents/httpclient/trunk/httpclient-cache/src/test/java/org/apache/http/client/cache/impl/TestResponseCache.java?rev=941886&r1=941885&r2=941886&view=diff
==============================================================================
--- httpcomponents/httpclient/trunk/httpclient-cache/src/test/java/org/apache/http/client/cache/impl/TestResponseCache.java (original)
+++ httpcomponents/httpclient/trunk/httpclient-cache/src/test/java/org/apache/http/client/cache/impl/TestResponseCache.java Thu May  6 20:02:22 2010
@@ -28,35 +28,35 @@ package org.apache.http.client.cache.imp
 
 import org.apache.http.client.cache.HttpCacheOperationException;
 import org.apache.http.client.cache.HttpCacheUpdateCallback;
-import org.apache.http.client.cache.impl.BasicHttpCache;
-import org.apache.http.client.cache.impl.CacheEntry;
+import org.easymock.classextension.EasyMock;
 import org.junit.Assert;
 import org.junit.Before;
+import org.junit.Ignore;
 import org.junit.Test;
 
 public class TestResponseCache {
 
     private BasicHttpCache cache;
+    private CacheEntry mockEntry;
 
     @Before
     public void setUp() {
         cache = new BasicHttpCache(5);
+        mockEntry = EasyMock.createMock(CacheEntry.class);
     }
 
     @Test
     public void testEntryRemainsInCacheWhenPutThere() {
-        CacheEntry entry = new CacheEntry();
-        cache.putEntry("foo", entry);
+        cache.putEntry("foo", mockEntry);
 
         CacheEntry cachedEntry = cache.getEntry("foo");
 
-        Assert.assertSame(entry, cachedEntry);
+        Assert.assertSame(mockEntry, cachedEntry);
     }
 
     @Test
     public void testRemovedEntriesDoNotExistAnymore() {
-        CacheEntry entry = new CacheEntry();
-        cache.putEntry("foo", entry);
+        cache.putEntry("foo", mockEntry);
 
         cache.removeEntry("foo");
 
@@ -69,13 +69,13 @@ public class TestResponseCache {
     public void testCacheHoldsNoMoreThanSpecifiedMaxEntries() {
         BasicHttpCache cache = new BasicHttpCache(1);
 
-        CacheEntry entry1 = new CacheEntry();
+        CacheEntry entry1 = EasyMock.createMock(CacheEntry.class);
         cache.putEntry("foo", entry1);
 
-        CacheEntry entry2 = new CacheEntry();
+        CacheEntry entry2 = EasyMock.createMock(CacheEntry.class);
         cache.putEntry("bar", entry2);
 
-        CacheEntry entry3 = new CacheEntry();
+        CacheEntry entry3 = EasyMock.createMock(CacheEntry.class);
         cache.putEntry("baz", entry3);
 
         CacheEntry e1 = cache.getEntry("foo");
@@ -96,7 +96,7 @@ public class TestResponseCache {
 
         // fill the cache with entries
         for (int i = 0; i < max_size; i++) {
-            CacheEntry entry = new CacheEntry();
+            CacheEntry entry = EasyMock.createMock(CacheEntry.class);
             cache.putEntry("entry" + i, entry);
         }
 
@@ -105,7 +105,7 @@ public class TestResponseCache {
 
         // add another entry, which kicks out the eldest (should be the 2nd one
         // created), and becomes the new MRU entry
-        CacheEntry newMru = new CacheEntry();
+        CacheEntry newMru = EasyMock.createMock(CacheEntry.class);
         cache.putEntry("newMru", newMru);
 
         // get the original second eldest
@@ -123,7 +123,7 @@ public class TestResponseCache {
     public void testZeroMaxSizeCacheDoesNotStoreAnything() {
         BasicHttpCache cache = new BasicHttpCache(0);
 
-        CacheEntry entry = new CacheEntry();
+        CacheEntry entry = EasyMock.createMock(CacheEntry.class);
         cache.putEntry("foo", entry);
 
         CacheEntry gone = cache.getEntry("foo");
@@ -132,12 +132,13 @@ public class TestResponseCache {
     }
 
     @Test
+    @Ignore
     public void testCacheEntryCallbackUpdatesCacheEntry() throws HttpCacheOperationException {
 
         final byte[] expectedArray = new byte[] { 1, 2, 3, 4, 5 };
 
-        CacheEntry entry = new CacheEntry();
-        CacheEntry entry2 = new CacheEntry();
+        CacheEntry entry = EasyMock.createMock(CacheEntry.class);
+        CacheEntry entry2 = EasyMock.createMock(CacheEntry.class);
 
         cache.putEntry("foo", entry);
         cache.putEntry("bar", entry2);
@@ -145,10 +146,16 @@ public class TestResponseCache {
         cache.updateCacheEntry("foo", new HttpCacheUpdateCallback<CacheEntry>() {
 
             public CacheEntry getUpdatedEntry(CacheEntry existing) {
-                existing.setBody(expectedArray);
-
+                CacheEntry updated = new CacheEntry(
+                        existing.getRequestDate(),
+                        existing.getRequestDate(),
+                        existing.getProtocolVersion(),
+                        existing.getAllHeaders(),
+                        expectedArray,
+                        existing.getStatusCode(),
+                        existing.getReasonPhrase());
                 cache.removeEntry("bar");
-                return existing;
+                return updated;
             }
         });
 

Modified: httpcomponents/httpclient/trunk/httpclient-cache/src/test/java/org/apache/http/client/cache/impl/TestResponseCachingPolicy.java
URL: http://svn.apache.org/viewvc/httpcomponents/httpclient/trunk/httpclient-cache/src/test/java/org/apache/http/client/cache/impl/TestResponseCachingPolicy.java?rev=941886&r1=941885&r2=941886&view=diff
==============================================================================
--- httpcomponents/httpclient/trunk/httpclient-cache/src/test/java/org/apache/http/client/cache/impl/TestResponseCachingPolicy.java (original)
+++ httpcomponents/httpclient/trunk/httpclient-cache/src/test/java/org/apache/http/client/cache/impl/TestResponseCachingPolicy.java Thu May  6 20:02:22 2010
@@ -33,7 +33,6 @@ import org.apache.http.HttpRequest;
 import org.apache.http.HttpResponse;
 import org.apache.http.HttpStatus;
 import org.apache.http.ProtocolVersion;
-import org.apache.http.client.cache.impl.ResponseCachingPolicy;
 import org.apache.http.impl.cookie.DateUtils;
 import org.apache.http.message.BasicHttpRequest;
 import org.apache.http.message.BasicHttpResponse;

Modified: httpcomponents/httpclient/trunk/httpclient-cache/src/test/java/org/apache/http/client/cache/impl/TestSizeLimitedResponseReader.java
URL: http://svn.apache.org/viewvc/httpcomponents/httpclient/trunk/httpclient-cache/src/test/java/org/apache/http/client/cache/impl/TestSizeLimitedResponseReader.java?rev=941886&r1=941885&r2=941886&view=diff
==============================================================================
--- httpcomponents/httpclient/trunk/httpclient-cache/src/test/java/org/apache/http/client/cache/impl/TestSizeLimitedResponseReader.java (original)
+++ httpcomponents/httpclient/trunk/httpclient-cache/src/test/java/org/apache/http/client/cache/impl/TestSizeLimitedResponseReader.java Thu May  6 20:02:22 2010
@@ -34,7 +34,6 @@ import org.apache.http.Header;
 import org.apache.http.HttpEntity;
 import org.apache.http.HttpResponse;
 import org.apache.http.ProtocolVersion;
-import org.apache.http.client.cache.impl.SizeLimitedResponseReader;
 import org.easymock.classextension.EasyMock;
 import org.junit.Assert;
 import org.junit.Before;

Modified: httpcomponents/httpclient/trunk/httpclient-cache/src/test/java/org/apache/http/client/cache/impl/TestURIExtractor.java
URL: http://svn.apache.org/viewvc/httpcomponents/httpclient/trunk/httpclient-cache/src/test/java/org/apache/http/client/cache/impl/TestURIExtractor.java?rev=941886&r1=941885&r2=941886&view=diff
==============================================================================
--- httpcomponents/httpclient/trunk/httpclient-cache/src/test/java/org/apache/http/client/cache/impl/TestURIExtractor.java (original)
+++ httpcomponents/httpclient/trunk/httpclient-cache/src/test/java/org/apache/http/client/cache/impl/TestURIExtractor.java Thu May  6 20:02:22 2010
@@ -29,8 +29,6 @@ package org.apache.http.client.cache.imp
 import org.apache.http.Header;
 import org.apache.http.HttpHost;
 import org.apache.http.HttpRequest;
-import org.apache.http.client.cache.impl.CacheEntry;
-import org.apache.http.client.cache.impl.URIExtractor;
 import org.apache.http.message.BasicHeader;
 import org.apache.http.message.BasicHttpRequest;
 import org.easymock.classextension.EasyMock;