@Test public void testDeleteInvalidatesCacheForThatUriInContentLocationHeader() throws Exception { final ClassicHttpRequest req = new BasicClassicHttpRequest("DELETE", "/"); testUnsafeMethodInvalidatesCacheForUriInContentLocationHeader(req); }
@Test public void testDeleteToUriInvalidatesCacheForThatUri() throws Exception { final ClassicHttpRequest req = new BasicClassicHttpRequest("DELETE","/"); testUnsafeOperationInvalidatesCacheForThatUri(req); }
@Test public void testUnknownMethodRequestsAreWrittenThroughToOrigin() throws Exception { final ClassicHttpRequest req = new BasicClassicHttpRequest("UNKNOWN","/"); testRequestIsWrittenThroughToOrigin(req); }
@Test public void testDoesNotReturnStaleResponseIfClientExplicitlyRequestsFirstHandOneWithPragma() throws Exception { final ClassicHttpRequest req = new BasicClassicHttpRequest("GET", "/"); req.setHeader("Pragma","no-cache"); testDoesNotReturnStaleResponseOnError(req); }
@Test public void testDoesNotReturnStaleResponseIfClientExplicitlySpecifiesLargerMaxAge() throws Exception { final ClassicHttpRequest req = new BasicClassicHttpRequest("GET", "/"); req.setHeader("Cache-Control","max-age=20"); testDoesNotReturnStaleResponseOnError(req); }
@Test public void testDoesNotReturnStaleResponseIfClientExplicitlyRequestsFreshWithMinFresh() throws Exception { final ClassicHttpRequest req = new BasicClassicHttpRequest("GET", "/"); req.setHeader("Cache-Control","min-fresh=2"); testDoesNotReturnStaleResponseOnError(req); }
@Test public void testDoesNotModifyIfUnmodifiedSinceOnRequests() throws Exception { request = new BasicClassicHttpRequest("DELETE", "/"); request.setHeader("If-Unmodified-Since", DateUtils.formatDate(new Date())); testDoesNotModifyHeaderOnRequests("If-Unmodified-Since"); }
@Test @Ignore public void testOPTIONSRequestsAreWrittenThroughToOrigin() throws Exception { final ClassicHttpRequest req = new BasicClassicHttpRequest("OPTIONS","*"); testRequestIsWrittenThroughToOrigin(req); }
@Test public void testCacheIsNotUsedWhenRespondingToRequestWithPragmaNoCache() throws Exception { final ClassicHttpRequest req = new BasicClassicHttpRequest("GET", "/"); req.setHeader("Pragma","no-cache"); testCacheIsNotUsedWhenRespondingToRequest(req); }
@Test public void testDoesNotReturnStaleResponseIfClientExplicitlyRequestsFreshWithMaxStale() throws Exception { final ClassicHttpRequest req = new BasicClassicHttpRequest("GET", "/"); req.setHeader("Cache-Control","max-stale=2"); testDoesNotReturnStaleResponseOnError(req); }
private void testDoesNotAddHeaderOnCacheHit(final String header) throws Exception { final ClassicHttpRequest req1 = new BasicClassicHttpRequest("GET", "/"); final ClassicHttpRequest req2 = new BasicClassicHttpRequest("GET", "/"); originResponse.addHeader("Cache-Control", "max-age=3600"); originResponse.removeHeaders(header); backendExpectsAnyRequest().andReturn(originResponse); replayMocks(); execute(req1); final ClassicHttpResponse result = execute(req2); verifyMocks(); Assert.assertNull(result.getFirstHeader(header)); }
private void testDoesNotModifyHeaderOnCachedResponseWithNoTransform(final String header, final String value) throws Exception { final ClassicHttpRequest req1 = new BasicClassicHttpRequest("GET", "/"); final ClassicHttpRequest req2 = new BasicClassicHttpRequest("GET", "/"); originResponse.addHeader("Cache-Control","max-age=3600, no-transform"); originResponse.setHeader(header, value); backendExpectsAnyRequest().andReturn(originResponse); replayMocks(); execute(req1); final ClassicHttpResponse result = execute(req2); verifyMocks(); Assert.assertEquals(value, result.getFirstHeader(header).getValue()); }
@Test public void testDoesNotModifyContentLengthOnRequests() throws Exception { final ClassicHttpRequest post = new BasicClassicHttpRequest("POST", "/"); post.setEntity(HttpTestUtils.makeBody(128)); post.setHeader("Content-Length","128"); request = post; testDoesNotModifyHeaderOnRequests("Content-Length"); }
@Test public void testDoesNotForwardOPTIONSWhenMaxForwardsIsZeroOnAbsoluteURIRequest() throws Exception { request = new BasicClassicHttpRequest("OPTIONS", "*"); request.setHeader("Max-Forwards", "0"); replayMocks(); execute(request); verifyMocks(); }
@Test public void testDoesNotModifyContentMD5OnRequests() throws Exception { final ClassicHttpRequest post = new BasicClassicHttpRequest("POST", "/"); post.setEntity(HttpTestUtils.makeBody(128)); post.setHeader("Content-Length","128"); post.setHeader("Content-MD5","Q2hlY2sgSW50ZWdyaXR5IQ=="); request = post; testDoesNotModifyHeaderOnRequests("Content-MD5"); }
@Test public void testDoesNotModifyContentRangeOnRequests() throws Exception { final ClassicHttpRequest put = new BasicClassicHttpRequest("PUT", "/"); put.setEntity(HttpTestUtils.makeBody(128)); put.setHeader("Content-Length","128"); put.setHeader("Content-Range","bytes 0-127/256"); request = put; testDoesNotModifyHeaderOnRequests("Content-Range"); }
private ClassicHttpRequest requestToPopulateStaleCacheEntry() throws Exception { final ClassicHttpRequest req1 = new BasicClassicHttpRequest("GET", "/"); final ClassicHttpResponse resp1 = HttpTestUtils.make200Response(); resp1.setHeader("Date", DateUtils.formatDate(tenSecondsAgo)); resp1.setHeader("Cache-Control","public,max-age=5"); resp1.setHeader("Etag","\"etag\""); backendExpectsAnyRequestAndReturn(resp1); return req1; }
@Test public void testOrderOfMultipleExpectHeadersIsPreservedOnRequests() throws Exception { final BasicClassicHttpRequest post = new BasicClassicHttpRequest("POST", "/"); post.setEntity(body); post.addHeader("Expect", "100-continue"); post.addHeader("Expect", "x-expect=true"); post.addHeader("Content-Length", "128"); testOrderOfMultipleHeadersIsPreservedOnRequests("Expect", post); }
@Test public void testResponseToAHEADRequestMustNotHaveABody() throws Exception { request = new BasicClassicHttpRequest("HEAD", "/"); EasyMock.expect( mockExecChain.proceed( EasyMock.isA(ClassicHttpRequest.class), EasyMock.isA(ExecChain.Scope.class))).andReturn(originResponse); replayMocks(); final ClassicHttpResponse result = execute(request); verifyMocks(); Assert.assertTrue(result.getEntity() == null || result.getEntity().getContentLength() == 0); }
@Test public void testSetsModuleGeneratedResponseContextForCacheOptionsResponse() throws Exception { impl = createCachingExecChain(new BasicHttpCache(), CacheConfig.DEFAULT); final ClassicHttpRequest req = new BasicClassicHttpRequest("OPTIONS", "*"); req.setHeader("Max-Forwards", "0"); execute(req); Assert.assertEquals(CacheResponseStatus.CACHE_MODULE_RESPONSE, context.getCacheResponseStatus()); }