Clover coverage report -
Coverage timestamp: Thu Jul 5 2007 20:02:32 EDT
file stats: LOC: 217   Methods: 8
NCLOC: 174   Classes: 1
 
 Source file Conditionals Statements Methods TOTAL
EvictionConfigurationTest.java - 100% 100% 100%
coverage
 1    /*
 2    * JBoss, the OpenSource J2EE webOS
 3    *
 4    * Distributable under LGPL license.
 5    * See terms of license at gnu.org.
 6    */
 7    package org.jboss.cache.eviction;
 8   
 9    import junit.framework.TestCase;
 10    import org.jboss.cache.CacheImpl;
 11    import org.jboss.cache.DefaultCacheFactory;
 12    import org.jboss.cache.Fqn;
 13    import org.jboss.cache.Region;
 14    import org.jboss.cache.RegionManager;
 15    import org.jboss.cache.config.EvictionPolicyConfig;
 16    import org.jboss.cache.lock.IsolationLevel;
 17   
 18    /**
 19    * Unit test to test Eviction configuration types.
 20    *
 21    * @author Daniel Huang (dhuang@jboss.org)
 22    * @version $Revision: 1.17 $
 23    */
 24    public class EvictionConfigurationTest extends TestCase
 25    {
 26    CacheImpl cache;
 27    RegionManager regionManager;
 28   
 29  5 public void setUp() throws Exception
 30    {
 31  5 super.setUp();
 32    }
 33   
 34  5 public void tearDown() throws Exception
 35    {
 36  5 super.tearDown();
 37    }
 38   
 39  1 public void testPolicyPerRegion() throws Exception
 40    {
 41  1 this.setupCache("META-INF/policyPerRegion-eviction-service.xml");
 42  1 assertEquals(5, cache.getConfiguration().getEvictionConfig().getWakeupIntervalSeconds());
 43   
 44  1 Region region = regionManager.getRegion("/org/jboss/data", true);
 45  1 EvictionPolicy policy = region.getEvictionPolicy();
 46  1 EvictionPolicyConfig configuration = region.getEvictionPolicyConfig();
 47  1 assertEquals(Fqn.fromString("/org/jboss/data"), region.getFqn());
 48  1 assertTrue(policy instanceof LFUPolicy);
 49  1 assertTrue(configuration instanceof LFUConfiguration);
 50  1 assertEquals(5000, ((LFUConfiguration) configuration).getMaxNodes());
 51  1 assertEquals(1000, ((LFUConfiguration) configuration).getMinNodes());
 52   
 53  1 region = regionManager.getRegion("/org/jboss/test/data", true);
 54  1 policy = region.getEvictionPolicy();
 55  1 configuration = region.getEvictionPolicyConfig();
 56  1 assertEquals(Fqn.fromString("/org/jboss/test/data"), region.getFqn());
 57  1 assertTrue(policy instanceof FIFOPolicy);
 58  1 assertTrue(configuration instanceof FIFOConfiguration);
 59  1 assertEquals(5, ((FIFOConfiguration) configuration).getMaxNodes());
 60   
 61  1 region = regionManager.getRegion("/test", true);
 62  1 policy = region.getEvictionPolicy();
 63  1 configuration = region.getEvictionPolicyConfig();
 64  1 assertEquals(Fqn.fromString("/test"), region.getFqn());
 65  1 assertTrue(policy instanceof MRUPolicy);
 66  1 assertTrue(configuration instanceof MRUConfiguration);
 67  1 assertEquals(10000, ((MRUConfiguration) configuration).getMaxNodes());
 68   
 69  1 region = regionManager.getRegion("/maxAgeTest", true);
 70  1 policy = region.getEvictionPolicy();
 71  1 configuration = region.getEvictionPolicyConfig();
 72  1 assertEquals(Fqn.fromString("/maxAgeTest"), region.getFqn());
 73  1 assertTrue(policy instanceof LRUPolicy);
 74  1 assertTrue(configuration instanceof LRUConfiguration);
 75  1 assertEquals(10000, ((LRUConfiguration) configuration).getMaxNodes());
 76  1 assertEquals(8, ((LRUConfiguration) configuration).getTimeToLiveSeconds());
 77  1 assertEquals(10, ((LRUConfiguration) configuration).getMaxAgeSeconds());
 78   
 79    // test the default region. use a region name that isn't defined explicitly in conf file.
 80  1 region = regionManager.getRegion("/a/b/c", false);
 81  1 policy = region.getEvictionPolicy();
 82  1 configuration = region.getEvictionPolicyConfig();
 83  1 assertEquals(Fqn.ROOT, region.getFqn());
 84  1 assertTrue(policy instanceof LRUPolicy);
 85  1 assertTrue(configuration instanceof LRUConfiguration);
 86  1 assertEquals(5000, ((LRUConfiguration) configuration).getMaxNodes());
 87  1 assertEquals(1000, ((LRUConfiguration) configuration).getTimeToLiveSeconds());
 88  1 assertEquals(0, ((LRUConfiguration) configuration).getMaxAgeSeconds());
 89   
 90  1 cache.stop();
 91    }
 92   
 93  1 public void testMixedPolicies() throws Exception
 94    {
 95  1 this.setupCache("META-INF/mixedPolicy-eviction-service.xml");
 96  1 assertEquals(5, cache.getConfiguration().getEvictionConfig().getWakeupIntervalSeconds());
 97   
 98  1 Region region = regionManager.getRegion("/org/jboss/data", true);
 99  1 EvictionPolicy policy = region.getEvictionPolicy();
 100  1 EvictionPolicyConfig configuration = region.getEvictionPolicyConfig();
 101  1 assertEquals(Fqn.fromString("/org/jboss/data/"), region.getFqn());
 102  1 assertTrue(policy instanceof FIFOPolicy);
 103  1 assertTrue(configuration instanceof FIFOConfiguration);
 104  1 assertEquals(5000, ((FIFOConfiguration) configuration).getMaxNodes());
 105   
 106  1 region = regionManager.getRegion("/test", true);
 107  1 policy = region.getEvictionPolicy();
 108  1 configuration = region.getEvictionPolicyConfig();
 109  1 assertEquals(Fqn.fromString("/test/"), region.getFqn());
 110  1 assertTrue(policy instanceof MRUPolicy);
 111  1 assertTrue(configuration instanceof MRUConfiguration);
 112  1 assertEquals(10000, ((MRUConfiguration) configuration).getMaxNodes());
 113   
 114    // test the default region. use a region name that isn't defined explicitly in conf file.
 115  1 region = regionManager.getRegion("/a/b/c", false);
 116  1 policy = region.getEvictionPolicy();
 117  1 configuration = region.getEvictionPolicyConfig();
 118  1 assertEquals(Fqn.ROOT, region.getFqn());
 119  1 assertTrue(policy instanceof LRUPolicy);
 120  1 assertTrue(configuration instanceof LRUConfiguration);
 121  1 assertEquals(5000, ((LRUConfiguration) configuration).getMaxNodes());
 122  1 assertEquals(1000, ((LRUConfiguration) configuration).getTimeToLiveSeconds());
 123  1 assertEquals(0, ((LRUConfiguration) configuration).getMaxAgeSeconds());
 124   
 125  1 region = regionManager.getRegion("/maxAgeTest", false);
 126  1 policy = region.getEvictionPolicy();
 127  1 configuration = region.getEvictionPolicyConfig();
 128  1 assertEquals(Fqn.fromString("/maxAgeTest/"), region.getFqn());
 129  1 assertTrue(policy instanceof LRUPolicy);
 130  1 assertTrue(configuration instanceof LRUConfiguration);
 131  1 assertEquals(10000, ((LRUConfiguration) configuration).getMaxNodes());
 132  1 assertEquals(8, ((LRUConfiguration) configuration).getTimeToLiveSeconds());
 133  1 assertEquals(10, ((LRUConfiguration) configuration).getMaxAgeSeconds());
 134   
 135  1 cache.stop();
 136    }
 137   
 138  1 public void testLegacyPolicyConfiguration() throws Exception
 139    {
 140  1 this.setupCache("META-INF/local-lru-eviction-service.xml");
 141  1 assertEquals(5, cache.getConfiguration().getEvictionConfig().getWakeupIntervalSeconds());
 142   
 143  1 Region region = regionManager.getRegion("/org/jboss/data", false);
 144  1 EvictionPolicy policy = region.getEvictionPolicy();
 145  1 EvictionPolicyConfig configuration = region.getEvictionPolicyConfig();
 146  1 assertEquals(Fqn.fromString("/org/jboss/data/"), region.getFqn());
 147  1 assertTrue(policy instanceof LRUPolicy);
 148  1 assertTrue(configuration instanceof LRUConfiguration);
 149  1 assertEquals(5000, ((LRUConfiguration) configuration).getMaxNodes());
 150  1 assertEquals(1000, ((LRUConfiguration) configuration).getTimeToLiveSeconds());
 151   
 152  1 region = regionManager.getRegion("/org/jboss/test/data", false);
 153  1 policy = region.getEvictionPolicy();
 154  1 configuration = region.getEvictionPolicyConfig();
 155  1 assertEquals(Fqn.fromString("/org/jboss/test/data/"), region.getFqn());
 156  1 assertTrue(policy instanceof LRUPolicy);
 157  1 assertTrue(configuration instanceof LRUConfiguration);
 158  1 assertEquals(5, ((LRUConfiguration) configuration).getMaxNodes());
 159  1 assertEquals(4, ((LRUConfiguration) configuration).getTimeToLiveSeconds());
 160   
 161  1 region = regionManager.getRegion("/test", true);
 162  1 policy = region.getEvictionPolicy();
 163  1 configuration = region.getEvictionPolicyConfig();
 164  1 assertEquals(Fqn.fromString("/test/"), region.getFqn());
 165  1 assertTrue(policy instanceof LRUPolicy);
 166  1 assertTrue(configuration instanceof LRUConfiguration);
 167  1 assertEquals(10000, ((LRUConfiguration) configuration).getMaxNodes());
 168  1 assertEquals(4, ((LRUConfiguration) configuration).getTimeToLiveSeconds());
 169   
 170  1 region = regionManager.getRegion("/maxAgeTest", true);
 171  1 policy = region.getEvictionPolicy();
 172  1 configuration = region.getEvictionPolicyConfig();
 173  1 assertEquals(Fqn.fromString("/maxAgeTest/"), region.getFqn());
 174  1 assertTrue(policy instanceof LRUPolicy);
 175  1 assertTrue(configuration instanceof LRUConfiguration);
 176  1 assertEquals(10000, ((LRUConfiguration) configuration).getMaxNodes());
 177  1 assertEquals(8, ((LRUConfiguration) configuration).getTimeToLiveSeconds());
 178  1 assertEquals(10, ((LRUConfiguration) configuration).getMaxAgeSeconds());
 179   
 180    // test the default region. use a region name that isn't defined explicitly in conf file.
 181  1 region = regionManager.getRegion("/a/b/c", false);
 182  1 policy = region.getEvictionPolicy();
 183  1 configuration = region.getEvictionPolicyConfig();
 184  1 assertEquals(Fqn.ROOT, region.getFqn());
 185  1 assertTrue(policy instanceof LRUPolicy);
 186  1 assertTrue(configuration instanceof LRUConfiguration);
 187  1 assertEquals(5000, ((LRUConfiguration) configuration).getMaxNodes());
 188  1 assertEquals(1000, ((LRUConfiguration) configuration).getTimeToLiveSeconds());
 189  1 assertEquals(0, ((LRUConfiguration) configuration).getMaxAgeSeconds());
 190   
 191  1 cache.stop();
 192   
 193    }
 194   
 195  1 public void testTwoCacheInstanceConfiguration() throws Exception
 196    {
 197  1 this.setupCache("META-INF/local-lru-eviction-service.xml");
 198  1 CacheImpl cache1 = cache;
 199  1 this.setupCache("META-INF/local-lru-eviction-service.xml");
 200    }
 201   
 202  1 public void testNoEviction() throws Exception
 203    {
 204  1 cache = (CacheImpl) DefaultCacheFactory.getInstance().createCache();
 205  1 regionManager = cache.getRegionManager();
 206  1 assertEquals(0, regionManager.getAllRegions(Region.Type.ANY).size());
 207    }
 208   
 209  5 private void setupCache(String configurationName) throws Exception
 210    {
 211  5 cache = (CacheImpl) DefaultCacheFactory.getInstance().createCache(configurationName, false);
 212  5 cache.getConfiguration().setTransactionManagerLookupClass("org.jboss.cache.transaction.DummyTransactionManagerLookup");
 213  5 cache.getConfiguration().setIsolationLevel(IsolationLevel.SERIALIZABLE);
 214  5 cache.start();
 215  5 regionManager = cache.getRegionManager();
 216    }
 217    }