All testing uses Mockito instead of EasyMock.

PiperOrigin-RevId: 498600399
This commit is contained in:
Guice Team
2022-12-30 09:45:27 -08:00
committed by Guice Team
parent 7e740071c4
commit 294065ccc1
20 changed files with 409 additions and 613 deletions
-6
View File
@@ -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>
+3 -3
View File
@@ -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 {
@@ -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) {
@@ -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 {
@@ -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 {
@@ -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: "
@@ -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);
}
}
@@ -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);
}
@@ -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;
}
}
@@ -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: "
@@ -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