@Test public void addAllHeaders() { Map<String, List<String>> headers = Maps.newHashMap(); List<String> foo = Lists.newArrayList("bar", "blah"); List<String> bar = Lists.newArrayList("baz"); headers.put("foo", foo); headers.put("bar", bar); HttpResponseBuilder builder = new HttpResponseBuilder() .addAllHeaders(headers); assertTrue(builder.getHeaders().get("foo").containsAll(foo)); assertTrue(builder.getHeaders().get("bar").containsAll(bar)); }
@Test public void addAllHeaders() { Map<String, List<String>> headers = Maps.newHashMap(); List<String> foo = Lists.newArrayList("bar", "blah"); List<String> bar = Lists.newArrayList("baz"); headers.put("foo", foo); headers.put("bar", bar); HttpResponseBuilder builder = new HttpResponseBuilder() .addAllHeaders(headers); assertTrue(builder.getHeaders().get("foo").containsAll(foo)); assertTrue(builder.getHeaders().get("bar").containsAll(bar)); }
@Test public void addHeadersMap() { Map<String, String> headers = ImmutableMap.of("foo", "bar", "blah", "blah"); HttpResponseBuilder builder = new HttpResponseBuilder() .addHeaders(headers); assertEquals(Arrays.asList("bar"), Lists.newArrayList(builder.getHeaders().get("foo"))); assertEquals(Arrays.asList("blah"), Lists.newArrayList(builder.getHeaders().get("blah"))); }
@Test public void addHeadersMap() { Map<String, String> headers = ImmutableMap.of("foo", "bar", "blah", "blah"); HttpResponseBuilder builder = new HttpResponseBuilder() .addHeaders(headers); assertEquals(Arrays.asList("bar"), Lists.newArrayList(builder.getHeaders().get("foo"))); assertEquals(Arrays.asList("blah"), Lists.newArrayList(builder.getHeaders().get("blah"))); }
@Test public void addHeader() { HttpResponseBuilder builder = new HttpResponseBuilder() .addHeader("Foo-bar", "baz"); assertEquals("baz", builder.getHeaders().get("Foo-bar").iterator().next()); }
@Test public void setCacheControlMaxAgeWithNoCacheControlHeader() { HttpResponseBuilder builder = new HttpResponseBuilder() .setCacheControlMaxAge(86400); Multimap<String, String> headers = builder.getHeaders(); assertEquals("max-age=86400", headers.get("Cache-Control").iterator().next()); }
@Test public void addHeader() { HttpResponseBuilder builder = new HttpResponseBuilder() .addHeader("Foo-bar", "baz"); assertEquals("baz", builder.getHeaders().get("Foo-bar").iterator().next()); }
@Test public void setCacheControlMaxAgeWithNoCacheControlHeader() { HttpResponseBuilder builder = new HttpResponseBuilder() .setCacheControlMaxAge(86400); Multimap<String, String> headers = builder.getHeaders(); assertEquals("max-age=86400", headers.get("Cache-Control").iterator().next()); }
@Test public void setStrictNoCache() { HttpResponseBuilder builder = new HttpResponseBuilder() .addHeader("Cache-Control", "public,max-age=100") .addHeader("Expires", "some time stamp normally goes here") .setStrictNoCache(); Multimap<String, String> headers = builder.getHeaders(); assertFalse("Expires header not removed.", headers.containsKey("Expires")); assertEquals("no-cache", headers.get("Cache-Control").iterator().next()); assertEquals("no-cache", headers.get("Pragma").iterator().next()); }
@Test public void setCacheControlMaxAgeWithNoInitialMaxAge() { HttpResponseBuilder builder = new HttpResponseBuilder() .addHeader("Cache-Control", "private") .setCacheControlMaxAge(10000); Multimap<String, String> headers = builder.getHeaders(); assertEquals("private,max-age=10000", headers.get("Cache-Control").iterator().next()); }
@Test public void setEncoding() { HttpResponseBuilder builder = new HttpResponseBuilder() .addHeader("Content-Type", "text/html; charset=Big5") .setEncoding(Charsets.UTF_8); Multimap<String, String> headers = builder.getHeaders(); assertEquals("text/html; charset=UTF-8", headers.get("Content-Type").iterator().next()); }
@Test public void setEncoding() { HttpResponseBuilder builder = new HttpResponseBuilder() .addHeader("Content-Type", "text/html; charset=Big5") .setEncoding(Charsets.UTF_8); Multimap<String, String> headers = builder.getHeaders(); assertEquals("text/html; charset=UTF-8", headers.get("Content-Type").iterator().next()); }
@Test public void setCacheControlMaxAgeWithBadMaxAgeFormat() { HttpResponseBuilder builder = new HttpResponseBuilder() .addHeader("Cache-Control", "public, max-age=12=ab") .setCacheControlMaxAge(12345); Multimap<String, String> headers = builder.getHeaders(); assertEquals("public,max-age=12=ab,max-age=12345", headers.get("Cache-Control").iterator().next()); }
@Test public void setCacheControlMaxAgeWithBadMaxAgeFormat() { HttpResponseBuilder builder = new HttpResponseBuilder() .addHeader("Cache-Control", "public, max-age=12=ab") .setCacheControlMaxAge(12345); Multimap<String, String> headers = builder.getHeaders(); assertEquals("public,max-age=12=ab,max-age=12345", headers.get("Cache-Control").iterator().next()); }
@Test public void setCacheControlMaxAgeWithNoInitialMaxAge() { HttpResponseBuilder builder = new HttpResponseBuilder() .addHeader("Cache-Control", "private") .setCacheControlMaxAge(10000); Multimap<String, String> headers = builder.getHeaders(); assertEquals("private,max-age=10000", headers.get("Cache-Control").iterator().next()); }
@Test public void setEncodingEmpty() { HttpResponseBuilder builder = new HttpResponseBuilder() .addHeader("Content-Type", "text/html") .setEncoding(Charsets.UTF_8); Multimap<String, String> headers = builder.getHeaders(); assertEquals("text/html; charset=UTF-8", headers.get("Content-Type").iterator().next()); }
@Test public void setEncodingEmpty() { HttpResponseBuilder builder = new HttpResponseBuilder() .addHeader("Content-Type", "text/html") .setEncoding(Charsets.UTF_8); Multimap<String, String> headers = builder.getHeaders(); assertEquals("text/html; charset=UTF-8", headers.get("Content-Type").iterator().next()); }
@Test public void setCacheTtl() { HttpResponseBuilder builder = new HttpResponseBuilder() .addHeader("Pragma", "no-cache") .addHeader("Expires", "some time stamp normally goes here") .addHeader("Cache-Control", "no-cache") .setCacheTtl(100); Multimap<String, String> headers = builder.getHeaders(); assertFalse("Expires header not removed.", headers.containsKey("Expires")); assertFalse("Pragma header not removed", headers.containsKey("Pragma")); assertEquals("public,max-age=100", headers.get("Cache-Control").iterator().next()); }
@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")); }