public void testBasic() throws Exception
{
ServletContext servletContext = new MockServletContext();
FilterConfig filterConfig = new MockFilterConfig(servletContext);
Filter f = new HiveMindFilter();
f.init(filterConfig);
Registry r = (Registry) servletContext.getAttribute(HiveMindFilter.CONTEXT_KEY);
assertNotNull(r);
ThreadEventNotifier t =
(ThreadEventNotifier) r.getService(
HiveMind.THREAD_EVENT_NOTIFIER_SERVICE,
ThreadEventNotifier.class);
Listener l = new Listener();
t.addThreadCleanupListener(l);
HttpServletRequest request = new MockRequest();
f.doFilter(request, new MockResponse(), new MockFilterChain());
assertSame(r, HiveMindFilter.getRegistry(request));
assertEquals(true, l.getCleanup());
f.destroy();
try
{
t.addThreadCleanupListener(null);
unreachable();