1 package com.atlassian.cache.hazelcast;
2
3 import com.atlassian.cache.AbstractLazyReferenceTest;
4 import com.atlassian.cache.CacheSettingsBuilder;
5 import com.atlassian.cache.CachedReference;
6 import org.junit.Before;
7 import org.junit.ClassRule;
8 import org.junit.runner.RunWith;
9 import org.mockito.runners.MockitoJUnitRunner;
10
11 import static org.hamcrest.core.IsEqual.equalTo;
12 import static org.junit.Assert.assertThat;
13
14 @RunWith (MockitoJUnitRunner.class)
15 public class HazelcastRemoteCachedReferenceTest extends AbstractLazyReferenceTest
16 {
17 @ClassRule
18 public static InitOnceHazelcastCluster cluster = InitOnceHazelcastCluster.getInstance();
19
20 @Before
21 public void setUp() throws Exception
22 {
23 cluster.reset();
24 factory = HazelcastTestSupport.createDistributedFactory(cluster.getNode(0));
25 }
26
27 @Override
28 public void testRemoveTwice() throws Exception
29 {
30
31
32 CachedReference<Long> ref = makeReference();
33
34 assertThat(ref.get(), equalTo(100L));
35 assertThat(ref.get(), equalTo(100L));
36
37 ref.reset();
38 ref.reset();
39
40
41 assertThat(ref.get(), equalTo(101L));
42 assertThat(ref.get(), equalTo(101L));
43
44 ref.reset();
45
46
47 assertThat(ref.get(), equalTo(102L));
48 assertThat(ref.get(), equalTo(102L));
49
50 }
51
52 @Override
53 protected CacheSettingsBuilder settingsBuilder()
54 {
55 return new CacheSettingsBuilder().remote();
56 }
57 }