1 package org.apache.commons.jcs3.engine.control;
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22 import java.util.Properties;
23
24 import junit.framework.TestCase;
25
26 import org.apache.commons.jcs3.auxiliary.MockAuxiliaryCache;
27 import org.apache.commons.jcs3.auxiliary.MockAuxiliaryCacheAttributes;
28 import org.apache.commons.jcs3.auxiliary.MockAuxiliaryCacheFactory;
29 import org.apache.commons.jcs3.engine.logging.MockCacheEventLogger;
30 import org.apache.commons.jcs3.auxiliary.AuxiliaryCache;
31 import org.apache.commons.jcs3.auxiliary.AuxiliaryCacheConfigurator;
32
33
34 public class CompositeCacheConfiguratorUnitTest
35 extends TestCase
36 {
37
38
39
40 public void testParseAuxiliary_CacheEventLogger_Normal()
41 {
42
43 final String regionName = "MyRegion";
44
45 final String auxName = "MockAux";
46 final String auxPrefix = CompositeCacheConfigurator.AUXILIARY_PREFIX + auxName;
47 final String auxiliaryClassName = MockAuxiliaryCacheFactory.class.getName();
48 final String eventLoggerClassName = MockCacheEventLogger.class.getName();
49 final String auxiliaryAttributeClassName = MockAuxiliaryCacheAttributes.class.getName();
50
51 final Properties props = new Properties();
52 props.put( auxPrefix, auxiliaryClassName );
53 props.put( auxPrefix + CompositeCacheConfigurator.ATTRIBUTE_PREFIX, auxiliaryAttributeClassName );
54 props.put( auxPrefix + AuxiliaryCacheConfigurator.CACHE_EVENT_LOGGER_PREFIX, eventLoggerClassName );
55
56
57
58 final CompositeCacheManager manager = CompositeCacheManager.getUnconfiguredInstance();
59 final CompositeCacheConfigurator configurator = new CompositeCacheConfigurator();
60
61
62 final AuxiliaryCache<String, String> aux = configurator.parseAuxiliary( props, manager, auxName, regionName );
63 final MockAuxiliaryCache<String, String> result = (MockAuxiliaryCache<String, String>)aux;
64
65
66 assertNotNull( "Should have an auxcache.", result );
67 assertNotNull( "Should have an event logger.", result.getCacheEventLogger() );
68 }
69
70
71
72
73 public void testParseSpoolChunkSize_Normal()
74 {
75
76 final String regionName = "MyRegion";
77 final int chunkSize = 5;
78
79 final Properties props = new Properties();
80 props.put( "jcs.default", "" );
81 props.put( "jcs.default.cacheattributes.SpoolChunkSize", String.valueOf( chunkSize ) );
82
83 final CompositeCacheManager manager = CompositeCacheManager.getUnconfiguredInstance();
84
85
86 manager.configure( props );
87
88
89 final CompositeCache<String, String> cache = manager.getCache( regionName );
90 assertEquals( "Wrong chunkSize", cache.getCacheAttributes().getSpoolChunkSize(), chunkSize );
91 }
92 }