package org.infinispan.api; import static org.testng.AssertJUnit.assertEquals; import static org.testng.AssertJUnit.assertNull; import org.infinispan.configuration.cache.CacheMode; import org.infinispan.test.MultipleCacheManagersTest; import org.infinispan.test.fwk.InCacheMode; import org.testng.annotations.Test; @Test (groups = "functional", testName = "api.GetOnRemovedKeyTest") @InCacheMode({ CacheMode.REPL_SYNC, CacheMode.DIST_SYNC }) public class GetOnRemovedKeyTest extends MultipleCacheManagersTest { @Override protected void createCacheManagers() throws Throwable { createCluster(getDefaultClusteredCacheConfig(cacheMode, true), 2); waitForClusterToForm(); } public void testRemoveSeenCorrectly1() throws Throwable { Object k = getKey(); cache(0).put(k, "v"); tm(0).begin(); cache(0).remove(k); assertNull(cache(0).get(k)); tm(0).commit(); assertNull(cache(0).get(k)); } public void testRemoveSeenCorrectly2() throws Throwable { Object k = getKey(); cache(0).put(k, "v"); tm(0).begin(); cache(0).remove(k); assertNull(cache(0).get(k)); tm(0).rollback(); assertEquals("v", cache(0).get(k)); } protected Object getKey() { return cacheMode.isDistributed() ? getKeyForCache(0) : "k"; } }