1 package com.atlassian.cache.hazelcast;
2
3 import com.atlassian.cache.CacheSettings;
4 import com.atlassian.cache.CacheSettingsBuilder;
5 import com.atlassian.cache.CacheSettingsDefaultsProvider;
6 import com.atlassian.cache.memory.MemoryCacheManager;
7
8 import com.hazelcast.core.HazelcastInstance;
9
10 import static org.mockito.Matchers.anyString;
11 import static org.mockito.Mockito.mock;
12 import static org.mockito.Mockito.when;
13
14 public class HazelcastTestSupport
15 {
16 public static HazelcastCacheManager createDistributedFactory(HazelcastInstance node)
17 {
18 return createDistributedFactory(node, getDefaultsProvider());
19 }
20
21 public static HazelcastCacheManager createDistributedFactory(HazelcastInstance node, CacheSettings defaultSettings)
22 {
23 return createDistributedFactory(node, getDefaultsProvider(defaultSettings));
24 }
25
26 public static HazelcastCacheManager createDistributedFactory(HazelcastInstance node, CacheSettingsDefaultsProvider defaultsProvider)
27 {
28 HazelcastCacheManager cacheManager = new HazelcastCacheManager(node, new MemoryCacheManager(), defaultsProvider);
29 cacheManager.init();
30 return cacheManager;
31 }
32
33 public static CacheSettingsDefaultsProvider getDefaultsProvider()
34 {
35 return getDefaultsProvider(new CacheSettingsBuilder().build());
36 }
37
38 public static CacheSettingsDefaultsProvider getDefaultsProvider(CacheSettings defaultSettings)
39 {
40 CacheSettingsDefaultsProvider defaultsProvider = mock(CacheSettingsDefaultsProvider.class);
41 when(defaultsProvider.getDefaults(anyString())).thenReturn(defaultSettings);
42
43 return defaultsProvider;
44 }
45 }