public void testInsertEtag() throws Exception { MockHttpResponse response = new MockHttpResponse() { @Override public boolean containsHeader(String name) { return true; } public org.apache.http.StatusLine getStatusLine() { return new BasicStatusLine(new ProtocolVersion("http", 1, 1), 200, "OK"); }; @Override public Header getFirstHeader(String name) { if (name.equals(ETag.ETAG)) { return new BasicHeader(ETag.ETAG, "test-etag"); } else if (name.equals(ETag.LAST_MODIFIED)) { return new BasicHeader(ETag.LAST_MODIFIED, "last-modified"); } return super.getFirstHeader(name); } }; HttpContext context = new BasicHttpContext(); context.setAttribute( ExecutionContext.HTTP_REQUEST, new MockHttpRequest() { @Override public RequestLine getRequestLine() { return new BasicRequestLine("GET", "test.com", new ProtocolVersion("http", 1, 1)); } }); final HttpHost targetHost = new HttpHost("test.com"); context.setAttribute(ExecutionContext.HTTP_TARGET_HOST, targetHost); interceptor.onPostCall(response, context); ETag etag = interceptor.helper.getETag("test.com"); assertEquals("test-etag", etag.etag); assertEquals("last-modified", etag.lastModified); }