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