View Javadoc

1   package com.atlassian.vcache.internal.core.metrics;
2   
3   import com.atlassian.vcache.JvmCache;
4   import com.atlassian.vcache.LocalCacheOperations;
5   import org.junit.Before;
6   import org.junit.Test;
7   import org.junit.runner.RunWith;
8   import org.mockito.Mock;
9   import org.mockito.runners.MockitoJUnitRunner;
10  
11  import java.util.HashSet;
12  import java.util.Set;
13  
14  import static com.atlassian.vcache.internal.MetricLabel.TIMED_GET_KEYS_CALL;
15  import static org.hamcrest.Matchers.equalTo;
16  import static org.junit.Assert.assertThat;
17  import static org.mockito.Matchers.anyLong;
18  import static org.mockito.Matchers.eq;
19  import static org.mockito.Mockito.verify;
20  import static org.mockito.Mockito.verifyNoMoreInteractions;
21  import static org.mockito.Mockito.when;
22  
23  @RunWith(MockitoJUnitRunner.class)
24  public class TimedJvmCacheTest extends TimedLocalCacheOperationsTest {
25      @Mock
26      private JvmCache<String, String> delegate;
27  
28      private TimedJvmCache<String, String> timed;
29  
30      @Before
31      public void init() {
32          when(delegate.getName()).thenReturn(CACHE_NAME);
33          timed = new TimedJvmCache<>(delegate, metricsRecorder);
34      }
35  
36  
37      @Override
38      protected CacheType getCacheType() {
39          return CacheType.JVM;
40      }
41  
42      @Override
43      protected LocalCacheOperations<String, String> getDelegateOps() {
44          return delegate;
45      }
46  
47      @Override
48      protected TimedLocalCacheOperations<String, String> getTimed() {
49          return timed;
50      }
51  
52      @Test
53      public void getKeys() throws Exception {
54          final Set<String> result = new HashSet<>();
55          when(delegate.getKeys()).thenReturn(result);
56  
57          final Set<String> passedResult = timed.getKeys();
58  
59          assertThat(passedResult, equalTo(result));
60  
61          verify(metricsRecorder).record(eq(CACHE_NAME), eq(getCacheType()), eq(TIMED_GET_KEYS_CALL), anyLong());
62          verifyNoMoreInteractions(metricsRecorder);
63      }
64  }