@Test
public void testExcludeExpiredCookies() throws Exception {

    HttpRequest request = new BasicHttpRequest("GET", "/");
    BasicClientCookie2 cookie3 = new BasicClientCookie2("name3", "value3");
    cookie3.setVersion(1);
    cookie3.setDomain("localhost.local");
    cookie3.setPath("/");
    cookie3.setExpiryDate(new Date(System.currentTimeMillis() - (24 * 60 * 60 * 1000)));
    this.cookieStore.addCookie(cookie3);
    HttpRoute route = new HttpRoute(this.target, null, false);
    HttpRoutedConnection conn = Mockito.mock(HttpRoutedConnection.class);
    Mockito.when(conn.getRoute()).thenReturn(route);
    Mockito.when(conn.isSecure()).thenReturn(Boolean.FALSE);
    HttpContext context = new BasicHttpContext();
    context.setAttribute(ExecutionContext.HTTP_TARGET_HOST, this.target);
    context.setAttribute(ExecutionContext.HTTP_CONNECTION, conn);
    context.setAttribute(ClientContext.COOKIE_STORE, this.cookieStore);
    context.setAttribute(ClientContext.COOKIESPEC_REGISTRY, this.cookieSpecRegistry);
    HttpRequestInterceptor interceptor = new RequestAddCookies();
    interceptor.process(request, context);
    Header[] headers1 = request.getHeaders(SM.COOKIE);
    Assert.assertNotNull(headers1);
    Assert.assertEquals(2, headers1.length);
    Assert.assertEquals("$Version=1; name1=\"value1\"", headers1[0].getValue());
    Assert.assertEquals("$Version=1; name2=\"value2\"", headers1[1].getValue());
    Header[] headers2 = request.getHeaders(SM.COOKIE2);
    Assert.assertNotNull(headers2);
    Assert.assertEquals(0, headers2.length);
}