You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@curator.apache.org by ra...@apache.org on 2015/10/11 22:45:13 UTC
curator git commit: PEM can generate delete or data change. Tests
were only watching for delete
Repository: curator
Updated Branches:
refs/heads/CURATOR-3.0 b7cfbb64a -> 2fa711c50
PEM can generate delete or data change. Tests were only watching for delete
Project: http://git-wip-us.apache.org/repos/asf/curator/repo
Commit: http://git-wip-us.apache.org/repos/asf/curator/commit/2fa711c5
Tree: http://git-wip-us.apache.org/repos/asf/curator/tree/2fa711c5
Diff: http://git-wip-us.apache.org/repos/asf/curator/diff/2fa711c5
Branch: refs/heads/CURATOR-3.0
Commit: 2fa711c5056741c39203cb77dda05773133bcf80
Parents: b7cfbb6
Author: randgalt <ra...@apache.org>
Authored: Sun Oct 11 15:45:07 2015 -0500
Committer: randgalt <ra...@apache.org>
Committed: Sun Oct 11 15:45:07 2015 -0500
----------------------------------------------------------------------
.../nodes/TestPersistentEphemeralNode.java | 29 +++++++++++---------
1 file changed, 16 insertions(+), 13 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/curator/blob/2fa711c5/curator-recipes/src/test/java/org/apache/curator/framework/recipes/nodes/TestPersistentEphemeralNode.java
----------------------------------------------------------------------
diff --git a/curator-recipes/src/test/java/org/apache/curator/framework/recipes/nodes/TestPersistentEphemeralNode.java b/curator-recipes/src/test/java/org/apache/curator/framework/recipes/nodes/TestPersistentEphemeralNode.java
index 7b43dca..20cc028 100644
--- a/curator-recipes/src/test/java/org/apache/curator/framework/recipes/nodes/TestPersistentEphemeralNode.java
+++ b/curator-recipes/src/test/java/org/apache/curator/framework/recipes/nodes/TestPersistentEphemeralNode.java
@@ -19,6 +19,7 @@
package org.apache.curator.framework.recipes.nodes;
import com.google.common.base.Throwables;
+import com.google.common.collect.ImmutableSet;
import com.google.common.collect.Lists;
import org.apache.curator.framework.CuratorFramework;
import org.apache.curator.framework.CuratorFrameworkFactory;
@@ -50,6 +51,7 @@ import java.io.IOException;
import java.util.Arrays;
import java.util.Collection;
import java.util.List;
+import java.util.Set;
import java.util.concurrent.CountDownLatch;
import java.util.concurrent.Semaphore;
import java.util.concurrent.TimeUnit;
@@ -315,7 +317,7 @@ public class TestPersistentEphemeralNode extends BaseClassForTests
assertNodeExists(observer, node.getActualPath());
// Register a watch that will fire when the node is deleted...
- Trigger deletedTrigger = Trigger.deleted();
+ Trigger deletedTrigger = Trigger.deletedOrSetData();
observer.checkExists().usingWatcher(deletedTrigger).forPath(node.getActualPath());
node.debugCreateNodeLatch = new CountDownLatch(1);
@@ -344,7 +346,7 @@ public class TestPersistentEphemeralNode extends BaseClassForTests
node.waitForInitialCreate(5, TimeUnit.SECONDS);
assertNodeExists(observer, node.getActualPath());
- Trigger deletedTrigger = Trigger.deleted();
+ Trigger deletedTrigger = Trigger.deletedOrSetData();
observer.checkExists().usingWatcher(deletedTrigger).forPath(node.getActualPath());
node.debugCreateNodeLatch = new CountDownLatch(1);
@@ -382,8 +384,9 @@ public class TestPersistentEphemeralNode extends BaseClassForTests
// We should be able to disconnect multiple times and each time the node should be recreated.
for ( int i = 0; i < 5; i++ )
{
- Trigger deletionTrigger = Trigger.deleted();
- observer.checkExists().usingWatcher(deletionTrigger).forPath(path);
+ Trigger deletionTrigger = Trigger.deletedOrSetData();
+ Stat stat = observer.checkExists().usingWatcher(deletionTrigger).forPath(path);
+ Assert.assertNotNull(stat, "node should exist: " + path);
node.debugCreateNodeLatch = new CountDownLatch(1);
// Kill the session, thus cleaning up the node...
@@ -395,7 +398,7 @@ public class TestPersistentEphemeralNode extends BaseClassForTests
// Now put a watch in the background looking to see if it gets created...
Trigger creationTrigger = Trigger.created();
- Stat stat = observer.checkExists().usingWatcher(creationTrigger).forPath(path);
+ stat = observer.checkExists().usingWatcher(creationTrigger).forPath(path);
assertTrue(stat != null || creationTrigger.firedWithin(timing.forWaiting().seconds(), TimeUnit.SECONDS));
}
}
@@ -688,25 +691,25 @@ public class TestPersistentEphemeralNode extends BaseClassForTests
private static final class Trigger implements Watcher
{
- private final Event.EventType type;
+ private final Set<EventType> types;
private final CountDownLatch latch;
- public Trigger(Event.EventType type)
+ public Trigger(Event.EventType... types)
{
- assertNotNull(type);
+ assertNotNull(types);
- this.type = type;
+ this.types = ImmutableSet.copyOf(types);
this.latch = new CountDownLatch(1);
}
@Override
public void process(WatchedEvent event)
{
- if ( type == event.getType() )
+ if ( types.contains(event.getType()) )
{
latch.countDown();
}
- else if ( type != EventType.None )
+ else if ( event.getType() != EventType.None )
{
log.warn("Unexpected watcher event: " + event);
}
@@ -730,9 +733,9 @@ public class TestPersistentEphemeralNode extends BaseClassForTests
return new Trigger(Event.EventType.NodeCreated);
}
- private static Trigger deleted()
+ private static Trigger deletedOrSetData()
{
- return new Trigger(Event.EventType.NodeDeleted);
+ return new Trigger(Event.EventType.NodeDeleted, EventType.NodeDataChanged);
}
}
}