1 package it.com.atlassian.event.spring;
2
3 import com.atlassian.event.api.EventPublisher;
4 import org.junit.After;
5 import org.junit.Test;
6 import org.junit.runner.RunWith;
7 import org.springframework.test.context.ContextConfiguration;
8 import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
9
10 import javax.annotation.Resource;
11
12 import static org.hamcrest.CoreMatchers.is;
13 import static org.hamcrest.CoreMatchers.sameInstance;
14 import static org.junit.Assert.assertThat;
15
16 @RunWith(SpringJUnit4ClassRunner.class)
17 @ContextConfiguration
18 public class EventListenerRegistrationIT {
19 @Resource
20 private ExampleAnnotationBasedEventListener singletonScopedListener;
21
22 @Resource
23 private EventPublisher eventPublisher;
24
25 @After
26 public void resetListeners() {
27 singletonScopedListener.reset();
28 }
29
30 @Test
31 public void testThatEventsArePublishedToListener() {
32 ExampleEvent event = new ExampleEvent();
33 eventPublisher.publish(event);
34 assertThat(singletonScopedListener.event, is(sameInstance(event)));
35 }
36 }