GEODE-1066: Replaced WaitCriterion with Awaitility * Awaitility is used * Correct order of creation of caches/regions/senders/recievers
Project: http://git-wip-us.apache.org/repos/asf/incubator-geode/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-geode/commit/06a74cbf Tree: http://git-wip-us.apache.org/repos/asf/incubator-geode/tree/06a74cbf Diff: http://git-wip-us.apache.org/repos/asf/incubator-geode/diff/06a74cbf Branch: refs/heads/feature/GEODE-1781 Commit: 06a74cbf4915a0ee6da6842aa07a9052e2684f3f Parents: 5da6c7e Author: nabarun <n...@pivotal.io> Authored: Mon Aug 8 12:00:22 2016 -0700 Committer: Kirk Lund <kl...@apache.org> Committed: Tue Aug 16 17:25:23 2016 -0700 ---------------------------------------------------------------------- ...rialGatewaySenderEventListenerDUnitTest.java | 66 +++++++++----------- 1 file changed, 28 insertions(+), 38 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/06a74cbf/geode-wan/src/test/java/com/gemstone/gemfire/internal/cache/wan/serial/SerialGatewaySenderEventListenerDUnitTest.java ---------------------------------------------------------------------- diff --git a/geode-wan/src/test/java/com/gemstone/gemfire/internal/cache/wan/serial/SerialGatewaySenderEventListenerDUnitTest.java b/geode-wan/src/test/java/com/gemstone/gemfire/internal/cache/wan/serial/SerialGatewaySenderEventListenerDUnitTest.java index 56d2bcc..a6a68e3 100644 --- a/geode-wan/src/test/java/com/gemstone/gemfire/internal/cache/wan/serial/SerialGatewaySenderEventListenerDUnitTest.java +++ b/geode-wan/src/test/java/com/gemstone/gemfire/internal/cache/wan/serial/SerialGatewaySenderEventListenerDUnitTest.java @@ -16,20 +16,20 @@ */ package com.gemstone.gemfire.internal.cache.wan.serial; +import com.jayway.awaitility.Awaitility; import org.junit.Ignore; import org.junit.experimental.categories.Category; import org.junit.Test; import static org.junit.Assert.*; -import com.gemstone.gemfire.test.dunit.cache.internal.JUnit4CacheTestCase; -import com.gemstone.gemfire.test.dunit.internal.JUnit4DistributedTestCase; import com.gemstone.gemfire.test.junit.categories.DistributedTest; import java.util.HashMap; import java.util.List; import java.util.Map; import java.util.Set; +import java.util.concurrent.TimeUnit; import org.junit.experimental.categories.Category; @@ -171,6 +171,12 @@ public class SerialGatewaySenderEventListenerDUnitTest extends WANTestBase { Integer nyPort = (Integer)vm1.invoke(() -> WANTestBase.createFirstRemoteLocator( 2, lnPort )); createCacheInVMs(nyPort, vm2, vm3); + + vm2.invoke(() -> WANTestBase.createReplicatedRegion( + getTestMethodName() + "_RR", null, isOffHeap() )); + vm3.invoke(() -> WANTestBase.createReplicatedRegion( + getTestMethodName() + "_RR", null, isOffHeap() )); + createReceiverInVMs(vm2, vm3); createCacheInVMs(lnPort, vm4, vm5, vm6, vm7); @@ -180,21 +186,12 @@ public class SerialGatewaySenderEventListenerDUnitTest extends WANTestBase { vm5.invoke(() -> WANTestBase.createSenderWithListener( "ln", 2, false, 100, 10, false, false, null, true, true)); - vm2.invoke(() -> WANTestBase.createReplicatedRegion( - getTestMethodName() + "_RR", null, isOffHeap() )); - vm3.invoke(() -> WANTestBase.createReplicatedRegion( - getTestMethodName() + "_RR", null, isOffHeap() )); - startSenderInVMs("ln", vm4, vm5); vm4.invoke(() -> WANTestBase.createReplicatedRegion( getTestMethodName() + "_RR", "ln", isOffHeap() )); vm5.invoke(() -> WANTestBase.createReplicatedRegion( getTestMethodName() + "_RR", "ln", isOffHeap() )); - vm6.invoke(() -> WANTestBase.createReplicatedRegion( - getTestMethodName() + "_RR", "ln", isOffHeap() )); - vm7.invoke(() -> WANTestBase.createReplicatedRegion( - getTestMethodName() + "_RR", "ln", isOffHeap() )); final Map keyValues = new HashMap(); for(int i=0; i< 1000; i++) { @@ -359,35 +356,28 @@ public class SerialGatewaySenderEventListenerDUnitTest extends WANTestBase { if(listeners.size() == 2) { final AsyncEventListener l1 = listeners.get(0); final AsyncEventListener l2 = listeners.get(1); - - WaitCriterion wc = new WaitCriterion() { - Map listenerMap1, listenerMap2; - public boolean done() { - listenerMap1 = ((MyGatewaySenderEventListener)l1) - .getEventsMap(); - - listenerMap2 = ((MyGatewaySenderEventListener2)l2) + Awaitility.await().atMost(60000, TimeUnit.MILLISECONDS).until(()->{ + Map listenerMap1 = ((MyGatewaySenderEventListener)l1) .getEventsMap(); - - boolean sizeCorrect = map.size() == listenerMap1.size(); - boolean keySetCorrect = listenerMap1.keySet().containsAll(map.keySet()); - boolean valuesCorrect = listenerMap1.values().containsAll(map.values()); - - boolean sizeCorrect2 = map.size() == listenerMap2.size(); - boolean keySetCorrect2 = listenerMap2.keySet().containsAll(map.keySet()); - boolean valuesCorrect2 = listenerMap2.values().containsAll(map.values()); - - - return sizeCorrect && keySetCorrect && valuesCorrect && sizeCorrect2 && keySetCorrect2 && valuesCorrect2; - } - public String description() { - return "Waiting for all sites to get updated, the sizes are " - + listenerMap1.size() + " and listenerMap2 " - + listenerMap2.size() + " expected map size " + map.size(); - } - }; - Wait.waitForCriterion(wc, 60000, 500, true); + Map listenerMap2 = ((MyGatewaySenderEventListener2)l2) + .getEventsMap(); + int listener1MapSize = listenerMap1.size(); + int listener2MapSize = listenerMap1.size(); + int expectedMapSize = map.size(); + boolean sizeCorrect = expectedMapSize == listener1MapSize; + boolean keySetCorrect = listenerMap1.keySet().containsAll(map.keySet()); + boolean valuesCorrect = listenerMap1.values().containsAll(map.values()); + + boolean sizeCorrect2 = expectedMapSize== listener2MapSize; + boolean keySetCorrect2 = listenerMap2.keySet().containsAll(map.keySet()); + boolean valuesCorrect2 = listenerMap2.values().containsAll(map.values()); + + assertEquals("Failed while waiting for all sites to get updated with the correct events. \nThe " + + "size of listener 1's map = "+ listener1MapSize + "\n The size of listener 2's map = " + + ""+ listener2MapSize + "\n The expected map size =" + expectedMapSize , + true, sizeCorrect && keySetCorrect && valuesCorrect && sizeCorrect2 && keySetCorrect2 && valuesCorrect2); + }); } } }