package org.infinispan.api; import static org.infinispan.distribution.DistributionTestHelper.getFirstNonOwner; import static org.infinispan.distribution.DistributionTestHelper.getFirstOwner; import static org.testng.AssertJUnit.assertNotNull; import static org.testng.internal.junit.ArrayAsserts.assertArrayEquals; import org.infinispan.Cache; import org.infinispan.configuration.cache.CacheMode; import org.infinispan.configuration.cache.ConfigurationBuilder; import org.infinispan.container.entries.CacheEntry; import org.infinispan.test.MultipleCacheManagersTest; import org.testng.annotations.Test; @Test(groups = "functional", testName = "api.MetadataAPIDistTest") public class MetadataAPIDistTest extends MultipleCacheManagersTest { @Override protected void createCacheManagers() throws Throwable { ConfigurationBuilder builder = getDefaultClusteredCacheConfig(CacheMode.DIST_SYNC); builder.clustering().hash().numOwners(1); createCluster(builder, 2); waitForClusterToForm(); } public void testGetCacheEntryNonOwner() { byte[] key = {1, 2, 3}; Cache<byte[], byte[]> owner = getFirstOwner(key, this.<byte[], byte[]>caches()); Cache<byte[], byte[]> nonOwner = getFirstNonOwner(key, this.<byte[], byte[]>caches()); owner.put(key, new byte[]{4, 5, 6}); assertArrayEquals(new byte[]{4, 5, 6}, owner.get(key)); CacheEntry cacheEntry = nonOwner.getAdvancedCache().getCacheEntry(key); assertNotNull(cacheEntry); assertArrayEquals(new byte[]{4, 5, 6}, (byte[]) cacheEntry.getValue()); } }