package org.infinispan.jcache; import static org.infinispan.test.AbstractCacheTest.getDefaultClusteredCacheConfig; import java.lang.reflect.Method; import java.net.URI; import javax.cache.Cache; import javax.inject.Inject; import org.infinispan.configuration.cache.CacheMode; import org.infinispan.jcache.annotation.InjectedCachePutInterceptor; import org.infinispan.jcache.embedded.JCache; import org.infinispan.jcache.embedded.JCacheManager; import org.infinispan.jcache.util.JCacheTestingUtil; import org.infinispan.manager.EmbeddedCacheManager; import org.infinispan.test.TestingUtil; import org.infinispan.test.fwk.TestCacheManagerFactory; import org.jboss.arquillian.container.test.api.Deployment; import org.jboss.shrinkwrap.api.ShrinkWrap; import org.jboss.shrinkwrap.api.spec.JavaArchive; import org.testng.annotations.AfterMethod; import org.testng.annotations.BeforeMethod; import org.testng.annotations.Test; /** * @author Matej Cimbora */ @Test(testName = "org.infinispan.jcache.JCacheTwoCachesAnnotationsTest", groups = "functional") public class JCacheTwoCachesAnnotationsTest extends AbstractTwoCachesAnnotationsTest { private EmbeddedCacheManager cacheManager1; private EmbeddedCacheManager cacheManager2; @Deployment public static JavaArchive createDeployment() { return ShrinkWrap.create(JavaArchive.class).addPackage(JCacheAnnotatedClass.class.getPackage()).addPackage(JCache.class.getPackage()) .addPackage(InjectedCachePutInterceptor.class.getPackage()).addPackage(CacheProducer.class.getPackage()).addPackage(JCacheTestingUtil.class.getPackage()) .addAsResource(JCacheTwoCachesAnnotationsTest.class.getResource("/beans.xml"), "beans.xml"); } @Inject private JCacheAnnotatedClass jCacheAnnotatedClass; @Override public JCacheAnnotatedClass getJCacheAnnotatedClass() { return jCacheAnnotatedClass; } @Override public Cache getCache1(Method m) { JCacheManager jCacheManager = new JCacheManager(URI.create(m.getName()), cacheManager1, null); return jCacheManager.getCache("annotation"); } @Override public Cache getCache2(Method m) { JCacheManager jCacheManager = new JCacheManager(URI.create(m.getName()), cacheManager2, null); return jCacheManager.getCache("annotation"); } @BeforeMethod public void initCacheManagers() { cacheManager1 = TestCacheManagerFactory.createClusteredCacheManager(getDefaultClusteredCacheConfig(CacheMode.DIST_SYNC)); cacheManager1.defineConfiguration("annotation", getDefaultClusteredCacheConfig(CacheMode.DIST_SYNC).build()); cacheManager2 = TestCacheManagerFactory.createClusteredCacheManager(getDefaultClusteredCacheConfig(CacheMode.DIST_SYNC)); cacheManager2.defineConfiguration("annotation", getDefaultClusteredCacheConfig(CacheMode.DIST_SYNC).build()); } @AfterMethod public void killCacheManagers() { cacheManager1.getCache("annotation", false).clear(); cacheManager2.getCache("annotation", false).clear(); TestingUtil.killCacheManagers(cacheManager1, cacheManager2); } }