package bvira.web; import bvira.framework.ParameterName; import bvira.framework.RequestContext; import bvira.framework.RequestUri; import bvira.util.Maps; import org.junit.Test; import javax.servlet.http.HttpServletRequest; import java.util.HashMap; import java.util.Map; import static org.hamcrest.core.Is.is; import static org.junit.Assert.assertThat; import static org.mockito.Mockito.doReturn; import static org.mockito.Mockito.mock; public class WebRequestContextUnitTests { @Test public void detailsExtractedFromFromHttpRequest() { HttpServletRequest request = mock(HttpServletRequest.class); doReturn("context").when(request).getContextPath(); doReturn("root").when(request).getServerName(); doReturn(8080).when(request).getServerPort(); Map requestParameters = Maps.create("foo", "bar1"); doReturn(requestParameters).when(request).getParameterMap(); RequestContext requestContext = WebRequestContext.create(request, new RequestUri("/some/path", "foo=bar")); assertThat(requestContext.getContextPath().getValue(), is("context")); assertThat(requestContext.getContextRoot().getValue(), is("http://root:8080")); assertThat(requestContext.getRequestUri().toString(), is("/some/path?foo=bar")); assertThat(requestContext.getParameter(new ParameterName("foo")), is("bar1")); } }