View Javadoc
1   package com.atlassian.plugin.eventlistener.descriptors;
2   
3   import com.atlassian.event.api.EventPublisher;
4   import com.atlassian.plugin.module.ModuleFactory;
5   import org.junit.Rule;
6   import org.junit.Test;
7   import org.junit.contrib.java.lang.system.RestoreSystemProperties;
8   import org.junit.runner.RunWith;
9   import org.mockito.Mock;
10  import org.mockito.junit.MockitoJUnitRunner;
11  
12  import static com.atlassian.plugin.eventlistener.descriptors.EventListenerModuleDescriptor.FALLBACK_MODE;
13  import static org.mockito.ArgumentMatchers.any;
14  import static org.mockito.Mockito.verify;
15  import static org.mockito.Mockito.when;
16  
17  @RunWith(MockitoJUnitRunner.class)
18  public class EventListenerModuleDescriptorTest {
19      @Rule
20      public final RestoreSystemProperties restoreSystemProperties = new RestoreSystemProperties();
21  
22      @Mock
23      private ModuleFactory factory;
24      @Mock
25      private Object module;
26      @Mock
27      private EventPublisher publisher;
28  
29  
30      @Test
31      public void enabled() {
32          final EventListenerModuleDescriptor descriptor = new EventListenerModuleDescriptor(factory, publisher);
33          descriptor.enabled();
34  
35          verify(publisher).register(descriptor);
36      }
37  
38      @Test
39      public void disabled() {
40          final EventListenerModuleDescriptor descriptor = new EventListenerModuleDescriptor(factory, publisher);
41          descriptor.disabled();
42  
43          verify(publisher).unregister(descriptor);
44      }
45  
46      @Test
47      public void enabledInFallbackMode() {
48          System.setProperty(FALLBACK_MODE, "true");
49          when(factory.createModule(any(), any())).thenReturn(module);
50  
51          final EventListenerModuleDescriptor descriptor = new EventListenerModuleDescriptor(factory, publisher);
52          descriptor.enabled();
53  
54          verify(publisher).register(module);
55      }
56  
57      @Test
58      public void disabledInFallbackMode()  {
59          System.setProperty(FALLBACK_MODE, "true");
60  
61          when(factory.createModule(any(), any())).thenReturn(module);
62  
63          final EventListenerModuleDescriptor descriptor = new EventListenerModuleDescriptor(factory, publisher);
64          descriptor.disabled();
65  
66          verify(publisher).unregister(module);
67      }
68  }