mirror of
https://github.com/google/guice.git
synced 2024-04-21 12:32:36 +00:00
All testing uses Mockito instead of EasyMock.
PiperOrigin-RevId: 498600399
This commit is contained in:
@@ -19,12 +19,6 @@
|
||||
<artifactId>guice-assistedinject</artifactId>
|
||||
<version>${project.version}</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.easymock</groupId>
|
||||
<artifactId>easymock</artifactId>
|
||||
<version>3.0</version>
|
||||
<scope>test</scope>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
|
||||
<build>
|
||||
|
||||
@@ -21,9 +21,9 @@
|
||||
<scope>provided</scope>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.easymock</groupId>
|
||||
<artifactId>easymock</artifactId>
|
||||
<version>3.1</version>
|
||||
<groupId>org.mockito</groupId>
|
||||
<artifactId>mockito-core</artifactId>
|
||||
<version>4.2.0</version>
|
||||
<scope>test</scope>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
|
||||
@@ -15,10 +15,10 @@ java_library(
|
||||
"//core/src/com/google/inject",
|
||||
"//core/test/com/google/inject:testsupport",
|
||||
"//extensions/servlet/src/com/google/inject/servlet",
|
||||
"//third_party/java/easymock",
|
||||
"//third_party/java/guava/base",
|
||||
"//third_party/java/guava/collect",
|
||||
"//third_party/java/junit",
|
||||
"//third_party/java/mockito",
|
||||
"//third_party/java/servlet/servlet_api",
|
||||
],
|
||||
)
|
||||
|
||||
@@ -16,8 +16,8 @@
|
||||
|
||||
package com.google.inject.servlet;
|
||||
|
||||
import static org.easymock.EasyMock.createControl;
|
||||
import static org.easymock.EasyMock.expect;
|
||||
import static org.mockito.Mockito.mock;
|
||||
import static org.mockito.Mockito.when;
|
||||
|
||||
import com.google.inject.Guice;
|
||||
import com.google.inject.Inject;
|
||||
@@ -37,7 +37,6 @@ import javax.servlet.http.HttpServlet;
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
import junit.framework.TestCase;
|
||||
import org.easymock.IMocksControl;
|
||||
|
||||
/** Tests to make sure that servlets with a context path are handled right. */
|
||||
public class ContextPathTest extends TestCase {
|
||||
@@ -50,7 +49,6 @@ public class ContextPathTest extends TestCase {
|
||||
@Named("bar")
|
||||
private TestServlet barServlet;
|
||||
|
||||
private IMocksControl globalControl;
|
||||
private Injector injector;
|
||||
private ServletContext servletContext;
|
||||
private FilterConfig filterConfig;
|
||||
@@ -82,16 +80,12 @@ public class ContextPathTest extends TestCase {
|
||||
assertNotNull(barServlet);
|
||||
assertNotSame(fooServlet, barServlet);
|
||||
|
||||
globalControl = createControl();
|
||||
servletContext = globalControl.createMock(ServletContext.class);
|
||||
filterConfig = globalControl.createMock(FilterConfig.class);
|
||||
servletContext = mock(ServletContext.class);
|
||||
filterConfig = mock(FilterConfig.class);
|
||||
|
||||
expect(servletContext.getAttribute(GuiceServletContextListener.INJECTOR_NAME))
|
||||
.andReturn(injector)
|
||||
.anyTimes();
|
||||
expect(filterConfig.getServletContext()).andReturn(servletContext).anyTimes();
|
||||
|
||||
globalControl.replay();
|
||||
when(servletContext.getAttribute(GuiceServletContextListener.INJECTOR_NAME))
|
||||
.thenReturn(injector);
|
||||
when(filterConfig.getServletContext()).thenReturn(servletContext);
|
||||
|
||||
guiceFilter = new GuiceFilter();
|
||||
guiceFilter.init(filterConfig);
|
||||
@@ -102,40 +96,24 @@ public class ContextPathTest extends TestCase {
|
||||
assertNotNull(fooServlet);
|
||||
assertNotNull(barServlet);
|
||||
|
||||
fooServlet = null;
|
||||
barServlet = null;
|
||||
|
||||
guiceFilter.destroy();
|
||||
guiceFilter = null;
|
||||
|
||||
injector = null;
|
||||
|
||||
filterConfig = null;
|
||||
servletContext = null;
|
||||
|
||||
globalControl.verify();
|
||||
}
|
||||
|
||||
public void testSimple() throws Exception {
|
||||
IMocksControl testControl = createControl();
|
||||
TestFilterChain testFilterChain = new TestFilterChain();
|
||||
HttpServletRequest req = testControl.createMock(HttpServletRequest.class);
|
||||
HttpServletResponse res = testControl.createMock(HttpServletResponse.class);
|
||||
HttpServletRequest req = mock(HttpServletRequest.class);
|
||||
HttpServletResponse res = mock(HttpServletResponse.class);
|
||||
|
||||
expect(req.getMethod()).andReturn("GET").anyTimes();
|
||||
expect(req.getRequestURI()).andReturn("/bar/foo").anyTimes();
|
||||
expect(req.getServletPath()).andReturn("/bar/foo").anyTimes();
|
||||
expect(req.getContextPath()).andReturn("").anyTimes();
|
||||
|
||||
testControl.replay();
|
||||
when(req.getMethod()).thenReturn("GET");
|
||||
when(req.getRequestURI()).thenReturn("/bar/foo");
|
||||
when(req.getServletPath()).thenReturn("/bar/foo");
|
||||
when(req.getContextPath()).thenReturn("");
|
||||
|
||||
guiceFilter.doFilter(req, res, testFilterChain);
|
||||
|
||||
assertFalse(testFilterChain.isTriggered());
|
||||
assertFalse(fooServlet.isTriggered());
|
||||
assertTrue(barServlet.isTriggered());
|
||||
|
||||
testControl.verify();
|
||||
}
|
||||
|
||||
//
|
||||
@@ -242,29 +220,23 @@ public class ContextPathTest extends TestCase {
|
||||
final boolean fooResult,
|
||||
final boolean barResult)
|
||||
throws Exception {
|
||||
IMocksControl testControl = createControl();
|
||||
|
||||
barServlet.clear();
|
||||
fooServlet.clear();
|
||||
|
||||
TestFilterChain testFilterChain = new TestFilterChain();
|
||||
HttpServletRequest req = testControl.createMock(HttpServletRequest.class);
|
||||
HttpServletResponse res = testControl.createMock(HttpServletResponse.class);
|
||||
HttpServletRequest req = mock(HttpServletRequest.class);
|
||||
HttpServletResponse res = mock(HttpServletResponse.class);
|
||||
|
||||
expect(req.getMethod()).andReturn("GET").anyTimes();
|
||||
expect(req.getRequestURI()).andReturn(requestURI).anyTimes();
|
||||
expect(req.getServletPath()).andReturn(servletPath).anyTimes();
|
||||
expect(req.getContextPath()).andReturn(contextPath).anyTimes();
|
||||
|
||||
testControl.replay();
|
||||
when(req.getMethod()).thenReturn("GET");
|
||||
when(req.getRequestURI()).thenReturn(requestURI);
|
||||
when(req.getServletPath()).thenReturn(servletPath);
|
||||
when(req.getContextPath()).thenReturn(contextPath);
|
||||
|
||||
guiceFilter.doFilter(req, res, testFilterChain);
|
||||
|
||||
assertEquals(filterResult, testFilterChain.isTriggered());
|
||||
assertEquals(fooResult, fooServlet.isTriggered());
|
||||
assertEquals(barResult, barServlet.isTriggered());
|
||||
|
||||
testControl.verify();
|
||||
}
|
||||
|
||||
public static class TestServlet extends HttpServlet {
|
||||
|
||||
+6
-16
@@ -15,10 +15,8 @@
|
||||
*/
|
||||
package com.google.inject.servlet;
|
||||
|
||||
import static org.easymock.EasyMock.createMock;
|
||||
import static org.easymock.EasyMock.expect;
|
||||
import static org.easymock.EasyMock.replay;
|
||||
import static org.easymock.EasyMock.verify;
|
||||
import static org.mockito.Mockito.mock;
|
||||
import static org.mockito.Mockito.when;
|
||||
|
||||
import javax.servlet.http.Cookie;
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
@@ -32,23 +30,17 @@ public class ContinuingHttpServletRequestTest extends TestCase {
|
||||
private static final int DEFAULT_MAX_AGE = new Cookie("dummy", "").getMaxAge();
|
||||
|
||||
public void testReturnNullCookiesIfDelegateHasNoNull() {
|
||||
HttpServletRequest delegate = createMock(HttpServletRequest.class);
|
||||
expect(delegate.getCookies()).andStubReturn(null);
|
||||
|
||||
replay(delegate);
|
||||
HttpServletRequest delegate = mock(HttpServletRequest.class);
|
||||
when(delegate.getCookies()).thenReturn(null);
|
||||
|
||||
assertNull(new ContinuingHttpServletRequest(delegate).getCookies());
|
||||
|
||||
verify(delegate);
|
||||
}
|
||||
|
||||
public void testReturnDelegateCookies() {
|
||||
Cookie[] cookies =
|
||||
new Cookie[] {new Cookie("testName1", TEST_VALUE_1), new Cookie("testName2", "testValue2")};
|
||||
HttpServletRequest delegate = createMock(HttpServletRequest.class);
|
||||
expect(delegate.getCookies()).andStubReturn(cookies);
|
||||
|
||||
replay(delegate);
|
||||
HttpServletRequest delegate = mock(HttpServletRequest.class);
|
||||
when(delegate.getCookies()).thenReturn(cookies);
|
||||
|
||||
ContinuingHttpServletRequest continuingRequest = new ContinuingHttpServletRequest(delegate);
|
||||
|
||||
@@ -77,8 +69,6 @@ public class ContinuingHttpServletRequestTest extends TestCase {
|
||||
|
||||
// The cookies should be fixed.
|
||||
assertCookieArraysEqual(continuingRequest.getCookies(), furtherContinuingRequest.getCookies());
|
||||
|
||||
verify(delegate);
|
||||
}
|
||||
|
||||
private static void assertCookieArraysEqual(Cookie[] one, Cookie[] two) {
|
||||
|
||||
+19
-28
@@ -16,10 +16,8 @@
|
||||
|
||||
package com.google.inject.servlet;
|
||||
|
||||
import static org.easymock.EasyMock.createMock;
|
||||
import static org.easymock.EasyMock.expect;
|
||||
import static org.easymock.EasyMock.replay;
|
||||
import static org.easymock.EasyMock.verify;
|
||||
import static org.mockito.Mockito.mock;
|
||||
import static org.mockito.Mockito.when;
|
||||
|
||||
import com.google.common.collect.ImmutableList;
|
||||
import com.google.common.collect.ImmutableMap;
|
||||
@@ -123,22 +121,20 @@ public class ContinuingRequestIntegrationTest extends TestCase {
|
||||
}
|
||||
});
|
||||
|
||||
FilterConfig filterConfig = createMock(FilterConfig.class);
|
||||
expect(filterConfig.getServletContext()).andReturn(createMock(ServletContext.class));
|
||||
FilterConfig filterConfig = mock(FilterConfig.class);
|
||||
when(filterConfig.getServletContext()).thenReturn(mock(ServletContext.class));
|
||||
|
||||
GuiceFilter guiceFilter = injector.getInstance(GuiceFilter.class);
|
||||
|
||||
HttpServletRequest request = createMock(HttpServletRequest.class);
|
||||
HttpServletRequest request = mock(HttpServletRequest.class);
|
||||
|
||||
expect(request.getRequestURI()).andReturn("/");
|
||||
expect(request.getContextPath()).andReturn("").anyTimes();
|
||||
expect(request.getMethod()).andReturn("GET");
|
||||
expect(request.getCookies()).andReturn(new Cookie[0]);
|
||||
when(request.getRequestURI()).thenReturn("/");
|
||||
when(request.getContextPath()).thenReturn("");
|
||||
when(request.getMethod()).thenReturn("GET");
|
||||
when(request.getCookies()).thenReturn(new Cookie[0]);
|
||||
|
||||
FilterChain filterChain = createMock(FilterChain.class);
|
||||
expect(request.getParameter(PARAM_NAME)).andReturn(PARAM_VALUE);
|
||||
|
||||
replay(request, filterConfig, filterChain);
|
||||
FilterChain filterChain = mock(FilterChain.class);
|
||||
when(request.getParameter(PARAM_NAME)).thenReturn(PARAM_VALUE);
|
||||
|
||||
guiceFilter.init(filterConfig);
|
||||
guiceFilter.doFilter(request, null, filterChain);
|
||||
@@ -148,7 +144,6 @@ public class ContinuingRequestIntegrationTest extends TestCase {
|
||||
executor.awaitTermination(10, TimeUnit.SECONDS);
|
||||
|
||||
assertEquals(PARAM_VALUE, injector.getInstance(OffRequestCallable.class).value);
|
||||
verify(request, filterConfig, filterChain);
|
||||
}
|
||||
|
||||
public final void testRequestContinuationDiesInHttpRequestThread()
|
||||
@@ -167,21 +162,19 @@ public class ContinuingRequestIntegrationTest extends TestCase {
|
||||
}
|
||||
});
|
||||
|
||||
FilterConfig filterConfig = createMock(FilterConfig.class);
|
||||
expect(filterConfig.getServletContext()).andReturn(createMock(ServletContext.class));
|
||||
FilterConfig filterConfig = mock(FilterConfig.class);
|
||||
when(filterConfig.getServletContext()).thenReturn(mock(ServletContext.class));
|
||||
|
||||
GuiceFilter guiceFilter = injector.getInstance(GuiceFilter.class);
|
||||
|
||||
HttpServletRequest request = createMock(HttpServletRequest.class);
|
||||
HttpServletRequest request = mock(HttpServletRequest.class);
|
||||
|
||||
expect(request.getRequestURI()).andReturn("/");
|
||||
expect(request.getContextPath()).andReturn("").anyTimes();
|
||||
when(request.getRequestURI()).thenReturn("/");
|
||||
when(request.getContextPath()).thenReturn("");
|
||||
|
||||
expect(request.getMethod()).andReturn("GET");
|
||||
expect(request.getCookies()).andReturn(new Cookie[0]);
|
||||
FilterChain filterChain = createMock(FilterChain.class);
|
||||
|
||||
replay(request, filterConfig, filterChain);
|
||||
when(request.getMethod()).thenReturn("GET");
|
||||
when(request.getCookies()).thenReturn(new Cookie[0]);
|
||||
FilterChain filterChain = mock(FilterChain.class);
|
||||
|
||||
guiceFilter.init(filterConfig);
|
||||
guiceFilter.doFilter(request, null, filterChain);
|
||||
@@ -192,8 +185,6 @@ public class ContinuingRequestIntegrationTest extends TestCase {
|
||||
|
||||
assertTrue(failed.get());
|
||||
assertFalse(PARAM_VALUE.equals(injector.getInstance(OffRequestCallable.class).value));
|
||||
|
||||
verify(request, filterConfig, filterChain);
|
||||
}
|
||||
|
||||
@RequestScoped
|
||||
|
||||
@@ -1,10 +1,8 @@
|
||||
package com.google.inject.servlet;
|
||||
|
||||
import static org.easymock.EasyMock.anyObject;
|
||||
import static org.easymock.EasyMock.createMock;
|
||||
import static org.easymock.EasyMock.expect;
|
||||
import static org.easymock.EasyMock.replay;
|
||||
import static org.easymock.EasyMock.verify;
|
||||
import static org.mockito.ArgumentMatchers.any;
|
||||
import static org.mockito.Mockito.mock;
|
||||
import static org.mockito.Mockito.when;
|
||||
|
||||
import com.google.common.collect.ImmutableMap;
|
||||
import com.google.common.collect.Sets;
|
||||
@@ -34,18 +32,15 @@ import junit.framework.TestCase;
|
||||
@SuppressWarnings("unchecked") // Safe because mocks can only return the required types.
|
||||
public class FilterDefinitionTest extends TestCase {
|
||||
public final void testFilterInitAndConfig() throws ServletException {
|
||||
Injector injector = createMock(Injector.class);
|
||||
Binding<Filter> binding = createMock(Binding.class);
|
||||
Injector injector = mock(Injector.class);
|
||||
Binding<Filter> binding = mock(Binding.class);
|
||||
|
||||
final MockFilter mockFilter = new MockFilter();
|
||||
|
||||
expect(binding.acceptScopingVisitor((BindingScopingVisitor<Boolean>) anyObject()))
|
||||
.andReturn(true);
|
||||
expect(injector.getBinding(Key.get(Filter.class))).andReturn(binding);
|
||||
when(binding.acceptScopingVisitor((BindingScopingVisitor<Boolean>) any())).thenReturn(true);
|
||||
when(injector.getBinding(Key.get(Filter.class))).thenReturn(binding);
|
||||
|
||||
expect(injector.getInstance(Key.get(Filter.class))).andReturn(mockFilter).anyTimes();
|
||||
|
||||
replay(binding, injector);
|
||||
when(injector.getInstance(Key.get(Filter.class))).thenReturn(mockFilter);
|
||||
|
||||
// some init params
|
||||
//noinspection SSBasedInspection
|
||||
@@ -55,11 +50,9 @@ public class FilterDefinitionTest extends TestCase {
|
||||
.put("ahssd", "asdasd124ok")
|
||||
.buildOrThrow();
|
||||
|
||||
ServletContext servletContext = createMock(ServletContext.class);
|
||||
ServletContext servletContext = mock(ServletContext.class);
|
||||
final String contextName = "thing__!@@44";
|
||||
expect(servletContext.getServletContextName()).andReturn(contextName);
|
||||
|
||||
replay(servletContext);
|
||||
when(servletContext.getServletContextName()).thenReturn(contextName);
|
||||
|
||||
String pattern = "/*";
|
||||
final FilterDefinition filterDef =
|
||||
@@ -83,27 +76,22 @@ public class FilterDefinitionTest extends TestCase {
|
||||
assertTrue(initParams.containsKey(name));
|
||||
assertEquals(filterConfig.getInitParameter(name), initParams.get(name));
|
||||
}
|
||||
|
||||
verify(binding, injector, servletContext);
|
||||
}
|
||||
|
||||
public final void testFilterCreateDispatchDestroy() throws ServletException, IOException {
|
||||
Injector injector = createMock(Injector.class);
|
||||
Binding<Filter> binding = createMock(Binding.class);
|
||||
HttpServletRequest request = createMock(HttpServletRequest.class);
|
||||
Injector injector = mock(Injector.class);
|
||||
Binding<Filter> binding = mock(Binding.class);
|
||||
HttpServletRequest request = mock(HttpServletRequest.class);
|
||||
|
||||
final MockFilter mockFilter = new MockFilter();
|
||||
|
||||
expect(binding.acceptScopingVisitor((BindingScopingVisitor<Boolean>) anyObject()))
|
||||
.andReturn(true);
|
||||
expect(injector.getBinding(Key.get(Filter.class))).andReturn(binding);
|
||||
when(binding.acceptScopingVisitor((BindingScopingVisitor<Boolean>) any())).thenReturn(true);
|
||||
when(injector.getBinding(Key.get(Filter.class))).thenReturn(binding);
|
||||
|
||||
expect(injector.getInstance(Key.get(Filter.class))).andReturn(mockFilter).anyTimes();
|
||||
when(injector.getInstance(Key.get(Filter.class))).thenReturn(mockFilter);
|
||||
|
||||
expect(request.getRequestURI()).andReturn("/index.html");
|
||||
expect(request.getContextPath()).andReturn("").anyTimes();
|
||||
|
||||
replay(injector, binding, request);
|
||||
when(request.getRequestURI()).thenReturn("/index.html");
|
||||
when(request.getContextPath()).thenReturn("");
|
||||
|
||||
String pattern = "/*";
|
||||
final FilterDefinition filterDef =
|
||||
@@ -112,8 +100,8 @@ public class FilterDefinitionTest extends TestCase {
|
||||
UriPatternType.get(UriPatternType.SERVLET, pattern),
|
||||
new HashMap<String, String>(),
|
||||
null);
|
||||
//should fire on mockfilter now
|
||||
filterDef.init(createMock(ServletContext.class), injector, Sets.<Filter>newIdentityHashSet());
|
||||
// should fire on mockfilter now
|
||||
filterDef.init(mock(ServletContext.class), injector, Sets.<Filter>newIdentityHashSet());
|
||||
assertTrue(filterDef.getFilter() instanceof MockFilter);
|
||||
|
||||
assertTrue("Init did not fire", mockFilter.isInit());
|
||||
@@ -136,16 +124,14 @@ public class FilterDefinitionTest extends TestCase {
|
||||
|
||||
filterDef.destroy(Sets.<Filter>newIdentityHashSet());
|
||||
assertTrue("Destroy did not fire", mockFilter.isDestroy());
|
||||
|
||||
verify(injector, request);
|
||||
}
|
||||
|
||||
public final void testFilterCreateDispatchDestroySupressChain()
|
||||
throws ServletException, IOException {
|
||||
|
||||
Injector injector = createMock(Injector.class);
|
||||
Binding<Filter> binding = createMock(Binding.class);
|
||||
HttpServletRequest request = createMock(HttpServletRequest.class);
|
||||
Injector injector = mock(Injector.class);
|
||||
Binding<Filter> binding = mock(Binding.class);
|
||||
HttpServletRequest request = mock(HttpServletRequest.class);
|
||||
|
||||
final MockFilter mockFilter =
|
||||
new MockFilter() {
|
||||
@@ -158,16 +144,13 @@ public class FilterDefinitionTest extends TestCase {
|
||||
}
|
||||
};
|
||||
|
||||
expect(binding.acceptScopingVisitor((BindingScopingVisitor<Boolean>) anyObject()))
|
||||
.andReturn(true);
|
||||
expect(injector.getBinding(Key.get(Filter.class))).andReturn(binding);
|
||||
when(binding.acceptScopingVisitor((BindingScopingVisitor<Boolean>) any())).thenReturn(true);
|
||||
when(injector.getBinding(Key.get(Filter.class))).thenReturn(binding);
|
||||
|
||||
expect(injector.getInstance(Key.get(Filter.class))).andReturn(mockFilter).anyTimes();
|
||||
when(injector.getInstance(Key.get(Filter.class))).thenReturn(mockFilter);
|
||||
|
||||
expect(request.getRequestURI()).andReturn("/index.html");
|
||||
expect(request.getContextPath()).andReturn("").anyTimes();
|
||||
|
||||
replay(injector, binding, request);
|
||||
when(request.getRequestURI()).thenReturn("/index.html");
|
||||
when(request.getContextPath()).thenReturn("");
|
||||
|
||||
String pattern = "/*";
|
||||
final FilterDefinition filterDef =
|
||||
@@ -176,8 +159,8 @@ public class FilterDefinitionTest extends TestCase {
|
||||
UriPatternType.get(UriPatternType.SERVLET, pattern),
|
||||
new HashMap<String, String>(),
|
||||
null);
|
||||
//should fire on mockfilter now
|
||||
filterDef.init(createMock(ServletContext.class), injector, Sets.<Filter>newIdentityHashSet());
|
||||
// should fire on mockfilter now
|
||||
filterDef.init(mock(ServletContext.class), injector, Sets.<Filter>newIdentityHashSet());
|
||||
assertTrue(filterDef.getFilter() instanceof MockFilter);
|
||||
|
||||
assertTrue("init did not fire", mockFilter.isInit());
|
||||
@@ -200,8 +183,6 @@ public class FilterDefinitionTest extends TestCase {
|
||||
|
||||
filterDef.destroy(Sets.<Filter>newIdentityHashSet());
|
||||
assertTrue("destroy did not fire", mockFilter.isDestroy());
|
||||
|
||||
verify(injector, request);
|
||||
}
|
||||
|
||||
public void testGetFilterIfMatching() throws ServletException {
|
||||
@@ -212,10 +193,10 @@ public class FilterDefinitionTest extends TestCase {
|
||||
UriPatternType.get(UriPatternType.SERVLET, pattern),
|
||||
new HashMap<String, String>(),
|
||||
null);
|
||||
HttpServletRequest servletRequest = createMock(HttpServletRequest.class);
|
||||
ServletContext servletContext = createMock(ServletContext.class);
|
||||
Injector injector = createMock(Injector.class);
|
||||
Binding<Filter> binding = createMock(Binding.class);
|
||||
HttpServletRequest servletRequest = mock(HttpServletRequest.class);
|
||||
ServletContext servletContext = mock(ServletContext.class);
|
||||
Injector injector = mock(Injector.class);
|
||||
Binding<Filter> binding = mock(Binding.class);
|
||||
|
||||
final MockFilter mockFilter =
|
||||
new MockFilter() {
|
||||
@@ -227,19 +208,16 @@ public class FilterDefinitionTest extends TestCase {
|
||||
//suppress rest of chain...
|
||||
}
|
||||
};
|
||||
expect(injector.getBinding(Key.get(Filter.class))).andReturn(binding);
|
||||
expect(binding.acceptScopingVisitor((BindingScopingVisitor<Boolean>) anyObject()))
|
||||
.andReturn(true);
|
||||
expect(injector.getInstance(Key.get(Filter.class))).andReturn(mockFilter).anyTimes();
|
||||
when(injector.getBinding(Key.get(Filter.class))).thenReturn(binding);
|
||||
when(binding.acceptScopingVisitor((BindingScopingVisitor<Boolean>) any())).thenReturn(true);
|
||||
when(injector.getInstance(Key.get(Filter.class))).thenReturn(mockFilter);
|
||||
|
||||
expect(servletRequest.getContextPath()).andReturn("/a_context_path");
|
||||
expect(servletRequest.getRequestURI()).andReturn("/a_context_path/test.html");
|
||||
when(servletRequest.getContextPath()).thenReturn("/a_context_path");
|
||||
when(servletRequest.getRequestURI()).thenReturn("/a_context_path/test.html");
|
||||
|
||||
replay(servletRequest, binding, injector);
|
||||
filterDef.init(servletContext, injector, Sets.<Filter>newIdentityHashSet());
|
||||
Filter filter = filterDef.getFilterIfMatching(servletRequest);
|
||||
assertSame(filter, mockFilter);
|
||||
verify(servletRequest, binding, injector);
|
||||
}
|
||||
|
||||
public void testGetFilterIfMatchingNotMatching() throws ServletException {
|
||||
@@ -250,11 +228,11 @@ public class FilterDefinitionTest extends TestCase {
|
||||
UriPatternType.get(UriPatternType.SERVLET, pattern),
|
||||
new HashMap<String, String>(),
|
||||
null);
|
||||
HttpServletRequest servletRequest = createMock(HttpServletRequest.class);
|
||||
ServletContext servletContext = createMock(ServletContext.class);
|
||||
Injector injector = createMock(Injector.class);
|
||||
HttpServletRequest servletRequest = mock(HttpServletRequest.class);
|
||||
ServletContext servletContext = mock(ServletContext.class);
|
||||
Injector injector = mock(Injector.class);
|
||||
@SuppressWarnings("unchecked") // Safe because mock will only ever return Filter
|
||||
Binding<Filter> binding = createMock(Binding.class);
|
||||
Binding<Filter> binding = mock(Binding.class);
|
||||
|
||||
final MockFilter mockFilter =
|
||||
new MockFilter() {
|
||||
@@ -266,19 +244,16 @@ public class FilterDefinitionTest extends TestCase {
|
||||
//suppress rest of chain...
|
||||
}
|
||||
};
|
||||
expect(injector.getBinding(Key.get(Filter.class))).andReturn(binding);
|
||||
expect(binding.acceptScopingVisitor((BindingScopingVisitor<Boolean>) anyObject()))
|
||||
.andReturn(true);
|
||||
expect(injector.getInstance(Key.get(Filter.class))).andReturn(mockFilter).anyTimes();
|
||||
when(injector.getBinding(Key.get(Filter.class))).thenReturn(binding);
|
||||
when(binding.acceptScopingVisitor((BindingScopingVisitor<Boolean>) any())).thenReturn(true);
|
||||
when(injector.getInstance(Key.get(Filter.class))).thenReturn(mockFilter);
|
||||
|
||||
expect(servletRequest.getContextPath()).andReturn("/a_context_path");
|
||||
expect(servletRequest.getRequestURI()).andReturn("/test.html");
|
||||
when(servletRequest.getContextPath()).thenReturn("/a_context_path");
|
||||
when(servletRequest.getRequestURI()).thenReturn("/test.html");
|
||||
|
||||
replay(servletRequest, binding, injector);
|
||||
filterDef.init(servletContext, injector, Sets.<Filter>newIdentityHashSet());
|
||||
Filter filter = filterDef.getFilterIfMatching(servletRequest);
|
||||
assertNull(filter);
|
||||
verify(servletRequest, binding, injector);
|
||||
}
|
||||
|
||||
private static class MockFilter implements Filter {
|
||||
|
||||
+34
-44
@@ -19,8 +19,9 @@ package com.google.inject.servlet;
|
||||
import static com.google.inject.servlet.ManagedServletPipeline.REQUEST_DISPATCHER_REQUEST;
|
||||
import static com.google.inject.servlet.ServletTestUtils.newFakeHttpServletRequest;
|
||||
import static com.google.inject.servlet.ServletTestUtils.newNoOpFilterChain;
|
||||
import static org.easymock.EasyMock.expect;
|
||||
import static org.easymock.EasyMock.expectLastCall;
|
||||
import static org.mockito.Mockito.mock;
|
||||
import static org.mockito.Mockito.verify;
|
||||
import static org.mockito.Mockito.when;
|
||||
|
||||
import com.google.inject.Guice;
|
||||
import com.google.inject.Injector;
|
||||
@@ -40,8 +41,6 @@ import javax.servlet.http.HttpServlet;
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
import junit.framework.TestCase;
|
||||
import org.easymock.EasyMock;
|
||||
import org.easymock.IMocksControl;
|
||||
|
||||
/**
|
||||
* This tests that filter stage of the pipeline dispatches correctly to guice-managed filters.
|
||||
@@ -53,14 +52,11 @@ import org.easymock.IMocksControl;
|
||||
public class FilterDispatchIntegrationTest extends TestCase {
|
||||
private static int inits, doFilters, destroys;
|
||||
|
||||
private IMocksControl control;
|
||||
|
||||
@Override
|
||||
public final void setUp() {
|
||||
inits = 0;
|
||||
doFilters = 0;
|
||||
destroys = 0;
|
||||
control = EasyMock.createControl();
|
||||
GuiceFilter.reset();
|
||||
}
|
||||
|
||||
@@ -88,26 +84,24 @@ public class FilterDispatchIntegrationTest extends TestCase {
|
||||
pipeline.initPipeline(null);
|
||||
|
||||
// create ourselves a mock request with test URI
|
||||
HttpServletRequest requestMock = control.createMock(HttpServletRequest.class);
|
||||
HttpServletRequest requestMock = mock(HttpServletRequest.class);
|
||||
|
||||
expect(requestMock.getRequestURI()).andReturn("/index.html").anyTimes();
|
||||
expect(requestMock.getContextPath()).andReturn("").anyTimes();
|
||||
when(requestMock.getRequestURI()).thenReturn("/index.html");
|
||||
when(requestMock.getContextPath()).thenReturn("");
|
||||
|
||||
requestMock.setAttribute(REQUEST_DISPATCHER_REQUEST, true);
|
||||
requestMock.removeAttribute(REQUEST_DISPATCHER_REQUEST);
|
||||
HttpServletResponse responseMock = mock(HttpServletResponse.class);
|
||||
when(responseMock.isCommitted()).thenReturn(false);
|
||||
|
||||
HttpServletResponse responseMock = control.createMock(HttpServletResponse.class);
|
||||
expect(responseMock.isCommitted()).andReturn(false).anyTimes();
|
||||
responseMock.resetBuffer();
|
||||
expectLastCall().anyTimes();
|
||||
FilterChain filterChain = mock(FilterChain.class);
|
||||
|
||||
FilterChain filterChain = control.createMock(FilterChain.class);
|
||||
// dispatch request
|
||||
|
||||
//dispatch request
|
||||
control.replay();
|
||||
pipeline.dispatch(requestMock, responseMock, filterChain);
|
||||
pipeline.destroyPipeline();
|
||||
control.verify();
|
||||
|
||||
verify(requestMock).setAttribute(REQUEST_DISPATCHER_REQUEST, true);
|
||||
verify(requestMock).removeAttribute(REQUEST_DISPATCHER_REQUEST);
|
||||
verify(responseMock).resetBuffer();
|
||||
|
||||
TestServlet servlet = injector.getInstance(TestServlet.class);
|
||||
assertEquals(2, servlet.processedUris.size());
|
||||
@@ -145,19 +139,18 @@ public class FilterDispatchIntegrationTest extends TestCase {
|
||||
final FilterPipeline pipeline = injector.getInstance(FilterPipeline.class);
|
||||
pipeline.initPipeline(null);
|
||||
|
||||
//create ourselves a mock request with test URI
|
||||
HttpServletRequest requestMock = control.createMock(HttpServletRequest.class);
|
||||
// create ourselves a mock request with test URI
|
||||
HttpServletRequest requestMock = mock(HttpServletRequest.class);
|
||||
|
||||
expect(requestMock.getRequestURI()).andReturn("/index.xhtml").anyTimes();
|
||||
expect(requestMock.getContextPath()).andReturn("").anyTimes();
|
||||
when(requestMock.getRequestURI()).thenReturn("/index.xhtml");
|
||||
when(requestMock.getContextPath()).thenReturn("");
|
||||
|
||||
//dispatch request
|
||||
FilterChain filterChain = control.createMock(FilterChain.class);
|
||||
// dispatch request
|
||||
FilterChain filterChain = mock(FilterChain.class);
|
||||
filterChain.doFilter(requestMock, null);
|
||||
control.replay();
|
||||
|
||||
pipeline.dispatch(requestMock, null, filterChain);
|
||||
pipeline.destroyPipeline();
|
||||
control.verify();
|
||||
|
||||
assertTrue(
|
||||
"lifecycle states did not "
|
||||
@@ -189,19 +182,18 @@ public class FilterDispatchIntegrationTest extends TestCase {
|
||||
final FilterPipeline pipeline = injector.getInstance(FilterPipeline.class);
|
||||
pipeline.initPipeline(null);
|
||||
|
||||
//create ourselves a mock request with test URI
|
||||
HttpServletRequest requestMock = control.createMock(HttpServletRequest.class);
|
||||
// create ourselves a mock request with test URI
|
||||
HttpServletRequest requestMock = mock(HttpServletRequest.class);
|
||||
|
||||
expect(requestMock.getRequestURI()).andReturn("/index").anyTimes();
|
||||
expect(requestMock.getContextPath()).andReturn("").anyTimes();
|
||||
when(requestMock.getRequestURI()).thenReturn("/index");
|
||||
when(requestMock.getContextPath()).thenReturn("");
|
||||
|
||||
// dispatch request
|
||||
FilterChain filterChain = control.createMock(FilterChain.class);
|
||||
FilterChain filterChain = mock(FilterChain.class);
|
||||
filterChain.doFilter(requestMock, null);
|
||||
control.replay();
|
||||
|
||||
pipeline.dispatch(requestMock, null, filterChain);
|
||||
pipeline.destroyPipeline();
|
||||
control.verify();
|
||||
|
||||
assertTrue(
|
||||
"lifecycle states did not fire "
|
||||
@@ -262,17 +254,15 @@ public class FilterDispatchIntegrationTest extends TestCase {
|
||||
private void runRequestForPath(FilterPipeline pipeline, String value, boolean matches)
|
||||
throws IOException, ServletException {
|
||||
assertEquals(0, doFilters);
|
||||
//create ourselves a mock request with test URI
|
||||
HttpServletRequest requestMock = control.createMock(HttpServletRequest.class);
|
||||
expect(requestMock.getRequestURI()).andReturn(value).anyTimes();
|
||||
expect(requestMock.getContextPath()).andReturn("").anyTimes();
|
||||
// create ourselves a mock request with test URI
|
||||
HttpServletRequest requestMock = mock(HttpServletRequest.class);
|
||||
when(requestMock.getRequestURI()).thenReturn(value);
|
||||
when(requestMock.getContextPath()).thenReturn("");
|
||||
// dispatch request
|
||||
FilterChain filterChain = control.createMock(FilterChain.class);
|
||||
filterChain.doFilter(requestMock, null);
|
||||
control.replay();
|
||||
FilterChain filterChain = mock(FilterChain.class);
|
||||
pipeline.dispatch(requestMock, null, filterChain);
|
||||
control.verify();
|
||||
control.reset();
|
||||
verify(filterChain).doFilter(requestMock, null);
|
||||
|
||||
if (matches) {
|
||||
assertEquals("filter was not run", 1, doFilters);
|
||||
doFilters = 0;
|
||||
|
||||
@@ -1,12 +1,10 @@
|
||||
package com.google.inject.servlet;
|
||||
|
||||
import static org.easymock.EasyMock.createMock;
|
||||
import static org.easymock.EasyMock.expect;
|
||||
import static org.easymock.EasyMock.expectLastCall;
|
||||
import static org.easymock.EasyMock.isA;
|
||||
import static org.easymock.EasyMock.isNull;
|
||||
import static org.easymock.EasyMock.replay;
|
||||
import static org.easymock.EasyMock.verify;
|
||||
import static org.mockito.ArgumentMatchers.isA;
|
||||
import static org.mockito.ArgumentMatchers.isNull;
|
||||
import static org.mockito.Mockito.mock;
|
||||
import static org.mockito.Mockito.verify;
|
||||
import static org.mockito.Mockito.when;
|
||||
|
||||
import com.google.inject.Guice;
|
||||
import com.google.inject.Key;
|
||||
@@ -58,34 +56,29 @@ public class FilterPipelineTest extends TestCase {
|
||||
|
||||
public final void testDispatchThruGuiceFilter() throws ServletException, IOException {
|
||||
|
||||
//create mocks
|
||||
FilterConfig filterConfig = createMock(FilterConfig.class);
|
||||
ServletContext servletContext = createMock(ServletContext.class);
|
||||
HttpServletRequest request = createMock(HttpServletRequest.class);
|
||||
FilterChain proceedingFilterChain = createMock(FilterChain.class);
|
||||
// create mocks
|
||||
FilterConfig filterConfig = mock(FilterConfig.class);
|
||||
ServletContext servletContext = mock(ServletContext.class);
|
||||
HttpServletRequest request = mock(HttpServletRequest.class);
|
||||
FilterChain proceedingFilterChain = mock(FilterChain.class);
|
||||
|
||||
//begin mock script ***
|
||||
// begin mock script ***
|
||||
|
||||
expect(filterConfig.getServletContext()).andReturn(servletContext).once();
|
||||
when(filterConfig.getServletContext()).thenReturn(servletContext);
|
||||
|
||||
expect(request.getRequestURI()).andReturn("/public/login.jsp").anyTimes();
|
||||
expect(request.getContextPath()).andReturn("").anyTimes();
|
||||
|
||||
//at the end, proceed down webapp's normal filter chain
|
||||
proceedingFilterChain.doFilter(isA(HttpServletRequest.class), (ServletResponse) isNull());
|
||||
expectLastCall().once();
|
||||
|
||||
//run mock script ***
|
||||
replay(filterConfig, servletContext, request, proceedingFilterChain);
|
||||
when(request.getRequestURI()).thenReturn("/public/login.jsp");
|
||||
when(request.getContextPath()).thenReturn("");
|
||||
|
||||
// run mock script ***
|
||||
final GuiceFilter webFilter = new GuiceFilter();
|
||||
|
||||
webFilter.init(filterConfig);
|
||||
webFilter.doFilter(request, null, proceedingFilterChain);
|
||||
webFilter.destroy();
|
||||
|
||||
//assert expectations
|
||||
verify(filterConfig, servletContext, request, proceedingFilterChain);
|
||||
// assert expectations
|
||||
verify(proceedingFilterChain)
|
||||
.doFilter(isA(HttpServletRequest.class), (ServletResponse) isNull());
|
||||
}
|
||||
|
||||
@Singleton
|
||||
|
||||
@@ -1,13 +1,10 @@
|
||||
package com.google.inject.servlet;
|
||||
|
||||
import static org.easymock.EasyMock.createMock;
|
||||
import static org.easymock.EasyMock.expect;
|
||||
import static org.easymock.EasyMock.expectLastCall;
|
||||
import static org.easymock.EasyMock.isA;
|
||||
import static org.easymock.EasyMock.isNull;
|
||||
import static org.easymock.EasyMock.replay;
|
||||
import static org.easymock.EasyMock.reset;
|
||||
import static org.easymock.EasyMock.verify;
|
||||
import static org.mockito.ArgumentMatchers.isA;
|
||||
import static org.mockito.ArgumentMatchers.isNull;
|
||||
import static org.mockito.Mockito.mock;
|
||||
import static org.mockito.Mockito.verify;
|
||||
import static org.mockito.Mockito.when;
|
||||
|
||||
import com.google.inject.Guice;
|
||||
import com.google.inject.Injector;
|
||||
@@ -23,6 +20,7 @@ import javax.servlet.ServletRequest;
|
||||
import javax.servlet.ServletResponse;
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
import junit.framework.TestCase;
|
||||
import org.mockito.Mockito;
|
||||
|
||||
/**
|
||||
* Exactly the same as {@linkplain com.google.inject.servlet.FilterPipelineTest} except that we test
|
||||
@@ -76,58 +74,47 @@ public class InjectedFilterPipelineTest extends TestCase {
|
||||
|
||||
public final void testDispatchThruInjectedGuiceFilter() throws ServletException, IOException {
|
||||
|
||||
//create mocks
|
||||
FilterConfig filterConfig = createMock(FilterConfig.class);
|
||||
ServletContext servletContext = createMock(ServletContext.class);
|
||||
HttpServletRequest request = createMock(HttpServletRequest.class);
|
||||
FilterChain proceedingFilterChain = createMock(FilterChain.class);
|
||||
// create mocks
|
||||
FilterConfig filterConfig = mock(FilterConfig.class);
|
||||
ServletContext servletContext = mock(ServletContext.class);
|
||||
HttpServletRequest request = mock(HttpServletRequest.class);
|
||||
FilterChain proceedingFilterChain = mock(FilterChain.class);
|
||||
|
||||
//begin mock script ***
|
||||
// begin mock script ***
|
||||
|
||||
expect(filterConfig.getServletContext()).andReturn(servletContext).once();
|
||||
when(filterConfig.getServletContext()).thenReturn(servletContext);
|
||||
|
||||
expect(request.getRequestURI())
|
||||
.andReturn("/non-jsp/login.html") // use a path that will fail in injector2
|
||||
.anyTimes();
|
||||
expect(request.getContextPath()).andReturn("").anyTimes();
|
||||
when(request.getRequestURI())
|
||||
.thenReturn("/non-jsp/login.html"); // use a path that will fail in injector2
|
||||
when(request.getContextPath()).thenReturn("");
|
||||
|
||||
//at the end, proceed down webapp's normal filter chain
|
||||
proceedingFilterChain.doFilter(isA(HttpServletRequest.class), (ServletResponse) isNull());
|
||||
expectLastCall().once();
|
||||
|
||||
//run mock script ***
|
||||
replay(filterConfig, servletContext, request, proceedingFilterChain);
|
||||
// at the end, proceed down webapp's normal filter chain
|
||||
|
||||
// run mock script ***
|
||||
GuiceFilter webFilter = injector1.getInstance(GuiceFilter.class);
|
||||
|
||||
webFilter.init(filterConfig);
|
||||
webFilter.doFilter(request, null, proceedingFilterChain);
|
||||
webFilter.destroy();
|
||||
|
||||
//assert expectations
|
||||
verify(filterConfig, servletContext, request, proceedingFilterChain);
|
||||
// assert expectations
|
||||
verify(proceedingFilterChain)
|
||||
.doFilter(isA(HttpServletRequest.class), (ServletResponse) isNull());
|
||||
|
||||
// reset mocks and run them against the other injector
|
||||
reset(filterConfig, servletContext, request, proceedingFilterChain);
|
||||
Mockito.reset(filterConfig, servletContext, request, proceedingFilterChain);
|
||||
|
||||
// Create a second proceeding filter chain
|
||||
FilterChain proceedingFilterChain2 = createMock(FilterChain.class);
|
||||
FilterChain proceedingFilterChain2 = mock(FilterChain.class);
|
||||
|
||||
//begin mock script ***
|
||||
// begin mock script ***
|
||||
|
||||
expect(filterConfig.getServletContext()).andReturn(servletContext).once();
|
||||
expect(request.getRequestURI())
|
||||
.andReturn("/public/login/login.jsp") // use a path that will fail in injector1
|
||||
.anyTimes();
|
||||
expect(request.getContextPath()).andReturn("").anyTimes();
|
||||
|
||||
//at the end, proceed down webapp's normal filter chain
|
||||
proceedingFilterChain2.doFilter(isA(HttpServletRequest.class), (ServletResponse) isNull());
|
||||
expectLastCall().once();
|
||||
when(filterConfig.getServletContext()).thenReturn(servletContext);
|
||||
when(request.getRequestURI())
|
||||
.thenReturn("/public/login/login.jsp"); // use a path that will fail in injector1
|
||||
when(request.getContextPath()).thenReturn("");
|
||||
|
||||
// Never fire on this pipeline
|
||||
replay(filterConfig, servletContext, request, proceedingFilterChain2, proceedingFilterChain);
|
||||
|
||||
webFilter = injector2.getInstance(GuiceFilter.class);
|
||||
|
||||
webFilter.init(filterConfig);
|
||||
@@ -135,7 +122,7 @@ public class InjectedFilterPipelineTest extends TestCase {
|
||||
webFilter.destroy();
|
||||
|
||||
// Verify that we have not crossed the streams, Venkman!
|
||||
verify(filterConfig, servletContext, request, proceedingFilterChain, proceedingFilterChain2);
|
||||
verify(proceedingFilterChain2).doFilter(isA(HttpServletRequest.class), isNull());
|
||||
}
|
||||
|
||||
@Singleton
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
package com.google.inject.servlet;
|
||||
|
||||
import static org.easymock.EasyMock.createMock;
|
||||
import static org.mockito.Mockito.mock;
|
||||
|
||||
import com.google.inject.Guice;
|
||||
import com.google.inject.Scopes;
|
||||
@@ -36,7 +36,7 @@ public class InvalidScopeBindingTest extends TestCase {
|
||||
|
||||
ServletException se = null;
|
||||
try {
|
||||
guiceFilter.init(createMock(FilterConfig.class));
|
||||
guiceFilter.init(mock(FilterConfig.class));
|
||||
} catch (ServletException e) {
|
||||
se = e;
|
||||
} finally {
|
||||
@@ -57,7 +57,7 @@ public class InvalidScopeBindingTest extends TestCase {
|
||||
|
||||
ServletException se = null;
|
||||
try {
|
||||
guiceFilter.init(createMock(FilterConfig.class));
|
||||
guiceFilter.init(mock(FilterConfig.class));
|
||||
} catch (ServletException e) {
|
||||
se = e;
|
||||
} finally {
|
||||
@@ -83,7 +83,7 @@ public class InvalidScopeBindingTest extends TestCase {
|
||||
|
||||
ServletException se = null;
|
||||
try {
|
||||
guiceFilter.init(createMock(FilterConfig.class));
|
||||
guiceFilter.init(mock(FilterConfig.class));
|
||||
} catch (ServletException e) {
|
||||
se = e;
|
||||
} finally {
|
||||
|
||||
+9
-13
@@ -1,9 +1,7 @@
|
||||
package com.google.inject.servlet;
|
||||
|
||||
import static org.easymock.EasyMock.createMock;
|
||||
import static org.easymock.EasyMock.expect;
|
||||
import static org.easymock.EasyMock.replay;
|
||||
import static org.easymock.EasyMock.verify;
|
||||
import static org.mockito.Mockito.mock;
|
||||
import static org.mockito.Mockito.when;
|
||||
|
||||
import com.google.inject.Guice;
|
||||
import com.google.inject.Injector;
|
||||
@@ -67,19 +65,17 @@ public class MultiModuleDispatchIntegrationTest extends TestCase {
|
||||
final FilterPipeline pipeline = injector.getInstance(FilterPipeline.class);
|
||||
pipeline.initPipeline(null);
|
||||
|
||||
//create ourselves a mock request with test URI
|
||||
HttpServletRequest requestMock = createMock(HttpServletRequest.class);
|
||||
// create ourselves a mock request with test URI
|
||||
HttpServletRequest requestMock = mock(HttpServletRequest.class);
|
||||
|
||||
expect(requestMock.getRequestURI()).andReturn("/index.html").anyTimes();
|
||||
expect(requestMock.getContextPath()).andReturn("").anyTimes();
|
||||
when(requestMock.getRequestURI()).thenReturn("/index.html");
|
||||
when(requestMock.getContextPath()).thenReturn("");
|
||||
|
||||
//dispatch request
|
||||
replay(requestMock);
|
||||
pipeline.dispatch(requestMock, null, createMock(FilterChain.class));
|
||||
// dispatch request
|
||||
|
||||
pipeline.dispatch(requestMock, null, mock(FilterChain.class));
|
||||
pipeline.destroyPipeline();
|
||||
|
||||
verify(requestMock);
|
||||
|
||||
assertTrue(
|
||||
"lifecycle states did not"
|
||||
+ " fire correct number of times-- inits: "
|
||||
|
||||
+8
-18
@@ -16,12 +16,10 @@
|
||||
package com.google.inject.servlet;
|
||||
|
||||
import static com.google.inject.servlet.GuiceServletContextListener.INJECTOR_NAME;
|
||||
import static org.easymock.EasyMock.createMock;
|
||||
import static org.easymock.EasyMock.eq;
|
||||
import static org.easymock.EasyMock.expectLastCall;
|
||||
import static org.easymock.EasyMock.isA;
|
||||
import static org.easymock.EasyMock.replay;
|
||||
import static org.easymock.EasyMock.verify;
|
||||
import static org.mockito.ArgumentMatchers.eq;
|
||||
import static org.mockito.ArgumentMatchers.isA;
|
||||
import static org.mockito.Mockito.mock;
|
||||
import static org.mockito.Mockito.verify;
|
||||
|
||||
import com.google.inject.Guice;
|
||||
import com.google.inject.Injector;
|
||||
@@ -41,16 +39,8 @@ public class MultipleServletInjectorsTest extends TestCase {
|
||||
private Injector injectorTwo;
|
||||
|
||||
public final void testTwoInjectors() {
|
||||
ServletContext fakeContextOne = createMock(ServletContext.class);
|
||||
ServletContext fakeContextTwo = createMock(ServletContext.class);
|
||||
|
||||
fakeContextOne.setAttribute(eq(INJECTOR_NAME), isA(Injector.class));
|
||||
expectLastCall().once();
|
||||
|
||||
fakeContextTwo.setAttribute(eq(INJECTOR_NAME), isA(Injector.class));
|
||||
expectLastCall().once();
|
||||
|
||||
replay(fakeContextOne);
|
||||
ServletContext fakeContextOne = mock(ServletContext.class);
|
||||
ServletContext fakeContextTwo = mock(ServletContext.class);
|
||||
|
||||
// Simulate the start of a servlet container.
|
||||
new GuiceServletContextListener() {
|
||||
@@ -75,7 +65,6 @@ public class MultipleServletInjectorsTest extends TestCase {
|
||||
assertNotNull(contextOne);
|
||||
|
||||
// Now simulate a second injector with a slightly different config.
|
||||
replay(fakeContextTwo);
|
||||
new GuiceServletContextListener() {
|
||||
|
||||
@Override
|
||||
@@ -109,6 +98,7 @@ public class MultipleServletInjectorsTest extends TestCase {
|
||||
assertSame(contextOne, injectorOne.getInstance(ServletContext.class));
|
||||
assertSame(contextTwo, injectorTwo.getInstance(ServletContext.class));
|
||||
|
||||
verify(fakeContextOne, fakeContextTwo);
|
||||
verify(fakeContextOne).setAttribute(eq(INJECTOR_NAME), isA(Injector.class));
|
||||
verify(fakeContextTwo).setAttribute(eq(INJECTOR_NAME), isA(Injector.class));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -17,11 +17,9 @@
|
||||
package com.google.inject.servlet;
|
||||
|
||||
import static com.google.inject.servlet.ManagedServletPipeline.REQUEST_DISPATCHER_REQUEST;
|
||||
import static org.easymock.EasyMock.anyObject;
|
||||
import static org.easymock.EasyMock.createMock;
|
||||
import static org.easymock.EasyMock.expect;
|
||||
import static org.easymock.EasyMock.replay;
|
||||
import static org.easymock.EasyMock.verify;
|
||||
import static org.mockito.ArgumentMatchers.any;
|
||||
import static org.mockito.Mockito.mock;
|
||||
import static org.mockito.Mockito.when;
|
||||
|
||||
import com.google.common.collect.Sets;
|
||||
import com.google.inject.Binding;
|
||||
@@ -62,19 +60,18 @@ public class ServletDefinitionPathsTest extends TestCase {
|
||||
final String requestPath, String mapping, final String expectedServletPath)
|
||||
throws IOException, ServletException {
|
||||
|
||||
Injector injector = createMock(Injector.class);
|
||||
Binding<HttpServlet> binding = createMock(Binding.class);
|
||||
HttpServletRequest request = createMock(HttpServletRequest.class);
|
||||
HttpServletResponse response = createMock(HttpServletResponse.class);
|
||||
Injector injector = mock(Injector.class);
|
||||
Binding<HttpServlet> binding = mock(Binding.class);
|
||||
HttpServletRequest request = mock(HttpServletRequest.class);
|
||||
HttpServletResponse response = mock(HttpServletResponse.class);
|
||||
|
||||
expect(binding.acceptScopingVisitor((BindingScopingVisitor<Boolean>) anyObject()))
|
||||
.andReturn(true);
|
||||
expect(injector.getBinding(Key.get(HttpServlet.class))).andReturn(binding);
|
||||
when(binding.acceptScopingVisitor((BindingScopingVisitor<Boolean>) any())).thenReturn(true);
|
||||
when(injector.getBinding(Key.get(HttpServlet.class))).thenReturn(binding);
|
||||
|
||||
final boolean[] run = new boolean[1];
|
||||
//get an instance of this servlet
|
||||
expect(injector.getInstance(Key.get(HttpServlet.class)))
|
||||
.andReturn(
|
||||
// get an instance of this servlet
|
||||
when(injector.getInstance(Key.get(HttpServlet.class)))
|
||||
.thenReturn(
|
||||
new HttpServlet() {
|
||||
|
||||
@Override
|
||||
@@ -91,9 +88,7 @@ public class ServletDefinitionPathsTest extends TestCase {
|
||||
}
|
||||
});
|
||||
|
||||
expect(request.getServletPath()).andReturn(requestPath);
|
||||
|
||||
replay(injector, binding, request);
|
||||
when(request.getServletPath()).thenReturn(requestPath);
|
||||
|
||||
ServletDefinition servletDefinition =
|
||||
new ServletDefinition(
|
||||
@@ -106,8 +101,6 @@ public class ServletDefinitionPathsTest extends TestCase {
|
||||
servletDefinition.doService(request, response);
|
||||
|
||||
assertTrue("Servlet did not run!", run[0]);
|
||||
|
||||
verify(injector, binding, request);
|
||||
}
|
||||
|
||||
// Data-driven test.
|
||||
@@ -153,19 +146,18 @@ public class ServletDefinitionPathsTest extends TestCase {
|
||||
final String servletPath)
|
||||
throws IOException, ServletException {
|
||||
|
||||
Injector injector = createMock(Injector.class);
|
||||
Binding<HttpServlet> binding = createMock(Binding.class);
|
||||
HttpServletRequest request = createMock(HttpServletRequest.class);
|
||||
HttpServletResponse response = createMock(HttpServletResponse.class);
|
||||
Injector injector = mock(Injector.class);
|
||||
Binding<HttpServlet> binding = mock(Binding.class);
|
||||
HttpServletRequest request = mock(HttpServletRequest.class);
|
||||
HttpServletResponse response = mock(HttpServletResponse.class);
|
||||
|
||||
expect(binding.acceptScopingVisitor((BindingScopingVisitor<Boolean>) anyObject()))
|
||||
.andReturn(true);
|
||||
expect(injector.getBinding(Key.get(HttpServlet.class))).andReturn(binding);
|
||||
when(binding.acceptScopingVisitor((BindingScopingVisitor<Boolean>) any())).thenReturn(true);
|
||||
when(injector.getBinding(Key.get(HttpServlet.class))).thenReturn(binding);
|
||||
|
||||
final boolean[] run = new boolean[1];
|
||||
//get an instance of this servlet
|
||||
expect(injector.getInstance(Key.get(HttpServlet.class)))
|
||||
.andReturn(
|
||||
// get an instance of this servlet
|
||||
when(injector.getInstance(Key.get(HttpServlet.class)))
|
||||
.thenReturn(
|
||||
new HttpServlet() {
|
||||
|
||||
@Override
|
||||
@@ -185,7 +177,7 @@ public class ServletDefinitionPathsTest extends TestCase {
|
||||
path);
|
||||
}
|
||||
|
||||
//assert memoizer
|
||||
// assert memoizer
|
||||
//noinspection StringEquality
|
||||
assertSame("memo field did not work", path, servletRequest.getPathInfo());
|
||||
|
||||
@@ -193,15 +185,13 @@ public class ServletDefinitionPathsTest extends TestCase {
|
||||
}
|
||||
});
|
||||
|
||||
expect(request.getRequestURI()).andReturn(requestUri);
|
||||
when(request.getRequestURI()).thenReturn(requestUri);
|
||||
|
||||
expect(request.getServletPath()).andReturn(servletPath).anyTimes();
|
||||
when(request.getServletPath()).thenReturn(servletPath);
|
||||
|
||||
expect(request.getContextPath()).andReturn(contextPath);
|
||||
when(request.getContextPath()).thenReturn(contextPath);
|
||||
|
||||
expect(request.getAttribute(REQUEST_DISPATCHER_REQUEST)).andReturn(null);
|
||||
|
||||
replay(injector, binding, request);
|
||||
when(request.getAttribute(REQUEST_DISPATCHER_REQUEST)).thenReturn(null);
|
||||
|
||||
ServletDefinition servletDefinition =
|
||||
new ServletDefinition(
|
||||
@@ -214,8 +204,6 @@ public class ServletDefinitionPathsTest extends TestCase {
|
||||
servletDefinition.doService(request, response);
|
||||
|
||||
assertTrue("Servlet did not run!", run[0]);
|
||||
|
||||
verify(injector, binding, request);
|
||||
}
|
||||
|
||||
// Data-driven test.
|
||||
@@ -265,19 +253,18 @@ public class ServletDefinitionPathsTest extends TestCase {
|
||||
final String servletPath)
|
||||
throws IOException, ServletException {
|
||||
|
||||
Injector injector = createMock(Injector.class);
|
||||
Binding<HttpServlet> binding = createMock(Binding.class);
|
||||
HttpServletRequest request = createMock(HttpServletRequest.class);
|
||||
HttpServletResponse response = createMock(HttpServletResponse.class);
|
||||
Injector injector = mock(Injector.class);
|
||||
Binding<HttpServlet> binding = mock(Binding.class);
|
||||
HttpServletRequest request = mock(HttpServletRequest.class);
|
||||
HttpServletResponse response = mock(HttpServletResponse.class);
|
||||
|
||||
expect(binding.acceptScopingVisitor((BindingScopingVisitor<Boolean>) anyObject()))
|
||||
.andReturn(true);
|
||||
expect(injector.getBinding(Key.get(HttpServlet.class))).andReturn(binding);
|
||||
when(binding.acceptScopingVisitor((BindingScopingVisitor<Boolean>) any())).thenReturn(true);
|
||||
when(injector.getBinding(Key.get(HttpServlet.class))).thenReturn(binding);
|
||||
|
||||
final boolean[] run = new boolean[1];
|
||||
//get an instance of this servlet
|
||||
expect(injector.getInstance(Key.get(HttpServlet.class)))
|
||||
.andReturn(
|
||||
// get an instance of this servlet
|
||||
when(injector.getInstance(Key.get(HttpServlet.class)))
|
||||
.thenReturn(
|
||||
new HttpServlet() {
|
||||
|
||||
@Override
|
||||
@@ -297,7 +284,7 @@ public class ServletDefinitionPathsTest extends TestCase {
|
||||
path);
|
||||
}
|
||||
|
||||
//assert memoizer
|
||||
// assert memoizer
|
||||
//noinspection StringEquality
|
||||
assertSame("memo field did not work", path, servletRequest.getPathInfo());
|
||||
|
||||
@@ -305,15 +292,13 @@ public class ServletDefinitionPathsTest extends TestCase {
|
||||
}
|
||||
});
|
||||
|
||||
expect(request.getRequestURI()).andReturn(requestUri);
|
||||
when(request.getRequestURI()).thenReturn(requestUri);
|
||||
|
||||
expect(request.getServletPath()).andReturn(servletPath).anyTimes();
|
||||
when(request.getServletPath()).thenReturn(servletPath);
|
||||
|
||||
expect(request.getContextPath()).andReturn(contextPath);
|
||||
when(request.getContextPath()).thenReturn(contextPath);
|
||||
|
||||
expect(request.getAttribute(REQUEST_DISPATCHER_REQUEST)).andReturn(null);
|
||||
|
||||
replay(injector, binding, request);
|
||||
when(request.getAttribute(REQUEST_DISPATCHER_REQUEST)).thenReturn(null);
|
||||
|
||||
ServletDefinition servletDefinition =
|
||||
new ServletDefinition(
|
||||
@@ -326,7 +311,5 @@ public class ServletDefinitionPathsTest extends TestCase {
|
||||
servletDefinition.doService(request, response);
|
||||
|
||||
assertTrue("Servlet did not run!", run[0]);
|
||||
|
||||
verify(injector, binding, request);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -16,11 +16,9 @@
|
||||
|
||||
package com.google.inject.servlet;
|
||||
|
||||
import static org.easymock.EasyMock.anyObject;
|
||||
import static org.easymock.EasyMock.createMock;
|
||||
import static org.easymock.EasyMock.expect;
|
||||
import static org.easymock.EasyMock.replay;
|
||||
import static org.easymock.EasyMock.verify;
|
||||
import static org.mockito.ArgumentMatchers.any;
|
||||
import static org.mockito.Mockito.mock;
|
||||
import static org.mockito.Mockito.when;
|
||||
|
||||
import com.google.common.collect.ImmutableMap;
|
||||
import com.google.common.collect.Sets;
|
||||
@@ -48,16 +46,13 @@ public class ServletDefinitionTest extends TestCase {
|
||||
|
||||
@SuppressWarnings("unchecked") // Safe because mock will only ever return HttpServlet
|
||||
public final void testServletInitAndConfig() throws ServletException {
|
||||
Injector injector = createMock(Injector.class);
|
||||
Binding<HttpServlet> binding = createMock(Binding.class);
|
||||
Injector injector = mock(Injector.class);
|
||||
Binding<HttpServlet> binding = mock(Binding.class);
|
||||
|
||||
expect(binding.acceptScopingVisitor((BindingScopingVisitor<Boolean>) anyObject()))
|
||||
.andReturn(true);
|
||||
expect(injector.getBinding(Key.get(HttpServlet.class))).andReturn(binding);
|
||||
when(binding.acceptScopingVisitor((BindingScopingVisitor<Boolean>) any())).thenReturn(true);
|
||||
when(injector.getBinding(Key.get(HttpServlet.class))).thenReturn(binding);
|
||||
final HttpServlet mockServlet = new HttpServlet() {};
|
||||
expect(injector.getInstance(Key.get(HttpServlet.class))).andReturn(mockServlet).anyTimes();
|
||||
|
||||
replay(injector, binding);
|
||||
when(injector.getInstance(Key.get(HttpServlet.class))).thenReturn(mockServlet);
|
||||
|
||||
// some init params
|
||||
//noinspection SSBasedInspection
|
||||
@@ -75,11 +70,9 @@ public class ServletDefinitionTest extends TestCase {
|
||||
initParams,
|
||||
null);
|
||||
|
||||
ServletContext servletContext = createMock(ServletContext.class);
|
||||
ServletContext servletContext = mock(ServletContext.class);
|
||||
final String contextName = "thing__!@@44__SRV" + getClass();
|
||||
expect(servletContext.getServletContextName()).andReturn(contextName);
|
||||
|
||||
replay(servletContext);
|
||||
when(servletContext.getServletContextName()).thenReturn(contextName);
|
||||
|
||||
servletDefinition.init(servletContext, injector, Sets.<HttpServlet>newIdentityHashSet());
|
||||
|
||||
@@ -95,8 +88,6 @@ public class ServletDefinitionTest extends TestCase {
|
||||
assertTrue(initParams.containsKey(name));
|
||||
assertEquals(initParams.get(name), servletConfig.getInitParameter(name));
|
||||
}
|
||||
|
||||
verify(injector, binding, servletContext);
|
||||
}
|
||||
|
||||
public void testServiceWithContextPath() throws IOException, ServletException {
|
||||
@@ -114,13 +105,12 @@ public class ServletDefinitionTest extends TestCase {
|
||||
UriPatternType.get(UriPatternType.SERVLET, pattern),
|
||||
initParams,
|
||||
null);
|
||||
HttpServletResponse servletResponse = createMock(HttpServletResponse.class);
|
||||
HttpServletRequest servletRequest = createMock(HttpServletRequest.class);
|
||||
HttpServletResponse servletResponse = mock(HttpServletResponse.class);
|
||||
HttpServletRequest servletRequest = mock(HttpServletRequest.class);
|
||||
|
||||
when(servletRequest.getContextPath()).thenReturn("/a_context_path");
|
||||
when(servletRequest.getRequestURI()).thenReturn("/test.html");
|
||||
|
||||
expect(servletRequest.getContextPath()).andReturn("/a_context_path");
|
||||
expect(servletRequest.getRequestURI()).andReturn("/test.html");
|
||||
replay(servletRequest, servletResponse);
|
||||
servletDefinition.service(servletRequest, servletResponse);
|
||||
verify(servletRequest, servletResponse);
|
||||
}
|
||||
}
|
||||
|
||||
+38
-53
@@ -17,10 +17,9 @@
|
||||
package com.google.inject.servlet;
|
||||
|
||||
import static com.google.inject.servlet.ManagedServletPipeline.REQUEST_DISPATCHER_REQUEST;
|
||||
import static org.easymock.EasyMock.createMock;
|
||||
import static org.easymock.EasyMock.expect;
|
||||
import static org.easymock.EasyMock.replay;
|
||||
import static org.easymock.EasyMock.verify;
|
||||
import static org.mockito.Mockito.mock;
|
||||
import static org.mockito.Mockito.verify;
|
||||
import static org.mockito.Mockito.when;
|
||||
|
||||
import com.google.inject.Guice;
|
||||
import com.google.inject.Injector;
|
||||
@@ -80,21 +79,18 @@ public class ServletDispatchIntegrationTest extends TestCase {
|
||||
|
||||
pipeline.initPipeline(null);
|
||||
|
||||
//create ourselves a mock request with test URI
|
||||
HttpServletRequest requestMock = createMock(HttpServletRequest.class);
|
||||
// create ourselves a mock request with test URI
|
||||
HttpServletRequest requestMock = mock(HttpServletRequest.class);
|
||||
|
||||
expect(requestMock.getRequestURI()).andReturn("/index.html").times(1);
|
||||
expect(requestMock.getContextPath()).andReturn("").anyTimes();
|
||||
when(requestMock.getRequestURI()).thenReturn("/index.html");
|
||||
when(requestMock.getContextPath()).thenReturn("");
|
||||
|
||||
//dispatch request
|
||||
replay(requestMock);
|
||||
// dispatch request
|
||||
|
||||
pipeline.dispatch(requestMock, null, createMock(FilterChain.class));
|
||||
pipeline.dispatch(requestMock, null, mock(FilterChain.class));
|
||||
|
||||
pipeline.destroyPipeline();
|
||||
|
||||
verify(requestMock);
|
||||
|
||||
assertTrue(
|
||||
"lifecycle states did not fire correct number of times-- inits: "
|
||||
+ inits
|
||||
@@ -129,21 +125,18 @@ public class ServletDispatchIntegrationTest extends TestCase {
|
||||
|
||||
pipeline.initPipeline(null);
|
||||
|
||||
//create ourselves a mock request with test URI
|
||||
HttpServletRequest requestMock = createMock(HttpServletRequest.class);
|
||||
// create ourselves a mock request with test URI
|
||||
HttpServletRequest requestMock = mock(HttpServletRequest.class);
|
||||
|
||||
expect(requestMock.getRequestURI()).andReturn("/index.html").times(2);
|
||||
expect(requestMock.getContextPath()).andReturn("").anyTimes();
|
||||
when(requestMock.getRequestURI()).thenReturn("/index.html");
|
||||
when(requestMock.getContextPath()).thenReturn("");
|
||||
|
||||
//dispatch request
|
||||
replay(requestMock);
|
||||
// dispatch request
|
||||
|
||||
pipeline.dispatch(requestMock, null, createMock(FilterChain.class));
|
||||
pipeline.dispatch(requestMock, null, mock(FilterChain.class));
|
||||
|
||||
pipeline.destroyPipeline();
|
||||
|
||||
verify(requestMock);
|
||||
|
||||
assertTrue(
|
||||
"lifecycle states did not fire correct number of times-- inits: "
|
||||
+ inits
|
||||
@@ -255,24 +248,22 @@ public class ServletDispatchIntegrationTest extends TestCase {
|
||||
}
|
||||
});
|
||||
|
||||
final HttpServletRequest requestMock = createMock(HttpServletRequest.class);
|
||||
HttpServletResponse responseMock = createMock(HttpServletResponse.class);
|
||||
expect(requestMock.getRequestURI()).andReturn("/").anyTimes();
|
||||
expect(requestMock.getContextPath()).andReturn("").anyTimes();
|
||||
final HttpServletRequest requestMock = mock(HttpServletRequest.class);
|
||||
HttpServletResponse responseMock = mock(HttpServletResponse.class);
|
||||
when(requestMock.getRequestURI()).thenReturn("/");
|
||||
when(requestMock.getContextPath()).thenReturn("");
|
||||
|
||||
requestMock.setAttribute(REQUEST_DISPATCHER_REQUEST, true);
|
||||
expect(requestMock.getAttribute(REQUEST_DISPATCHER_REQUEST)).andReturn(true);
|
||||
requestMock.removeAttribute(REQUEST_DISPATCHER_REQUEST);
|
||||
when(requestMock.getAttribute(REQUEST_DISPATCHER_REQUEST)).thenReturn(true);
|
||||
|
||||
expect(responseMock.isCommitted()).andReturn(false);
|
||||
responseMock.resetBuffer();
|
||||
when(responseMock.isCommitted()).thenReturn(false);
|
||||
|
||||
replay(requestMock, responseMock);
|
||||
|
||||
new GuiceFilter().doFilter(requestMock, responseMock, createMock(FilterChain.class));
|
||||
new GuiceFilter().doFilter(requestMock, responseMock, mock(FilterChain.class));
|
||||
|
||||
assertEquals("Incorrect number of forwards", 1, ForwardedServlet.forwardedTo);
|
||||
verify(requestMock, responseMock);
|
||||
|
||||
verify(requestMock).setAttribute(REQUEST_DISPATCHER_REQUEST, true);
|
||||
verify(requestMock).removeAttribute(REQUEST_DISPATCHER_REQUEST);
|
||||
verify(responseMock).resetBuffer();
|
||||
}
|
||||
|
||||
public final void testQueryInRequestUri_regex() throws Exception {
|
||||
@@ -292,21 +283,18 @@ public class ServletDispatchIntegrationTest extends TestCase {
|
||||
|
||||
pipeline.initPipeline(null);
|
||||
|
||||
//create ourselves a mock request with test URI
|
||||
HttpServletRequest requestMock = createMock(HttpServletRequest.class);
|
||||
// create ourselves a mock request with test URI
|
||||
HttpServletRequest requestMock = mock(HttpServletRequest.class);
|
||||
|
||||
expect(requestMock.getRequestURI()).andReturn("/index.html?query=params").atLeastOnce();
|
||||
expect(requestMock.getContextPath()).andReturn("").anyTimes();
|
||||
when(requestMock.getRequestURI()).thenReturn("/index.html?query=params");
|
||||
when(requestMock.getContextPath()).thenReturn("");
|
||||
|
||||
//dispatch request
|
||||
replay(requestMock);
|
||||
// dispatch request
|
||||
|
||||
pipeline.dispatch(requestMock, null, createMock(FilterChain.class));
|
||||
pipeline.dispatch(requestMock, null, mock(FilterChain.class));
|
||||
|
||||
pipeline.destroyPipeline();
|
||||
|
||||
verify(requestMock);
|
||||
|
||||
assertEquals(1, doFilters);
|
||||
assertEquals(1, services);
|
||||
}
|
||||
@@ -328,21 +316,18 @@ public class ServletDispatchIntegrationTest extends TestCase {
|
||||
|
||||
pipeline.initPipeline(null);
|
||||
|
||||
//create ourselves a mock request with test URI
|
||||
HttpServletRequest requestMock = createMock(HttpServletRequest.class);
|
||||
// create ourselves a mock request with test URI
|
||||
HttpServletRequest requestMock = mock(HttpServletRequest.class);
|
||||
|
||||
expect(requestMock.getRequestURI()).andReturn("/index.html?query=params").atLeastOnce();
|
||||
expect(requestMock.getContextPath()).andReturn("").anyTimes();
|
||||
when(requestMock.getRequestURI()).thenReturn("/index.html?query=params");
|
||||
when(requestMock.getContextPath()).thenReturn("");
|
||||
|
||||
//dispatch request
|
||||
replay(requestMock);
|
||||
// dispatch request
|
||||
|
||||
pipeline.dispatch(requestMock, null, createMock(FilterChain.class));
|
||||
pipeline.dispatch(requestMock, null, mock(FilterChain.class));
|
||||
|
||||
pipeline.destroyPipeline();
|
||||
|
||||
verify(requestMock);
|
||||
|
||||
assertEquals(1, doFilters);
|
||||
assertEquals(1, services);
|
||||
}
|
||||
|
||||
+68
-86
@@ -17,13 +17,11 @@
|
||||
package com.google.inject.servlet;
|
||||
|
||||
import static com.google.inject.servlet.ManagedServletPipeline.REQUEST_DISPATCHER_REQUEST;
|
||||
import static org.easymock.EasyMock.anyObject;
|
||||
import static org.easymock.EasyMock.createMock;
|
||||
import static org.easymock.EasyMock.eq;
|
||||
import static org.easymock.EasyMock.expect;
|
||||
import static org.easymock.EasyMock.expectLastCall;
|
||||
import static org.easymock.EasyMock.replay;
|
||||
import static org.easymock.EasyMock.verify;
|
||||
import static org.mockito.ArgumentMatchers.any;
|
||||
import static org.mockito.ArgumentMatchers.eq;
|
||||
import static org.mockito.Mockito.mock;
|
||||
import static org.mockito.Mockito.verify;
|
||||
import static org.mockito.Mockito.when;
|
||||
|
||||
import com.google.common.collect.ImmutableList;
|
||||
import com.google.common.collect.Sets;
|
||||
@@ -68,14 +66,11 @@ public class ServletPipelineRequestDispatcherTest extends TestCase {
|
||||
new HashMap<String, String>(),
|
||||
null);
|
||||
|
||||
final Injector injector = createMock(Injector.class);
|
||||
final Binding<HttpServlet> binding = createMock(Binding.class);
|
||||
final HttpServletRequest requestMock = createMock(HttpServletRequest.class);
|
||||
final Injector injector = mock(Injector.class);
|
||||
final Binding<HttpServlet> binding = mock(Binding.class);
|
||||
final HttpServletRequest requestMock = mock(HttpServletRequest.class);
|
||||
|
||||
expect(requestMock.getAttribute(A_KEY)).andReturn(A_VALUE);
|
||||
|
||||
requestMock.setAttribute(REQUEST_DISPATCHER_REQUEST, true);
|
||||
requestMock.removeAttribute(REQUEST_DISPATCHER_REQUEST);
|
||||
when(requestMock.getAttribute(A_KEY)).thenReturn(A_VALUE);
|
||||
|
||||
final boolean[] run = new boolean[1];
|
||||
final HttpServlet mockServlet =
|
||||
@@ -91,19 +86,17 @@ public class ServletPipelineRequestDispatcherTest extends TestCase {
|
||||
}
|
||||
};
|
||||
|
||||
expect(binding.acceptScopingVisitor((BindingScopingVisitor) anyObject())).andReturn(true);
|
||||
expect(injector.getBinding(Key.get(HttpServlet.class))).andReturn(binding);
|
||||
expect(injector.getInstance(HTTP_SERLVET_KEY)).andReturn(mockServlet);
|
||||
when(binding.acceptScopingVisitor((BindingScopingVisitor) any())).thenReturn(true);
|
||||
when(injector.getBinding(Key.get(HttpServlet.class))).thenReturn(binding);
|
||||
when(injector.getInstance(HTTP_SERLVET_KEY)).thenReturn(mockServlet);
|
||||
|
||||
final Key<ServletDefinition> servetDefsKey = Key.get(TypeLiteral.get(ServletDefinition.class));
|
||||
|
||||
Binding<ServletDefinition> mockBinding = createMock(Binding.class);
|
||||
expect(injector.findBindingsByType(eq(servetDefsKey.getTypeLiteral())))
|
||||
.andReturn(ImmutableList.<Binding<ServletDefinition>>of(mockBinding));
|
||||
Binding<ServletDefinition> mockBinding = mock(Binding.class);
|
||||
when(injector.findBindingsByType(eq(servetDefsKey.getTypeLiteral())))
|
||||
.thenReturn(ImmutableList.<Binding<ServletDefinition>>of(mockBinding));
|
||||
Provider<ServletDefinition> bindingProvider = Providers.of(servletDefinition);
|
||||
expect(mockBinding.getProvider()).andReturn(bindingProvider);
|
||||
|
||||
replay(injector, binding, requestMock, mockBinding);
|
||||
when(mockBinding.getProvider()).thenReturn(bindingProvider);
|
||||
|
||||
// Have to init the Servlet before we can dispatch to it.
|
||||
servletDefinition.init(null, injector, Sets.<HttpServlet>newIdentityHashSet());
|
||||
@@ -112,11 +105,12 @@ public class ServletPipelineRequestDispatcherTest extends TestCase {
|
||||
new ManagedServletPipeline(injector).getRequestDispatcher(pattern);
|
||||
|
||||
assertNotNull(dispatcher);
|
||||
dispatcher.include(requestMock, createMock(HttpServletResponse.class));
|
||||
dispatcher.include(requestMock, mock(HttpServletResponse.class));
|
||||
|
||||
assertTrue("Include did not dispatch to our servlet!", run[0]);
|
||||
|
||||
verify(injector, requestMock, mockBinding);
|
||||
verify(requestMock).setAttribute(REQUEST_DISPATCHER_REQUEST, true);
|
||||
verify(requestMock).removeAttribute(REQUEST_DISPATCHER_REQUEST);
|
||||
}
|
||||
|
||||
public final void testForwardToManagedServlet() throws IOException, ServletException {
|
||||
@@ -128,20 +122,14 @@ public class ServletPipelineRequestDispatcherTest extends TestCase {
|
||||
new HashMap<String, String>(),
|
||||
null);
|
||||
|
||||
final Injector injector = createMock(Injector.class);
|
||||
final Binding<HttpServlet> binding = createMock(Binding.class);
|
||||
final HttpServletRequest requestMock = createMock(HttpServletRequest.class);
|
||||
final HttpServletResponse mockResponse = createMock(HttpServletResponse.class);
|
||||
final Injector injector = mock(Injector.class);
|
||||
final Binding<HttpServlet> binding = mock(Binding.class);
|
||||
final HttpServletRequest requestMock = mock(HttpServletRequest.class);
|
||||
final HttpServletResponse mockResponse = mock(HttpServletResponse.class);
|
||||
|
||||
expect(requestMock.getAttribute(A_KEY)).andReturn(A_VALUE);
|
||||
when(requestMock.getAttribute(A_KEY)).thenReturn(A_VALUE);
|
||||
|
||||
requestMock.setAttribute(REQUEST_DISPATCHER_REQUEST, true);
|
||||
requestMock.removeAttribute(REQUEST_DISPATCHER_REQUEST);
|
||||
|
||||
expect(mockResponse.isCommitted()).andReturn(false);
|
||||
|
||||
mockResponse.resetBuffer();
|
||||
expectLastCall().once();
|
||||
when(mockResponse.isCommitted()).thenReturn(false);
|
||||
|
||||
final List<String> paths = new ArrayList<>();
|
||||
final HttpServlet mockServlet =
|
||||
@@ -157,20 +145,18 @@ public class ServletPipelineRequestDispatcherTest extends TestCase {
|
||||
}
|
||||
};
|
||||
|
||||
expect(binding.acceptScopingVisitor((BindingScopingVisitor) anyObject())).andReturn(true);
|
||||
expect(injector.getBinding(Key.get(HttpServlet.class))).andReturn(binding);
|
||||
when(binding.acceptScopingVisitor((BindingScopingVisitor) any())).thenReturn(true);
|
||||
when(injector.getBinding(Key.get(HttpServlet.class))).thenReturn(binding);
|
||||
|
||||
expect(injector.getInstance(HTTP_SERLVET_KEY)).andReturn(mockServlet);
|
||||
when(injector.getInstance(HTTP_SERLVET_KEY)).thenReturn(mockServlet);
|
||||
|
||||
final Key<ServletDefinition> servetDefsKey = Key.get(TypeLiteral.get(ServletDefinition.class));
|
||||
|
||||
Binding<ServletDefinition> mockBinding = createMock(Binding.class);
|
||||
expect(injector.findBindingsByType(eq(servetDefsKey.getTypeLiteral())))
|
||||
.andReturn(ImmutableList.<Binding<ServletDefinition>>of(mockBinding));
|
||||
Binding<ServletDefinition> mockBinding = mock(Binding.class);
|
||||
when(injector.findBindingsByType(eq(servetDefsKey.getTypeLiteral())))
|
||||
.thenReturn(ImmutableList.<Binding<ServletDefinition>>of(mockBinding));
|
||||
Provider<ServletDefinition> bindingProvider = Providers.of(servletDefinition);
|
||||
expect(mockBinding.getProvider()).andReturn(bindingProvider);
|
||||
|
||||
replay(injector, binding, requestMock, mockResponse, mockBinding);
|
||||
when(mockBinding.getProvider()).thenReturn(bindingProvider);
|
||||
|
||||
// Have to init the Servlet before we can dispatch to it.
|
||||
servletDefinition.init(null, injector, Sets.<HttpServlet>newIdentityHashSet());
|
||||
@@ -183,7 +169,9 @@ public class ServletPipelineRequestDispatcherTest extends TestCase {
|
||||
|
||||
assertTrue("Include did not dispatch to our servlet!", paths.contains(pattern));
|
||||
|
||||
verify(injector, requestMock, mockResponse, mockBinding);
|
||||
verify(requestMock).setAttribute(REQUEST_DISPATCHER_REQUEST, true);
|
||||
verify(requestMock).removeAttribute(REQUEST_DISPATCHER_REQUEST);
|
||||
verify(mockResponse).resetBuffer();
|
||||
}
|
||||
|
||||
public final void testForwardToManagedServletFailureOnCommittedBuffer()
|
||||
@@ -208,12 +196,12 @@ public class ServletPipelineRequestDispatcherTest extends TestCase {
|
||||
new HashMap<String, String>(),
|
||||
null);
|
||||
|
||||
final Injector injector = createMock(Injector.class);
|
||||
final Binding<HttpServlet> binding = createMock(Binding.class);
|
||||
final HttpServletRequest mockRequest = createMock(HttpServletRequest.class);
|
||||
final HttpServletResponse mockResponse = createMock(HttpServletResponse.class);
|
||||
final Injector injector = mock(Injector.class);
|
||||
final Binding<HttpServlet> binding = mock(Binding.class);
|
||||
final HttpServletRequest mockRequest = mock(HttpServletRequest.class);
|
||||
final HttpServletResponse mockResponse = mock(HttpServletResponse.class);
|
||||
|
||||
expect(mockResponse.isCommitted()).andReturn(true);
|
||||
when(mockResponse.isCommitted()).thenReturn(true);
|
||||
|
||||
final HttpServlet mockServlet =
|
||||
new HttpServlet() {
|
||||
@@ -227,20 +215,18 @@ public class ServletPipelineRequestDispatcherTest extends TestCase {
|
||||
}
|
||||
};
|
||||
|
||||
expect(binding.acceptScopingVisitor((BindingScopingVisitor) anyObject())).andReturn(true);
|
||||
expect(injector.getBinding(Key.get(HttpServlet.class))).andReturn(binding);
|
||||
when(binding.acceptScopingVisitor((BindingScopingVisitor) any())).thenReturn(true);
|
||||
when(injector.getBinding(Key.get(HttpServlet.class))).thenReturn(binding);
|
||||
|
||||
expect(injector.getInstance(Key.get(HttpServlet.class))).andReturn(mockServlet);
|
||||
when(injector.getInstance(Key.get(HttpServlet.class))).thenReturn(mockServlet);
|
||||
|
||||
final Key<ServletDefinition> servetDefsKey = Key.get(TypeLiteral.get(ServletDefinition.class));
|
||||
|
||||
Binding<ServletDefinition> mockBinding = createMock(Binding.class);
|
||||
expect(injector.findBindingsByType(eq(servetDefsKey.getTypeLiteral())))
|
||||
.andReturn(ImmutableList.<Binding<ServletDefinition>>of(mockBinding));
|
||||
Binding<ServletDefinition> mockBinding = mock(Binding.class);
|
||||
when(injector.findBindingsByType(eq(servetDefsKey.getTypeLiteral())))
|
||||
.thenReturn(ImmutableList.<Binding<ServletDefinition>>of(mockBinding));
|
||||
Provider<ServletDefinition> bindingProvider = Providers.of(servletDefinition);
|
||||
expect(mockBinding.getProvider()).andReturn(bindingProvider);
|
||||
|
||||
replay(injector, binding, mockRequest, mockResponse, mockBinding);
|
||||
when(mockBinding.getProvider()).thenReturn(bindingProvider);
|
||||
|
||||
// Have to init the Servlet before we can dispatch to it.
|
||||
servletDefinition.init(null, injector, Sets.<HttpServlet>newIdentityHashSet());
|
||||
@@ -250,52 +236,48 @@ public class ServletPipelineRequestDispatcherTest extends TestCase {
|
||||
|
||||
assertNotNull(dispatcher);
|
||||
|
||||
try {
|
||||
dispatcher.forward(mockRequest, mockResponse);
|
||||
} finally {
|
||||
verify(injector, mockRequest, mockResponse, mockBinding);
|
||||
}
|
||||
dispatcher.forward(mockRequest, mockResponse);
|
||||
}
|
||||
|
||||
public final void testWrappedRequestUriAndUrlConsistency() {
|
||||
final HttpServletRequest mockRequest = createMock(HttpServletRequest.class);
|
||||
expect(mockRequest.getScheme()).andReturn("http");
|
||||
expect(mockRequest.getServerName()).andReturn("the.server");
|
||||
expect(mockRequest.getServerPort()).andReturn(12345);
|
||||
replay(mockRequest);
|
||||
final HttpServletRequest mockRequest = mock(HttpServletRequest.class);
|
||||
when(mockRequest.getScheme()).thenReturn("http");
|
||||
when(mockRequest.getServerName()).thenReturn("the.server");
|
||||
when(mockRequest.getServerPort()).thenReturn(12345);
|
||||
|
||||
HttpServletRequest wrappedRequest = ManagedServletPipeline.wrapRequest(mockRequest, "/new-uri");
|
||||
assertEquals("/new-uri", wrappedRequest.getRequestURI());
|
||||
assertEquals("http://the.server:12345/new-uri", wrappedRequest.getRequestURL().toString());
|
||||
}
|
||||
|
||||
public final void testWrappedRequestUrlNegativePort() {
|
||||
final HttpServletRequest mockRequest = createMock(HttpServletRequest.class);
|
||||
expect(mockRequest.getScheme()).andReturn("http");
|
||||
expect(mockRequest.getServerName()).andReturn("the.server");
|
||||
expect(mockRequest.getServerPort()).andReturn(-1);
|
||||
replay(mockRequest);
|
||||
final HttpServletRequest mockRequest = mock(HttpServletRequest.class);
|
||||
when(mockRequest.getScheme()).thenReturn("http");
|
||||
when(mockRequest.getServerName()).thenReturn("the.server");
|
||||
when(mockRequest.getServerPort()).thenReturn(-1);
|
||||
|
||||
HttpServletRequest wrappedRequest = ManagedServletPipeline.wrapRequest(mockRequest, "/new-uri");
|
||||
assertEquals("/new-uri", wrappedRequest.getRequestURI());
|
||||
assertEquals("http://the.server/new-uri", wrappedRequest.getRequestURL().toString());
|
||||
}
|
||||
|
||||
public final void testWrappedRequestUrlDefaultPort() {
|
||||
final HttpServletRequest mockRequest = createMock(HttpServletRequest.class);
|
||||
expect(mockRequest.getScheme()).andReturn("http");
|
||||
expect(mockRequest.getServerName()).andReturn("the.server");
|
||||
expect(mockRequest.getServerPort()).andReturn(80);
|
||||
replay(mockRequest);
|
||||
final HttpServletRequest mockRequest = mock(HttpServletRequest.class);
|
||||
when(mockRequest.getScheme()).thenReturn("http");
|
||||
when(mockRequest.getServerName()).thenReturn("the.server");
|
||||
when(mockRequest.getServerPort()).thenReturn(80);
|
||||
|
||||
HttpServletRequest wrappedRequest = ManagedServletPipeline.wrapRequest(mockRequest, "/new-uri");
|
||||
assertEquals("/new-uri", wrappedRequest.getRequestURI());
|
||||
assertEquals("http://the.server/new-uri", wrappedRequest.getRequestURL().toString());
|
||||
}
|
||||
|
||||
public final void testWrappedRequestUrlDefaultHttpsPort() {
|
||||
final HttpServletRequest mockRequest = createMock(HttpServletRequest.class);
|
||||
expect(mockRequest.getScheme()).andReturn("https");
|
||||
expect(mockRequest.getServerName()).andReturn("the.server");
|
||||
expect(mockRequest.getServerPort()).andReturn(443);
|
||||
replay(mockRequest);
|
||||
final HttpServletRequest mockRequest = mock(HttpServletRequest.class);
|
||||
when(mockRequest.getScheme()).thenReturn("https");
|
||||
when(mockRequest.getServerName()).thenReturn("the.server");
|
||||
when(mockRequest.getServerPort()).thenReturn(443);
|
||||
|
||||
HttpServletRequest wrappedRequest = ManagedServletPipeline.wrapRequest(mockRequest, "/new-uri");
|
||||
assertEquals("/new-uri", wrappedRequest.getRequestURI());
|
||||
assertEquals("https://the.server/new-uri", wrappedRequest.getRequestURL().toString());
|
||||
|
||||
@@ -2,10 +2,8 @@
|
||||
|
||||
package com.google.inject.servlet;
|
||||
|
||||
import static org.easymock.EasyMock.createMock;
|
||||
import static org.easymock.EasyMock.expect;
|
||||
import static org.easymock.EasyMock.replay;
|
||||
import static org.easymock.EasyMock.verify;
|
||||
import static org.mockito.Mockito.mock;
|
||||
import static org.mockito.Mockito.when;
|
||||
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
import junit.framework.TestCase;
|
||||
@@ -59,12 +57,11 @@ public class ServletUtilsTest extends TestCase {
|
||||
}
|
||||
|
||||
private String getContextRelativePath(String contextPath, String requestPath) {
|
||||
HttpServletRequest mock = createMock(HttpServletRequest.class);
|
||||
expect(mock.getContextPath()).andReturn(contextPath);
|
||||
expect(mock.getRequestURI()).andReturn(requestPath);
|
||||
replay(mock);
|
||||
HttpServletRequest mock = mock(HttpServletRequest.class);
|
||||
when(mock.getContextPath()).thenReturn(contextPath);
|
||||
when(mock.getRequestURI()).thenReturn(requestPath);
|
||||
|
||||
String contextRelativePath = ServletUtils.getContextRelativePath(mock);
|
||||
verify(mock);
|
||||
return contextRelativePath;
|
||||
}
|
||||
}
|
||||
|
||||
+23
-31
@@ -1,9 +1,7 @@
|
||||
package com.google.inject.servlet;
|
||||
|
||||
import static org.easymock.EasyMock.createMock;
|
||||
import static org.easymock.EasyMock.expect;
|
||||
import static org.easymock.EasyMock.replay;
|
||||
import static org.easymock.EasyMock.verify;
|
||||
import static org.mockito.Mockito.mock;
|
||||
import static org.mockito.Mockito.when;
|
||||
|
||||
import com.google.inject.Guice;
|
||||
import com.google.inject.Injector;
|
||||
@@ -57,19 +55,17 @@ public class VarargsFilterDispatchIntegrationTest extends TestCase {
|
||||
final FilterPipeline pipeline = injector.getInstance(FilterPipeline.class);
|
||||
pipeline.initPipeline(null);
|
||||
|
||||
//create ourselves a mock request with test URI
|
||||
HttpServletRequest requestMock = createMock(HttpServletRequest.class);
|
||||
// create ourselves a mock request with test URI
|
||||
HttpServletRequest requestMock = mock(HttpServletRequest.class);
|
||||
|
||||
expect(requestMock.getRequestURI()).andReturn("/index.html").anyTimes();
|
||||
expect(requestMock.getContextPath()).andReturn("").anyTimes();
|
||||
when(requestMock.getRequestURI()).thenReturn("/index.html");
|
||||
when(requestMock.getContextPath()).thenReturn("");
|
||||
|
||||
//dispatch request
|
||||
replay(requestMock);
|
||||
pipeline.dispatch(requestMock, null, createMock(FilterChain.class));
|
||||
// dispatch request
|
||||
|
||||
pipeline.dispatch(requestMock, null, mock(FilterChain.class));
|
||||
pipeline.destroyPipeline();
|
||||
|
||||
verify(requestMock);
|
||||
|
||||
assertTrue(
|
||||
"lifecycle states did not"
|
||||
+ " fire correct number of times-- inits: "
|
||||
@@ -99,19 +95,17 @@ public class VarargsFilterDispatchIntegrationTest extends TestCase {
|
||||
final FilterPipeline pipeline = injector.getInstance(FilterPipeline.class);
|
||||
pipeline.initPipeline(null);
|
||||
|
||||
//create ourselves a mock request with test URI
|
||||
HttpServletRequest requestMock = createMock(HttpServletRequest.class);
|
||||
// create ourselves a mock request with test URI
|
||||
HttpServletRequest requestMock = mock(HttpServletRequest.class);
|
||||
|
||||
expect(requestMock.getRequestURI()).andReturn("/index.xhtml").anyTimes();
|
||||
expect(requestMock.getContextPath()).andReturn("").anyTimes();
|
||||
when(requestMock.getRequestURI()).thenReturn("/index.xhtml");
|
||||
when(requestMock.getContextPath()).thenReturn("");
|
||||
|
||||
//dispatch request
|
||||
replay(requestMock);
|
||||
pipeline.dispatch(requestMock, null, createMock(FilterChain.class));
|
||||
// dispatch request
|
||||
|
||||
pipeline.dispatch(requestMock, null, mock(FilterChain.class));
|
||||
pipeline.destroyPipeline();
|
||||
|
||||
verify(requestMock);
|
||||
|
||||
assertTrue(
|
||||
"lifecycle states did not "
|
||||
+ "fire correct number of times-- inits: "
|
||||
@@ -142,19 +136,17 @@ public class VarargsFilterDispatchIntegrationTest extends TestCase {
|
||||
final FilterPipeline pipeline = injector.getInstance(FilterPipeline.class);
|
||||
pipeline.initPipeline(null);
|
||||
|
||||
//create ourselves a mock request with test URI
|
||||
HttpServletRequest requestMock = createMock(HttpServletRequest.class);
|
||||
// create ourselves a mock request with test URI
|
||||
HttpServletRequest requestMock = mock(HttpServletRequest.class);
|
||||
|
||||
expect(requestMock.getRequestURI()).andReturn("/index").anyTimes();
|
||||
expect(requestMock.getContextPath()).andReturn("").anyTimes();
|
||||
when(requestMock.getRequestURI()).thenReturn("/index");
|
||||
when(requestMock.getContextPath()).thenReturn("");
|
||||
|
||||
//dispatch request
|
||||
replay(requestMock);
|
||||
pipeline.dispatch(requestMock, null, createMock(FilterChain.class));
|
||||
// dispatch request
|
||||
|
||||
pipeline.dispatch(requestMock, null, mock(FilterChain.class));
|
||||
pipeline.destroyPipeline();
|
||||
|
||||
verify(requestMock);
|
||||
|
||||
assertTrue(
|
||||
"lifecycle states did not fire "
|
||||
+ "correct number of times-- inits: "
|
||||
|
||||
+20
-31
@@ -16,10 +16,8 @@
|
||||
|
||||
package com.google.inject.servlet;
|
||||
|
||||
import static org.easymock.EasyMock.createMock;
|
||||
import static org.easymock.EasyMock.expect;
|
||||
import static org.easymock.EasyMock.replay;
|
||||
import static org.easymock.EasyMock.verify;
|
||||
import static org.mockito.Mockito.mock;
|
||||
import static org.mockito.Mockito.when;
|
||||
|
||||
import com.google.inject.Guice;
|
||||
import com.google.inject.Injector;
|
||||
@@ -75,20 +73,17 @@ public class VarargsServletDispatchIntegrationTest extends TestCase {
|
||||
|
||||
pipeline.initPipeline(null);
|
||||
|
||||
//create ourselves a mock request with test URI
|
||||
HttpServletRequest requestMock = createMock(HttpServletRequest.class);
|
||||
// create ourselves a mock request with test URI
|
||||
HttpServletRequest requestMock = mock(HttpServletRequest.class);
|
||||
|
||||
expect(requestMock.getRequestURI()).andReturn("/index.html").times(1);
|
||||
expect(requestMock.getContextPath()).andReturn("").anyTimes();
|
||||
when(requestMock.getRequestURI()).thenReturn("/index.html");
|
||||
when(requestMock.getContextPath()).thenReturn("");
|
||||
|
||||
//dispatch request
|
||||
replay(requestMock);
|
||||
// dispatch request
|
||||
|
||||
pipeline.dispatch(requestMock, null, createMock(FilterChain.class));
|
||||
pipeline.dispatch(requestMock, null, mock(FilterChain.class));
|
||||
pipeline.destroyPipeline();
|
||||
|
||||
verify(requestMock);
|
||||
|
||||
assertTrue(
|
||||
"lifecycle states did not fire correct number of times-- inits: "
|
||||
+ inits
|
||||
@@ -118,20 +113,17 @@ public class VarargsServletDispatchIntegrationTest extends TestCase {
|
||||
|
||||
pipeline.initPipeline(null);
|
||||
|
||||
//create ourselves a mock request with test URI
|
||||
HttpServletRequest requestMock = createMock(HttpServletRequest.class);
|
||||
// create ourselves a mock request with test URI
|
||||
HttpServletRequest requestMock = mock(HttpServletRequest.class);
|
||||
|
||||
expect(requestMock.getRequestURI()).andReturn("/index.html").times(3);
|
||||
expect(requestMock.getContextPath()).andReturn("").anyTimes();
|
||||
when(requestMock.getRequestURI()).thenReturn("/index.html");
|
||||
when(requestMock.getContextPath()).thenReturn("");
|
||||
|
||||
//dispatch request
|
||||
replay(requestMock);
|
||||
// dispatch request
|
||||
|
||||
pipeline.dispatch(requestMock, null, createMock(FilterChain.class));
|
||||
pipeline.dispatch(requestMock, null, mock(FilterChain.class));
|
||||
pipeline.destroyPipeline();
|
||||
|
||||
verify(requestMock);
|
||||
|
||||
assertTrue(
|
||||
"lifecycle states did not fire correct number of times-- inits: "
|
||||
+ inits
|
||||
@@ -163,21 +155,18 @@ public class VarargsServletDispatchIntegrationTest extends TestCase {
|
||||
|
||||
pipeline.initPipeline(null);
|
||||
|
||||
//create ourselves a mock request with test URI
|
||||
HttpServletRequest requestMock = createMock(HttpServletRequest.class);
|
||||
// create ourselves a mock request with test URI
|
||||
HttpServletRequest requestMock = mock(HttpServletRequest.class);
|
||||
|
||||
expect(requestMock.getRequestURI()).andReturn("/index.html").times(2);
|
||||
expect(requestMock.getContextPath()).andReturn("").anyTimes();
|
||||
when(requestMock.getRequestURI()).thenReturn("/index.html");
|
||||
when(requestMock.getContextPath()).thenReturn("");
|
||||
|
||||
//dispatch request
|
||||
replay(requestMock);
|
||||
// dispatch request
|
||||
|
||||
pipeline.dispatch(requestMock, null, createMock(FilterChain.class));
|
||||
pipeline.dispatch(requestMock, null, mock(FilterChain.class));
|
||||
|
||||
pipeline.destroyPipeline();
|
||||
|
||||
verify(requestMock);
|
||||
|
||||
assertTrue(
|
||||
"lifecycle states did not fire correct number of times-- inits: "
|
||||
+ inits
|
||||
|
||||
Reference in New Issue
Block a user