package org.infinispan.xsite.backupfailure.tx; import static org.testng.AssertJUnit.assertNull; import static org.testng.AssertJUnit.fail; import javax.transaction.xa.XAException; import org.infinispan.test.Exceptions; import org.infinispan.xsite.AbstractTwoSitesTest; import org.infinispan.xsite.backupfailure.BaseBackupFailureTest; /** * @author Mircea Markus * @since 5.2 */ public abstract class BaseLocalClusterTxFailureTest extends AbstractTwoSitesTest { private BaseBackupFailureTest.FailureInterceptor failureInterceptor; @Override protected void createSites() { super.createSites(); failureInterceptor = new BaseBackupFailureTest.FailureInterceptor(); cache("LON", 1).getAdvancedCache().getAsyncInterceptorChain().addInterceptor(failureInterceptor, 1); } public void testPrepareFailure() { failureInterceptor.enable(); try { Exceptions.expectException(XAException.class, () -> cache("LON", 0).put("k", "v")); } finally { failureInterceptor.disable(); } assertNull(cache("LON",0).get("k")); assertNull(cache("LON",1).get("k")); assertNull(backup("LON").get("k")); } }