CacheTest.java 文件源码

java
阅读 24 收藏 0 点赞 0 评论 0

项目:GitHub 作者:
@Test public void secureResponseCachingAndRedirects() throws IOException {
  server.useHttps(sslClient.socketFactory, false);
  server.enqueue(new MockResponse()
      .addHeader("Last-Modified: " + formatDate(-1, TimeUnit.HOURS))
      .addHeader("Expires: " + formatDate(1, TimeUnit.HOURS))
      .setResponseCode(HttpURLConnection.HTTP_MOVED_PERM)
      .addHeader("Location: /foo"));
  server.enqueue(new MockResponse()
      .addHeader("Last-Modified: " + formatDate(-1, TimeUnit.HOURS))
      .addHeader("Expires: " + formatDate(1, TimeUnit.HOURS))
      .setBody("ABC"));
  server.enqueue(new MockResponse()
      .setBody("DEF"));

  client = client.newBuilder()
      .sslSocketFactory(sslClient.socketFactory, sslClient.trustManager)
      .hostnameVerifier(NULL_HOSTNAME_VERIFIER)
      .build();

  Response response1 = get(server.url("/"));
  assertEquals("ABC", response1.body().string());
  assertNotNull(response1.handshake().cipherSuite());

  // Cached!
  Response response2 = get(server.url("/"));
  assertEquals("ABC", response2.body().string());
  assertNotNull(response2.handshake().cipherSuite());

  assertEquals(4, cache.requestCount()); // 2 direct + 2 redirect = 4
  assertEquals(2, cache.hitCount());
  assertEquals(response1.handshake().cipherSuite(), response2.handshake().cipherSuite());
}
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号