View Javadoc

1   /***
2    *  Copyright 2003-2010 Terracotta, Inc.
3    *
4    *  Licensed under the Apache License, Version 2.0 (the "License");
5    *  you may not use this file except in compliance with the License.
6    *  You may obtain a copy of the License at
7    *
8    *      http://www.apache.org/licenses/LICENSE-2.0
9    *
10   *  Unless required by applicable law or agreed to in writing, software
11   *  distributed under the License is distributed on an "AS IS" BASIS,
12   *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13   *  See the License for the specific language governing permissions and
14   *  limitations under the License.
15   */
16  
17  package net.sf.ehcache.constructs;
18  
19  import java.util.Arrays;
20  import java.util.List;
21  
22  import junit.framework.TestCase;
23  import net.sf.ehcache.CacheManager;
24  import net.sf.ehcache.constructs.MockDecoratorFactory.MockDecoratorFactoryCache;
25  
26  import org.junit.Test;
27  import org.slf4j.Logger;
28  import org.slf4j.LoggerFactory;
29  
30  /***
31   * @author Abhishek Sanoujam
32   */
33  public class DefaultCacheDecoratorFactoryTest extends TestCase {
34  
35      private static final Logger LOG = LoggerFactory.getLogger(DefaultCacheDecoratorFactoryTest.class);
36  
37      private static final String EHCACHE_DEFAULT_DECORATOR_TEST_XML = "/ehcache-default-decorator-test.xml";
38  
39      @Test
40      public void testCacheDecoratorFactory() {
41          CacheManager cacheManager = new CacheManager(getClass().getResourceAsStream(EHCACHE_DEFAULT_DECORATOR_TEST_XML));
42          List<String> cacheNames = Arrays.asList(cacheManager.getCacheNames());
43          LOG.info("" + cacheNames);
44  
45          assertEquals(7, cacheNames.size());
46  
47          assertTrue(cacheNames.contains("noDecoratorCache"));
48          assertTrue(cacheNames.contains("noDecoratorCache-defaultDecoratorOne"));
49          assertTrue(cacheNames.contains("noDecoratorCache-defaultDecoratorTwo"));
50          assertTrue(cacheNames.contains("oneDecoratorCache"));
51          assertTrue(cacheNames.contains("oneDecoratorCacheFirst"));
52          assertTrue(cacheNames.contains("oneDecoratorCache-defaultDecoratorOne"));
53          assertTrue(cacheNames.contains("oneDecoratorCache-defaultDecoratorTwo"));
54  
55      }
56  
57      @Test
58      public void testCacheDecoratorFactoryProperties() {
59          CacheManager cacheManager = new CacheManager(getClass().getResourceAsStream(EHCACHE_DEFAULT_DECORATOR_TEST_XML));
60          List<String> cacheNames = Arrays.asList(cacheManager.getCacheNames());
61          assertEquals(7, cacheNames.size());
62  
63          MockDecoratorFactoryCache cache = (MockDecoratorFactoryCache) cacheManager.getEhcache("noDecoratorCache-defaultDecoratorOne");
64          assertEquals("defaultDecoratorOne", cache.getProperties().getProperty("someKey"));
65  
66          cache = (MockDecoratorFactoryCache) cacheManager.getEhcache("noDecoratorCache-defaultDecoratorTwo");
67          assertEquals("defaultDecoratorTwo", cache.getProperties().getProperty("someKey"));
68  
69          cache = (MockDecoratorFactoryCache) cacheManager.getEhcache("oneDecoratorCache-defaultDecoratorOne");
70          assertEquals("defaultDecoratorOne", cache.getProperties().getProperty("someKey"));
71  
72          cache = (MockDecoratorFactoryCache) cacheManager.getEhcache("oneDecoratorCache-defaultDecoratorTwo");
73          assertEquals("defaultDecoratorTwo", cache.getProperties().getProperty("someKey"));
74  
75          cache = (MockDecoratorFactoryCache) cacheManager.getEhcache("oneDecoratorCacheFirst");
76          assertEquals("oneFirst", cache.getProperties().getProperty("someKey"));
77  
78      }
79  }