[jbosscache-commits] JBoss Cache SVN: r7554 - core/trunk/src/test/java/org/jboss/cache/buddyreplication.
jbosscache-commits at lists.jboss.org
jbosscache-commits at lists.jboss.org
Wed Jan 21 05:35:20 EST 2009
Author: mircea.markus
Date: 2009-01-21 05:35:20 -0500 (Wed, 21 Jan 2009)
New Revision: 7554
Modified:
core/trunk/src/test/java/org/jboss/cache/buddyreplication/Buddy3NodesNoPoolWithDataGravitationTest.java
Log:
more strict replication controll
Modified: core/trunk/src/test/java/org/jboss/cache/buddyreplication/Buddy3NodesNoPoolWithDataGravitationTest.java
===================================================================
--- core/trunk/src/test/java/org/jboss/cache/buddyreplication/Buddy3NodesNoPoolWithDataGravitationTest.java 2009-01-20 22:04:27 UTC (rev 7553)
+++ core/trunk/src/test/java/org/jboss/cache/buddyreplication/Buddy3NodesNoPoolWithDataGravitationTest.java 2009-01-21 10:35:20 UTC (rev 7554)
@@ -2,24 +2,23 @@
import org.jboss.cache.CacheSPI;
import org.jboss.cache.Fqn;
-import org.jboss.cache.Cache;
-import org.jboss.cache.notifications.annotation.CacheListener;
+import org.jboss.cache.commands.remote.DataGravitationCleanupCommand;
+import org.jboss.cache.commands.write.PutKeyValueCommand;
import org.jboss.cache.notifications.annotation.CacheBlocked;
+import org.jboss.cache.notifications.annotation.CacheListener;
import org.jboss.cache.notifications.annotation.CacheUnblocked;
import org.jboss.cache.notifications.event.Event;
-import org.jboss.cache.commands.remote.DataGravitationCleanupCommand;
-import org.jboss.cache.commands.write.PutKeyValueCommand;
-import org.jboss.cache.util.CachePrinter;
import org.jboss.cache.util.TestingUtil;
import org.jboss.cache.util.internals.replicationlisteners.ReplicationListener;
import static org.testng.AssertJUnit.*;
-import org.testng.annotations.BeforeTest;
-import org.testng.annotations.Test;
-import org.testng.annotations.BeforeClass;
+import static org.jboss.cache.util.SingleBuddyGravitationHelper.*;
import org.testng.annotations.AfterMethod;
+import org.testng.annotations.BeforeClass;
+import org.testng.annotations.Test;
import javax.transaction.TransactionManager;
import java.util.List;
+import java.util.ArrayList;
/**
* @author Mircea.Markus at jboss.com
@@ -35,6 +34,7 @@
ReplicationListener replicationListener0;
ReplicationListener replicationListener1;
ReplicationListener replicationListener2;
+ List<ReplicationListener> listeners;
@BeforeClass
public void createCaches() throws Exception
@@ -43,7 +43,10 @@
replicationListener0 = ReplicationListener.getReplicationListener(caches.get(0));
replicationListener1 = ReplicationListener.getReplicationListener(caches.get(1));
replicationListener2 = ReplicationListener.getReplicationListener(caches.get(2));
-
+ listeners = new ArrayList<ReplicationListener>();
+ listeners.add(replicationListener0);
+ listeners.add(replicationListener1);
+ listeners.add(replicationListener2);
}
//this is needed here as tesng ignores the call from base class
@@ -73,13 +76,10 @@
assertTrue("Value be true", caches.get(1).exists(backupFqn));
assertFalse("Should be false", caches.get(2).exists(backupFqn));
- replicationListener0.expect(DataGravitationCleanupCommand.class);
- replicationListener1.expect(DataGravitationCleanupCommand.class);
-
+ inReplicationListeners(listeners).dataWillGravitateFrom(0).to(2);
// according to data gravitation, a call to *any* cache should retrieve the data, and move the data to the new cache.
assertEquals("Value should have gravitated", value, caches.get(2).get(fqn, key));
- replicationListener0.waitForReplicationToOccur();
- replicationListener1.waitForReplicationToOccur();
+ expectGravitation();
// now lets test the eviction part of gravitation
Fqn newBackupFqn = fqnTransformer.getBackupFqn(caches.get(2).getLocalAddress(), fqn);
@@ -236,11 +236,9 @@
assertNoLocks(caches);
// gravitate to 2:
- replicationListener0.expect(DataGravitationCleanupCommand.class);
- replicationListener1.expect(DataGravitationCleanupCommand.class);
- caches.get(2).getNode(fqn); // expectWithTx entire subtree to gravitate.
- replicationListener0.waitForReplicationToOccur();
- replicationListener1.waitForReplicationToOccur();
+ inReplicationListeners(listeners).dataWillGravitateFrom(0).to(2);
+ caches.get(2).getNode(fqn); // expect entire subtree to gravitate.
+ expectGravitation();
Fqn newBackupFqn = fqnTransformer.getBackupFqn(caches.get(2).getLocalAddress(), fqn);
Fqn newBackupFqn2 = fqnTransformer.getBackupFqn(caches.get(2).getLocalAddress(), fqn2);
@@ -286,11 +284,11 @@
assert second.peek(Fqn.fromRelativeElements(BuddyManager.BUDDY_BACKUP_SUBTREE_FQN, fqnTransformer.getGroupNameFromAddress(first.getLocalAddress())), false) != null : "Should have backup node for second";
assert second.peek(fqnTransformer.getBackupFqn(first.getLocalAddress(), fqn), false) != null : "Should have backup data";
- replicationListener0.expect(DataGravitationCleanupCommand.class);
+ inReplicationListeners(listeners).dataWillGravitateFrom(0).to(1);
// now do a gravitate call.
assert second.get(fqn, key).equals(value) : "Data should have gravitated!";
// gravitation cleanup calls are async.
- replicationListener0.waitForReplicationToOccur();
+ expectGravitation();
assert second.peek(fqn, false) != null : "Should have data";
assert second.peek(Fqn.fromRelativeElements(BuddyManager.BUDDY_BACKUP_SUBTREE_FQN, fqnTransformer.getGroupNameFromAddress(first.getLocalAddress())), false) != null : "Should have backup node for second";
@@ -328,12 +326,10 @@
assert buddy.peek(Fqn.fromRelativeElements(BuddyManager.BUDDY_BACKUP_SUBTREE_FQN, fqnTransformer.getGroupNameFromAddress(dataOwner.getLocalAddress())), false) != null : "Should have backup node for buddy";
assert buddy.peek(fqnTransformer.getBackupFqn(dataOwner.getLocalAddress(), fqn), false) != null : "Should have backup data";
- replicationListener0.expect(DataGravitationCleanupCommand.class);
- replicationListener1.expect(DataGravitationCleanupCommand.class);
+ inReplicationListeners(listeners).dataWillGravitateFrom(0).to(2);
// now do a gravitate call.
assert thirdInstance.get(fqn, key).equals(value) : "Data should have gravitated!";
- replicationListener0.waitForReplicationToOccur();
- replicationListener1.waitForReplicationToOccur();
+ expectGravitation();
assert thirdInstance.peek(fqn, false) != null : "Should have data";
assert thirdInstance.peek(Fqn.fromRelativeElements(BuddyManager.BUDDY_BACKUP_SUBTREE_FQN, fqnTransformer.getGroupNameFromAddress(buddy.getLocalAddress())), false) != null : "Should have backup node for buddy";
More information about the jbosscache-commits
mailing list