@Test public void noFilters() throws Exception { EasyMockSupport ems = new EasyMockSupport(); FilterConfig config = ems.createMock(FilterConfig.class); HttpServletRequest req = new FakeHttpServletRequest(); HttpServletResponse res = new FakeHttpServletResponse(); FilterChain chain = ems.createMock(FilterChain.class); chain.doFilter(req, res); ems.replayAll(); AllRequestFilter.FilterProxy filterProxy = getFilterProxy(); filterProxy.init(config); filterProxy.doFilter(req, res, chain); filterProxy.destroy(); ems.verifyAll(); }
@Test public void singleFilterNoBubbling() throws Exception { EasyMockSupport ems = new EasyMockSupport(); FilterConfig config = ems.createMock("config", FilterConfig.class); HttpServletRequest req = new FakeHttpServletRequest(); HttpServletResponse res = new FakeHttpServletResponse(); FilterChain chain = ems.createMock("chain", FilterChain.class); AllRequestFilter filter = ems.createStrictMock("filter", AllRequestFilter.class); filter.init(config); filter.doFilter(eq(req), eq(res), anyObject(FilterChain.class)); filter.destroy(); ems.replayAll(); AllRequestFilter.FilterProxy filterProxy = getFilterProxy(); addFilter(filter); filterProxy.init(config); filterProxy.doFilter(req, res, chain); filterProxy.destroy(); ems.verifyAll(); }
@Before public void setUp() { EasyMockSupport.injectMocks(this); final Map<InvalidationProcessor, InvalidationCollector> processorsWithCollectors = new LinkedHashMap<>(); processorsWithCollectors.put(processor1, collector1); processorsWithCollectors.put(processor2, collector2); processorInvalidationManager = new ProcessorInvalidationManager(processorsWithCollectors); entry1 = new TypedInvalidationEntry(new SimpleInvalidationEntryType("type1")); entry2 = new TypedInvalidationEntry(new SimpleInvalidationEntryType("type2")); entry3 = new TypedInvalidationEntry(new SimpleInvalidationEntryType("type3")); entries = new ArrayList<>(); entries.add(entry1); entries.add(entry2); entries.add(entry3); }
@Before public void setUp() { EasyMockSupport.injectMocks(this); interceptors = new ArrayList<>(); interceptors.add(interceptor1); interceptors.add(interceptor2); strategies = new HashMap<>(); strategies.put(INVALIDATION_TYPE_1, strategy1); strategies.put(INVALIDATION_TYPE_2, strategy2); cacheLayerInvalidationProcessor = new CacheLayerInvalidationProcessor(); cacheLayerInvalidationProcessor.setInterceptors(interceptors); cacheLayerInvalidationProcessor.setStrategies(strategies); entry1 = new TypedInvalidationEntry(new SimpleInvalidationEntryType(INVALIDATION_TYPE_1)); entry2 = new TypedInvalidationEntry(new SimpleInvalidationEntryType(INVALIDATION_TYPE_2)); entry3 = new TypedInvalidationEntry(new SimpleInvalidationEntryType(INVALIDATION_TYPE_3)); }
@Test public void singleFilterBubbling() throws Exception { EasyMockSupport ems = new EasyMockSupport(); FilterConfig config = ems.createMock(FilterConfig.class); HttpServletRequest req = new FakeHttpServletRequest(); HttpServletResponse res = new FakeHttpServletResponse(); IMocksControl mockControl = ems.createStrictControl(); FilterChain chain = mockControl.createMock(FilterChain.class); Capture<FilterChain> capturedChain = new Capture<>(); AllRequestFilter filter = mockControl.createMock(AllRequestFilter.class); filter.init(config); filter.doFilter(eq(req), eq(res), capture(capturedChain)); chain.doFilter(req, res); filter.destroy(); ems.replayAll(); AllRequestFilter.FilterProxy filterProxy = getFilterProxy(); addFilter(filter); filterProxy.init(config); filterProxy.doFilter(req, res, chain); capturedChain.getValue().doFilter(req, res); filterProxy.destroy(); ems.verifyAll(); }
@Test public void twoFiltersNoBubbling() throws Exception { EasyMockSupport ems = new EasyMockSupport(); FilterConfig config = ems.createMock(FilterConfig.class); HttpServletRequest req = new FakeHttpServletRequest(); HttpServletResponse res = new FakeHttpServletResponse(); IMocksControl mockControl = ems.createStrictControl(); FilterChain chain = mockControl.createMock(FilterChain.class); AllRequestFilter filterA = mockControl.createMock(AllRequestFilter.class); AllRequestFilter filterB = mockControl.createMock(AllRequestFilter.class); filterA.init(config); filterB.init(config); filterA.doFilter(eq(req), eq(res), anyObject(FilterChain.class)); filterA.destroy(); filterB.destroy(); ems.replayAll(); AllRequestFilter.FilterProxy filterProxy = getFilterProxy(); addFilter(filterA); addFilter(filterB); filterProxy.init(config); filterProxy.doFilter(req, res, chain); filterProxy.destroy(); ems.verifyAll(); }
@Test public void twoFiltersBubbling() throws Exception { EasyMockSupport ems = new EasyMockSupport(); FilterConfig config = ems.createMock(FilterConfig.class); HttpServletRequest req = new FakeHttpServletRequest(); HttpServletResponse res = new FakeHttpServletResponse(); IMocksControl mockControl = ems.createStrictControl(); FilterChain chain = mockControl.createMock(FilterChain.class); Capture<FilterChain> capturedChainA = new Capture<>(); Capture<FilterChain> capturedChainB = new Capture<>(); AllRequestFilter filterA = mockControl.createMock(AllRequestFilter.class); AllRequestFilter filterB = mockControl.createMock(AllRequestFilter.class); filterA.init(config); filterB.init(config); filterA.doFilter(eq(req), eq(res), capture(capturedChainA)); filterB.doFilter(eq(req), eq(res), capture(capturedChainB)); chain.doFilter(req, res); filterA.destroy(); filterB.destroy(); ems.replayAll(); AllRequestFilter.FilterProxy filterProxy = getFilterProxy(); addFilter(filterA); addFilter(filterB); filterProxy.init(config); filterProxy.doFilter(req, res, chain); capturedChainA.getValue().doFilter(req, res); capturedChainB.getValue().doFilter(req, res); filterProxy.destroy(); ems.verifyAll(); }
@Override protected void injectMocks(final Object testInstance) { EasyMockSupport.injectMocks(testInstance); }
@Test public void postponedLoading() throws Exception { EasyMockSupport ems = new EasyMockSupport(); FilterConfig config = ems.createMock(FilterConfig.class); HttpServletRequest req1 = new FakeHttpServletRequest(); HttpServletRequest req2 = new FakeHttpServletRequest(); HttpServletResponse res1 = new FakeHttpServletResponse(); HttpServletResponse res2 = new FakeHttpServletResponse(); IMocksControl mockControl = ems.createStrictControl(); FilterChain chain = mockControl.createMock("chain", FilterChain.class); Capture<FilterChain> capturedChainA1 = new Capture<>(); Capture<FilterChain> capturedChainA2 = new Capture<>(); Capture<FilterChain> capturedChainB = new Capture<>(); AllRequestFilter filterA = mockControl.createMock("filterA", AllRequestFilter.class); AllRequestFilter filterB = mockControl.createMock("filterB", AllRequestFilter.class); filterA.init(config); filterA.doFilter(eq(req1), eq(res1), capture(capturedChainA1)); chain.doFilter(req1, res1); filterA.doFilter(eq(req2), eq(res2), capture(capturedChainA2)); filterB.init(config); // <-- This is crucial part. filterB got loaded // after filterProxy's init finished. Nonetheless filterB gets initialized. filterB.doFilter(eq(req2), eq(res2), capture(capturedChainB)); chain.doFilter(req2, res2); filterA.destroy(); filterB.destroy(); ems.replayAll(); AllRequestFilter.FilterProxy filterProxy = getFilterProxy(); addFilter(filterA); filterProxy.init(config); filterProxy.doFilter(req1, res1, chain); capturedChainA1.getValue().doFilter(req1, res1); addFilter(filterB); // <-- Adds filter after filterProxy's init got called. filterProxy.doFilter(req2, res2, chain); capturedChainA2.getValue().doFilter(req2, res2); capturedChainB.getValue().doFilter(req2, res2); filterProxy.destroy(); ems.verifyAll(); }
@Test public void dynamicUnloading() throws Exception { EasyMockSupport ems = new EasyMockSupport(); FilterConfig config = ems.createMock(FilterConfig.class); HttpServletRequest req1 = new FakeHttpServletRequest(); HttpServletRequest req2 = new FakeHttpServletRequest(); HttpServletRequest req3 = new FakeHttpServletRequest(); HttpServletResponse res1 = new FakeHttpServletResponse(); HttpServletResponse res2 = new FakeHttpServletResponse(); HttpServletResponse res3 = new FakeHttpServletResponse(); Plugin plugin = ems.createMock(Plugin.class); IMocksControl mockControl = ems.createStrictControl(); FilterChain chain = mockControl.createMock("chain", FilterChain.class); Capture<FilterChain> capturedChainA1 = new Capture<>(); Capture<FilterChain> capturedChainB1 = new Capture<>(); Capture<FilterChain> capturedChainB2 = new Capture<>(); AllRequestFilter filterA = mockControl.createMock("filterA", AllRequestFilter.class); AllRequestFilter filterB = mockControl.createMock("filterB", AllRequestFilter.class); filterA.init(config); filterB.init(config); filterA.doFilter(eq(req1), eq(res1), capture(capturedChainA1)); filterB.doFilter(eq(req1), eq(res1), capture(capturedChainB1)); chain.doFilter(req1, res1); filterA.destroy(); // Cleaning up of filterA after it got unloaded filterB.doFilter(eq(req2), eq(res2), capture(capturedChainB2)); chain.doFilter(req2, res2); filterB.destroy(); // Cleaning up of filterA after it got unloaded chain.doFilter(req3, res3); ems.replayAll(); AllRequestFilter.FilterProxy filterProxy = getFilterProxy(); ReloadableRegistrationHandle<AllRequestFilter> handleFilterA = addFilter(filterA); ReloadableRegistrationHandle<AllRequestFilter> handleFilterB = addFilter(filterB); filterProxy.init(config); // Request #1 with filterA and filterB filterProxy.doFilter(req1, res1, chain); capturedChainA1.getValue().doFilter(req1, res1); capturedChainB1.getValue().doFilter(req1, res1); // Unloading filterA handleFilterA.remove(); filterProxy.onStopPlugin(plugin); // Request #1 only with filterB filterProxy.doFilter(req2, res2, chain); capturedChainA1.getValue().doFilter(req2, res2); // Unloading filterB handleFilterB.remove(); filterProxy.onStopPlugin(plugin); // Request #1 with no additional filters filterProxy.doFilter(req3, res3, chain); filterProxy.destroy(); ems.verifyAll(); }
@BeforeMethod public void setup() { EasyMockSupport.injectMocks(this); systemUnderTest = new TaxTransferer(taxService); }
private void populateServerSideBeans() { easyMockSupport = getBean(EasyMockSupport.class); mocksRegistry = getBean(MocksRegistry.class); }
@Bean public EasyMockSupport easyMockSupport() { return new EasyMockSupport(); }