diff options
author | gjoranv <gv@yahoo-inc.com> | 2017-03-08 16:17:36 +0100 |
---|---|---|
committer | gjoranv <gv@yahoo-inc.com> | 2017-03-08 16:22:49 +0100 |
commit | a71f30e3df4d4f6240c070af9bab30f764f3eaa3 (patch) | |
tree | 1050b11d2cfe06fb4a910e176e26a4eaca6fb108 /jdisc_http_service/src/test/java/com/yahoo/jdisc/http | |
parent | 7d99c6f7dd5760a941fbd7941249447605d3ab1c (diff) |
Allow retrieving headers from response filters, via RequestView.
Diffstat (limited to 'jdisc_http_service/src/test/java/com/yahoo/jdisc/http')
-rw-r--r-- | jdisc_http_service/src/test/java/com/yahoo/jdisc/http/filter/RequestViewImplTest.java | 54 |
1 files changed, 54 insertions, 0 deletions
diff --git a/jdisc_http_service/src/test/java/com/yahoo/jdisc/http/filter/RequestViewImplTest.java b/jdisc_http_service/src/test/java/com/yahoo/jdisc/http/filter/RequestViewImplTest.java new file mode 100644 index 00000000000..7ba40a04253 --- /dev/null +++ b/jdisc_http_service/src/test/java/com/yahoo/jdisc/http/filter/RequestViewImplTest.java @@ -0,0 +1,54 @@ +// Copyright 2017 Yahoo Inc. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. +package com.yahoo.jdisc.http.filter; + +import com.google.common.collect.Lists; +import com.yahoo.jdisc.HeaderFields; +import com.yahoo.jdisc.Request; +import com.yahoo.jdisc.http.filter.SecurityResponseFilterChain.RequestViewImpl; +import org.testng.annotations.Test; + +import static org.mockito.Mockito.mock; +import static org.mockito.Mockito.when; +import static org.testng.Assert.assertEquals; + +/** + * @author gjoranv + */ +public class RequestViewImplTest { + + @Test + public void header_from_the_parent_request_is_available() throws Exception { + final String HEADER = "single-header"; + + HeaderFields parentHeaders = new HeaderFields(); + parentHeaders.add(HEADER, "value"); + + Request request = mock(Request.class); + when(request.headers()).thenReturn(parentHeaders); + + RequestView requestView = new RequestViewImpl(request); + + assertEquals(requestView.getFirstHeader(HEADER).get(), "value"); + assertEquals(requestView.getHeaders(HEADER).size(), 1); + assertEquals(requestView.getHeaders(HEADER).get(0), "value"); + } + + @Test + public void multi_value_header_from_the_parent_request_is_available() throws Exception { + final String HEADER = "list-header"; + + HeaderFields parentHeaders = new HeaderFields(); + parentHeaders.add(HEADER, Lists.newArrayList("one", "two")); + + Request request = mock(Request.class); + when(request.headers()).thenReturn(parentHeaders); + + RequestView requestView = new RequestViewImpl(request); + + assertEquals(requestView.getHeaders(HEADER).size(), 2); + assertEquals(requestView.getHeaders(HEADER).get(0), "one"); + assertEquals(requestView.getHeaders(HEADER).get(1), "two"); + + assertEquals(requestView.getFirstHeader(HEADER).get(), "one"); + } +} |