1 package com.atlassian.cache.vcache;
2
3 import java.time.Duration;
4
5 import com.atlassian.cache.CacheFactory;
6 import com.atlassian.cache.memory.MemoryCacheManager;
7 import com.atlassian.vcache.ChangeRate;
8 import com.atlassian.vcache.internal.core.DefaultVCacheCreationHandler;
9 import com.atlassian.vcache.internal.core.ThreadLocalRequestContextSupplier;
10 import com.atlassian.vcache.internal.core.metrics.MetricsCollector;
11 import com.atlassian.vcache.internal.core.metrics.NoopMetricsCollector;
12 import com.atlassian.vcache.internal.legacy.LegacyVCacheService;
13
14 class TestUtils
15 {
16 private static final int MAX_ENTRIES = 100;
17 private static final Duration MAX_TTL = Duration.ofSeconds(60);
18
19 static VCacheCacheManager createCacheFactory()
20 {
21
22 final CacheFactory cacheFactory = new MemoryCacheManager(new MyCacheSettingsDefaultsProvider());
23 final ThreadLocalRequestContextSupplier requestContextSupplier =
24 new ThreadLocalRequestContextSupplier();
25 final MetricsCollector metricsCollector = new NoopMetricsCollector();
26
27 final LegacyVCacheService service = new LegacyVCacheService(
28 "confira",
29 requestContextSupplier,
30 new EmptyVCacheSettingsDefaultsProvider(),
31 new DefaultVCacheCreationHandler(
32 MAX_ENTRIES,
33 MAX_TTL,
34 MAX_ENTRIES,
35 ChangeRate.HIGH_CHANGE,
36 ChangeRate.HIGH_CHANGE),
37 metricsCollector,
38 () -> cacheFactory,
39 true);
40
41 requestContextSupplier.initThread("abcd");
42
43 return new VCacheCacheManager(service, null);
44 }
45 }