View Javadoc

1   package com.atlassian.vcache.internal.guava;
2   
3   import com.atlassian.vcache.ChangeRate;
4   import com.atlassian.vcache.VCacheFactory;
5   import com.atlassian.vcache.internal.RequestContext;
6   import com.atlassian.vcache.internal.VCacheLifecycleManager;
7   import com.atlassian.vcache.internal.VCacheManagement;
8   import com.atlassian.vcache.internal.core.DefaultVCacheCreationHandler;
9   import com.atlassian.vcache.internal.core.metrics.DefaultMetricsCollector;
10  import com.atlassian.vcache.internal.core.metrics.MetricsCollector;
11  import com.atlassian.vcache.internal.test.AbstractVCacheServiceIT;
12  import com.atlassian.vcache.internal.test.EmptyVCacheSettingsDefaultsProvider;
13  import com.atlassian.vcache.internal.test.ThreadLocalRequestContextSupplier;
14  import org.junit.After;
15  import org.junit.Before;
16  
17  public class GuavaVCacheServiceIT extends AbstractVCacheServiceIT {
18      private final ThreadLocalRequestContextSupplier requestContextSupplier =
19              ThreadLocalRequestContextSupplier.strictSupplier();
20      private final MetricsCollector metricsCollector = new DefaultMetricsCollector(requestContextSupplier);
21  
22      private GuavaVCacheService service = new GuavaVCacheService(
23              "confira",
24              requestContextSupplier,
25              requestContextSupplier,
26              new EmptyVCacheSettingsDefaultsProvider(),
27              new DefaultVCacheCreationHandler(
28                      MAX_ENTRIES,
29                      MAX_TTL,
30                      MAX_ENTRIES,
31                      ChangeRate.HIGH_CHANGE,
32                      ChangeRate.HIGH_CHANGE),
33              metricsCollector,
34              new GuavaServiceSettingsBuilder().enableSerializationHack().build(),
35              begunTxnActivityHandler);
36  
37      @Override
38      protected VCacheFactory vCacheFactory() {
39          return service;
40      }
41  
42      @Override
43      protected VCacheManagement vCacheManagement() {
44          return service;
45      }
46  
47      @Override
48      protected VCacheLifecycleManager vCacheLifecycleManager() {
49          return service;
50      }
51  
52      @Override
53      protected RequestContext currentRequestContext() {
54          return requestContextSupplier.get();
55      }
56  
57      @Override
58      protected void forceNewRequestContext() {
59          clearThread();
60          initThread();
61      }
62  
63      @Before
64      public void initThread() {
65          requestContextSupplier.initThread("tenant-123");
66      }
67  
68      @After
69      public void clearThread() {
70          requestContextSupplier.clearThread();
71      }
72  }