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