/* vim: set ts=2 et sw=2 cindent fo=qroca: */
package com.globant.katari.core.web;
import org.junit.Test;
import static org.junit.Assert.*;
import static org.hamcrest.CoreMatchers.*;
import org.springframework.web.context.support.StaticWebApplicationContext;
import org.springframework.context.event.ContextRefreshedEvent;
import org.springframework.mock.web.MockServletConfig;
import org.springframework.context.ApplicationContext;
public class EventFilterDispatcherServletTest {
private boolean called = false;
@SuppressWarnings("serial")
@Test
public void testOnApplicationEvent() throws Exception {
StaticWebApplicationContext parent = new StaticWebApplicationContext();
MockServletConfig config = new MockServletConfig();
config.addInitParameter("contextConfigLocation",
"classpath:/com/globant/katari/core/userApplicationContext.xml");
EventFilterDispatcherServlet servlet = new EventFilterDispatcherServlet() {
protected void onRefresh(final ApplicationContext context) {
called = true;
}
};
servlet.init(config);
ContextRefreshedEvent event;
event = new ContextRefreshedEvent(parent);
called = false;
servlet.onApplicationEvent(event);
assertThat(called, is(false));
event = new ContextRefreshedEvent(servlet.getWebApplicationContext());
called = false;
servlet.onApplicationEvent(event);
assertThat(called, is(true));
}
}