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);
  }