@Test public void setExpirationTime() { HttpResponseBuilder builder = new HttpResponseBuilder() .addHeader("Pragma", "no-cache") .addHeader("Cache-Control", "public,max-age=100") .setExpirationTime(100); Multimap<String, String> headers = builder.getHeaders(); assertTrue("No Expires header added.", headers.containsKey("Expires")); assertFalse("Pragma header not removed", headers.containsKey("Pragma")); assertFalse("Cache-Control header not removed", headers.containsKey("Cache-Control")); }
@Test public void setExpirationTime() { HttpResponseBuilder builder = new HttpResponseBuilder() .addHeader("Pragma", "no-cache") .addHeader("Cache-Control", "public,max-age=100") .setExpirationTime(100); Multimap<String, String> headers = builder.getHeaders(); assertTrue("No Expires header added.", headers.containsKey("Expires")); assertFalse("Pragma header not removed", headers.containsKey("Pragma")); assertFalse("Cache-Control header not removed", headers.containsKey("Cache-Control")); }
@Test public void setExpirationTime() { HttpResponseBuilder builder = new HttpResponseBuilder() .addHeader("Pragma", "no-cache") .addHeader("Cache-Control", "public,max-age=100") .setExpirationTime(100); Multimap<String, String> headers = builder.getHeaders(); assertTrue("No Expires header added.", headers.containsKey("Expires")); assertFalse("Pragma header not removed", headers.containsKey("Pragma")); assertFalse("Cache-Control header not removed", headers.containsKey("Cache-Control")); }
@Test public void removeResponseIsStaled() { long expiration = System.currentTimeMillis() + 1000L; HttpRequest request = new HttpRequest(DEFAULT_URI); String key = cache.createKey(request); HttpResponse response = new HttpResponseBuilder() .setExpirationTime(expiration) .create(); cache.map.put(key, response); // The cache itself still hold and return staled value, // caller responsible to decide what to do about it assertEquals(response, cache.removeResponse(request)); assertEquals(0, cache.map.size()); }
@Test public void removeResponseIsStaled() { long expiration = System.currentTimeMillis() + 1000L; HttpRequest request = new HttpRequest(DEFAULT_URI); String key = cache.createKey(request); HttpResponse response = new HttpResponseBuilder() .setExpirationTime(expiration) .create(); cache.map.put(key, response); // The cache itself still hold and return staled value, // caller responsible to decide what to do about it assertEquals(response, cache.removeResponse(request)); assertEquals(0, cache.map.size()); }
@Test public void removeResponseIsStaled() { long expiration = System.currentTimeMillis() + 1000L; HttpRequest request = new HttpRequest(DEFAULT_URI); String key = cache.createKey(request); HttpResponse response = new HttpResponseBuilder() .setExpirationTime(expiration) .create(); cache.map.put(key, response); // The cache itself still hold and return staled value, // caller responsible to decide what to do about it assertEquals(response, cache.removeResponse(request)); assertEquals(0, cache.map.size()); }
@Test public void testGetProxyData() throws Exception { List<String> fields = ImmutableList.of("proxycontent.*"); Uri resUri = Uri.parse("server.com/gadgets/proxy?url=" + RESOURCE); GadgetsHandlerApi.ProxyRequest request = createProxyRequest(RESOURCE, CONTAINER, fields); Capture<List<ProxyUri>> uriCapture = new Capture<List<ProxyUri>>(); expect(proxyUriManager.make(capture(uriCapture), EasyMock.anyInt())).andReturn( ImmutableList.of(resUri)); HttpResponseBuilder builder = new HttpResponseBuilder(); builder.setExpirationTime(20000).setContent("response"); HttpResponse httpResponse = builder.create(); expect(proxyHandler.fetch(EasyMock.isA(ProxyUri.class))).andReturn(httpResponse); replay(); GadgetsHandlerApi.ProxyResponse response = gadgetHandler.getProxy(request); assertEquals(1, uriCapture.getValue().size()); ProxyUri pUri = uriCapture.getValue().get(0); assertEquals(CONTAINER, pUri.getContainer()); assertNull(response.getProxyUrl()); assertEquals("response", new String(Base64.decodeBase64(response.getProxyContent().getContentBase64()))); assertEquals(20000L, response.getExpireTimeMs().longValue()); verify(); }
@Test public void testGetProxyData() throws Exception { List<String> fields = ImmutableList.of("proxycontent.*"); Uri resUri = Uri.parse("server.com/gadgets/proxy?url=" + RESOURCE); GadgetsHandlerApi.ProxyRequest request = createProxyRequest(RESOURCE, CONTAINER, fields); Capture<List<ProxyUri>> uriCapture = new Capture<List<ProxyUri>>(); expect(proxyUriManager.make(capture(uriCapture), EasyMock.anyInt())).andReturn( ImmutableList.of(resUri)); HttpResponseBuilder builder = new HttpResponseBuilder(); builder.setExpirationTime(20000).setContent("response"); HttpResponse httpResponse = builder.create(); expect(proxyHandler.fetch(EasyMock.isA(ProxyUri.class))).andReturn(httpResponse); replay(); GadgetsHandlerApi.ProxyResponse response = gadgetHandler.getProxy(request); assertEquals(1, uriCapture.getValue().size()); ProxyUri pUri = uriCapture.getValue().get(0); assertEquals(CONTAINER, pUri.getContainer()); assertNull(response.getProxyUrl()); assertEquals("response", new String(Base64.decodeBase64(response.getProxyContent().getContentBase64()))); assertEquals(20000L, response.getExpireTimeMs().longValue()); verify(); }