1 package net.pterodactylus.sone.template;
3 import static org.hamcrest.MatcherAssert.assertThat;
4 import static org.mockito.Mockito.mock;
5 import static org.mockito.Mockito.never;
6 import static org.mockito.Mockito.verify;
7 import static org.mockito.Mockito.when;
9 import net.pterodactylus.util.template.TemplateContext;
11 import freenet.support.api.HTTPRequest;
13 import org.hamcrest.Matchers;
14 import org.junit.Before;
15 import org.junit.Test;
18 * Unit test for {@link HttpRequestAccessor}.
20 public class HttpRequestAccessorTest {
22 private static final String REQUEST_PATH = "/the/real/path";
23 private static final String USER_AGENT = "Test/1.0";
24 private static final String HEADER_PATH = "/some/path";
25 private final HttpRequestAccessor accessor = new HttpRequestAccessor();
26 private final TemplateContext context = mock(TemplateContext.class);
27 private final HTTPRequest httpRequest = mock(HTTPRequest.class);
30 public void setupHttpRequest() {
31 when(httpRequest.getPath()).thenReturn(REQUEST_PATH);
32 when(httpRequest.getHeader("User-Agent")).thenReturn(USER_AGENT);
33 when(httpRequest.getHeader("Path")).thenReturn(HEADER_PATH);
37 public void preferCallingMethodsInsteadOfReturningHeaders() {
38 assertThat(accessor.get(context, httpRequest, "path"),
39 Matchers.<Object>is(REQUEST_PATH));
40 verify(httpRequest, never()).getHeader("Path");
44 public void headerIsReturnedCorrectly() {
45 assertThat(accessor.get(context, httpRequest, "User-Agent"),
46 Matchers.<Object>is(USER_AGENT));