1 package com.atlassian.cache.ehcache.replication.rmi;
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.replication.rmi.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
31 final Properties mockProperties = mock(Properties.class);
32
33
34 final CacheEventListener listener = factory.createCacheEventListener(mockProperties);
35
36
37 assertEquals(RMIAsynchronousCacheReplicator.class, listener.getClass());
38 }
39
40 @Test
41 public void replicationShouldBeAsynchronousWhenExplicitlySet() throws Exception
42 {
43
44 final Properties mockProperties = mock(Properties.class);
45 when(mockProperties.get(REPLICATE_ASYNCHRONOUSLY)).thenReturn("TRUE");
46 when(mockProperties.size()).thenReturn(1);
47
48
49 final CacheEventListener listener = factory.createCacheEventListener(mockProperties);
50
51
52 assertEquals(RMIAsynchronousCacheReplicator.class, listener.getClass());
53 }
54
55 @Test
56 public void replicationShouldBeSynchronousWhenExplicitlySet() throws Exception
57 {
58
59 final Properties mockProperties = mock(Properties.class);
60 when(mockProperties.get(REPLICATE_ASYNCHRONOUSLY)).thenReturn("FALSE");
61 when(mockProperties.size()).thenReturn(1);
62
63
64 final CacheEventListener listener = factory.createCacheEventListener(mockProperties);
65
66
67 assertEquals(RMISynchronousCacheReplicator.class, listener.getClass());
68 }
69 }