View Javadoc

1   package com.atlassian.cache.memory;
2   
3   import java.util.Collection;
4   
5   import com.atlassian.cache.Cache;
6   import com.atlassian.cache.CachedReference;
7   import com.atlassian.cache.ManagedCache;
8   import com.atlassian.cache.Supplier;
9   
10  import org.junit.Test;
11  
12  import static org.hamcrest.MatcherAssert.assertThat;
13  import static org.hamcrest.Matchers.emptyIterable;
14  import static org.hamcrest.Matchers.is;
15  import static org.hamcrest.Matchers.notNullValue;
16  import static org.hamcrest.Matchers.nullValue;
17  
18  public class MemoryCacheManagerTest
19  {
20      @Test
21      public void testFlushCaches()
22      {
23          MemoryCacheManager mcm = new MemoryCacheManager();
24          Cache<String, String> c = mcm.getCache("test-cache");
25          c.put("key", "value");
26  
27          mcm.flushCaches();
28          assertThat(c.getKeys().size(), is(0));
29      }
30  
31      @Test
32      public void testManagedCacheExists()
33      {
34          MemoryCacheManager mcm = new MemoryCacheManager();
35          Cache<String, String> c = mcm.getCache("test-cache");
36  
37          ManagedCache mc = mcm.getManagedCache("test-cache");
38          assertThat(mc, notNullValue());
39          assertThat(mc.getName(), is("test-cache"));
40      }
41  
42      @Test
43      public void testManagedCacheMissing()
44      {
45          MemoryCacheManager mcm = new MemoryCacheManager();
46          Cache<String, String> c = mcm.getCache("test-cache");
47  
48          ManagedCache mc = mcm.getManagedCache("unknown-cache");
49          assertThat(mc, nullValue());
50      }
51  
52      @Test
53      public void testManagedCachesEmpty()
54      {
55          MemoryCacheManager mcm = new MemoryCacheManager();
56  
57          Collection<ManagedCache> mcs = mcm.getManagedCaches();
58          assertThat(mcs, notNullValue());
59          assertThat(mcs.size(), is(0));
60          assertThat(mcs, emptyIterable());
61      }
62  
63      @Test
64      public void testManagedCachesExists()
65      {
66          MemoryCacheManager mcm = new MemoryCacheManager();
67          Cache<String, String> c = mcm.getCache("test-cache");
68  
69          Collection<ManagedCache> mcs = mcm.getManagedCaches();
70          assertThat(mcs, notNullValue());
71          assertThat(mcs.size(), is(1));
72          assertThat(mcs.iterator().next().getName(), is("test-cache"));
73      }
74  
75      @Test
76      public void testGetCaches()
77      {
78          MemoryCacheManager mcm = new MemoryCacheManager();
79          Cache<String, String> c = mcm.getCache("test-cache");
80          CachedReference<String> cref = mcm.getCachedReference("test-reference", new Supplier<String>()
81          {
82              @Override
83              public String get()
84              {
85                  return "Never called";
86              }
87          });
88  
89          Collection<Cache<?, ?>> caches = mcm.getCaches();
90          assertThat(caches, notNullValue());
91          assertThat(caches.size(), is(1));
92          assertThat(caches.iterator().next().getName(), is("test-cache"));
93      }
94  }