View Javadoc

1   package com.atlassian.cache.ehcache;
2   
3   import java.util.Properties;
4   
5   import org.junit.Before;
6   import org.junit.Test;
7   
8   import net.sf.ehcache.distribution.RMIAsynchronousCacheReplicator;
9   import net.sf.ehcache.event.CacheEventListener;
10  import net.sf.ehcache.event.CacheEventListenerFactory;
11  
12  import static com.atlassian.cache.ehcache.RMICacheReplicatorFactory.REPLICATE_ASYNCHRONOUSLY;
13  import static org.junit.Assert.assertEquals;
14  import static org.mockito.Mockito.mock;
15  import static org.mockito.Mockito.when;
16  
17  public class RMICacheReplicatorFactoryTest
18  {
19      private CacheEventListenerFactory factory;
20  
21      @Before
22      public void setUp() throws Exception
23      {
24          factory = new RMICacheReplicatorFactory();
25      }
26  
27      @Test
28      public void replicationShouldBeAsynchronousByDefault() throws Exception
29      {
30          // Set up
31          final Properties mockProperties = mock(Properties.class);
32  
33          // Invoke
34          final CacheEventListener listener = factory.createCacheEventListener(mockProperties);
35  
36          // Check
37          assertEquals(RMIAsynchronousCacheReplicator.class, listener.getClass());
38      }
39  
40      @Test
41      public void replicationShouldBeAsynchronousWhenExplicitlySet() throws Exception
42      {
43          // Set up
44          final Properties mockProperties = mock(Properties.class);
45          when(mockProperties.get(REPLICATE_ASYNCHRONOUSLY)).thenReturn("TRUE");
46          when(mockProperties.size()).thenReturn(1);
47  
48          // Invoke
49          final CacheEventListener listener = factory.createCacheEventListener(mockProperties);
50  
51          // Check
52          assertEquals(RMIAsynchronousCacheReplicator.class, listener.getClass());
53      }
54  
55      @Test
56      public void replicationShouldBeSynchronousWhenExplicitlySet() throws Exception
57      {
58          // Set up
59          final Properties mockProperties = mock(Properties.class);
60          when(mockProperties.get(REPLICATE_ASYNCHRONOUSLY)).thenReturn("FALSE");
61          when(mockProperties.size()).thenReturn(1);
62  
63          // Invoke
64          final CacheEventListener listener = factory.createCacheEventListener(mockProperties);
65  
66          // Check
67          assertEquals(RMISynchronousCacheReplicator.class, listener.getClass());
68      }
69  }