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