package org.infinispan.remoting.jgroups; import static org.testng.AssertJUnit.fail; import java.io.ByteArrayInputStream; import org.infinispan.commons.CacheConfigurationException; import org.infinispan.manager.DefaultCacheManager; import org.infinispan.manager.EmbeddedCacheManager; import org.infinispan.test.AbstractInfinispanTest; import org.infinispan.test.TestingUtil; import org.infinispan.test.TestingUtil.InfinispanStartTag; import org.testng.annotations.Test; @Test(testName = "remoting.jgroups.NonExistingJGroupsConfigTest", groups = "functional") public class NonExistingJGroupsConfigTest extends AbstractInfinispanTest { public void channelLookupTest() throws Throwable { String config = InfinispanStartTag.LATEST + "<jgroups>\n" + " <stack-file name=\"dummy\" path=\"nosuchfile.xml\"/>\n" + "</jgroups>\n" + "<cache-container default-cache=\"default\">" + " <jmx domain=\"NonExistingJGroupsConfigTest_channelLookupTest\" />\n" + " <transport stack=\"dummy\" cluster=\"demoCluster\" />\n" + " <replicated-cache name=\"default\" />\n" + "</cache-container>" + TestingUtil.INFINISPAN_END_TAG; EmbeddedCacheManager cm = null; try { cm = new DefaultCacheManager(new ByteArrayInputStream(config.getBytes())); cm.getCache(); fail("CacheManager construction should have failed"); } catch (Exception e) { TestingUtil.expectCause(e, CacheConfigurationException.class, "ISPN000365:.*"); } finally { TestingUtil.killCacheManagers(cm); } } public void brokenJGroupsConfigTest() throws Throwable { String config = InfinispanStartTag.LATEST + "<jgroups>\n" + " <stack-file name=\"dummy\" path=\"stacks/broken-tcp.xml\"/>\n" + "</jgroups>\n" + "<cache-container default-cache=\"default\">" + " <jmx domain=\"NonExistingJGroupsConfigTest_brokenJGroupsConfigTest\" />\n" + " <transport stack=\"dummy\" cluster=\"demoCluster\" />\n" + " <replicated-cache name=\"default\" />\n" + "</cache-container>" + TestingUtil.INFINISPAN_END_TAG; EmbeddedCacheManager cm = null; try { cm = new DefaultCacheManager(new ByteArrayInputStream(config.getBytes())); cm.getCache(); fail("CacheManager construction should have failed"); } catch (Exception e) { TestingUtil.expectCause(e, CacheConfigurationException.class, "ISPN000085:.*"); } finally { TestingUtil.killCacheManagers(cm); } } }