package io.datakernel.http; import org.junit.Test; import java.util.Date; import java.util.Map; import static io.datakernel.bytebuf.ByteBufPool.getCreatedItems; import static io.datakernel.bytebuf.ByteBufPool.getPoolItems; import static io.datakernel.bytebuf.ByteBufPool.getPoolItemsString; import static io.datakernel.http.ContentTypes.JSON_UTF_8; import static io.datakernel.http.MediaTypes.ANY_IMAGE; import static java.nio.charset.StandardCharsets.ISO_8859_1; import static java.nio.charset.StandardCharsets.UTF_8; import static org.junit.Assert.assertEquals; public class HttpHeadersTest { @Test public void testValuesToStrings() { HttpRequest request = HttpRequest.post("http://example.com") .withContentType(JSON_UTF_8) .withAccept(AcceptMediaType.of(ANY_IMAGE, 50), AcceptMediaType.of(MediaTypes.HTML)) .withAcceptCharsets(AcceptCharset.of(UTF_8), AcceptCharset.of(ISO_8859_1)) .withCookies(HttpCookie.of("key1", "value1"), HttpCookie.of("key2"), HttpCookie.of("key3", "value2")); Map<HttpHeader, String> headers = request.getHeaders(); assertEquals("application/json; charset=utf-8", headers.get(HttpHeaders.CONTENT_TYPE)); assertEquals("image/*; q=0.5, text/html", headers.get(HttpHeaders.ACCEPT)); assertEquals("utf-8, iso-8859-1", headers.get(HttpHeaders.ACCEPT_CHARSET)); assertEquals("key1=value1; key2; key3=value2", headers.get(HttpHeaders.COOKIE)); HttpResponse response = HttpResponse.ofCode(200) .withDate(new Date(1486944000021L)); headers = response.getHeaders(); assertEquals("Mon, 13 Feb 2017 00:00:00 GMT", headers.get(HttpHeaders.DATE)); assertEquals(getPoolItemsString(), getCreatedItems(), getPoolItems()); } }