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 2016/12/10 14:12:54 UTC
[4/4] curator git commit: more testing
more testing
Project: http://git-wip-us.apache.org/repos/asf/curator/repo
Commit: http://git-wip-us.apache.org/repos/asf/curator/commit/a9cbdd31
Tree: http://git-wip-us.apache.org/repos/asf/curator/tree/a9cbdd31
Diff: http://git-wip-us.apache.org/repos/asf/curator/diff/a9cbdd31
Branch: refs/heads/CURATOR-351
Commit: a9cbdd31d44872d5fb0831f1b883431abe4e6994
Parents: be4960a
Author: randgalt <ra...@apache.org>
Authored: Fri Dec 9 16:07:11 2016 +0100
Committer: randgalt <ra...@apache.org>
Committed: Fri Dec 9 16:07:11 2016 +0100
----------------------------------------------------------------------
.../recipes/nodes/TestPersistentTtlNode.java | 33 +++++++++++++++++---
1 file changed, 29 insertions(+), 4 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/curator/blob/a9cbdd31/curator-recipes/src/test/java/org/apache/curator/framework/recipes/nodes/TestPersistentTtlNode.java
----------------------------------------------------------------------
diff --git a/curator-recipes/src/test/java/org/apache/curator/framework/recipes/nodes/TestPersistentTtlNode.java b/curator-recipes/src/test/java/org/apache/curator/framework/recipes/nodes/TestPersistentTtlNode.java
index be38f6e..e522103 100644
--- a/curator-recipes/src/test/java/org/apache/curator/framework/recipes/nodes/TestPersistentTtlNode.java
+++ b/curator-recipes/src/test/java/org/apache/curator/framework/recipes/nodes/TestPersistentTtlNode.java
@@ -8,6 +8,7 @@ import org.apache.curator.framework.recipes.cache.PathChildrenCacheListener;
import org.apache.curator.retry.RetryOneTime;
import org.apache.curator.test.BaseClassForTests;
import org.apache.curator.test.Timing;
+import org.apache.curator.utils.ZKPaths;
import org.testng.Assert;
import org.testng.annotations.AfterMethod;
import org.testng.annotations.BeforeMethod;
@@ -44,25 +45,49 @@ public class TestPersistentTtlNode extends BaseClassForTests
{
client.start();
- try (PersistentTtlNode node = new PersistentTtlNode(client, "/test", 10, new byte[0]))
+ try (PersistentTtlNode node = new PersistentTtlNode(client, "/test", 100, new byte[0]))
{
node.start();
node.waitForInitialCreate(timing.session(), TimeUnit.MILLISECONDS);
for ( int i = 0; i < 10; ++i )
{
- Thread.sleep(10);
+ Thread.sleep(110); // sleep a bit more than the TTL
Assert.assertNotNull(client.checkExists().forPath("/test"));
}
}
+ Assert.assertNotNull(client.checkExists().forPath("/test"));
timing.sleepABit();
-
Assert.assertNull(client.checkExists().forPath("/test"));
}
}
@Test
+ public void testForcedDeleteOfTouchNode() throws Exception
+ {
+ try (CuratorFramework client = CuratorFrameworkFactory.newClient(server.getConnectString(), new RetryOneTime(1)))
+ {
+ client.start();
+
+ try (PersistentTtlNode node = new PersistentTtlNode(client, "/test", 10, new byte[0]))
+ {
+ node.start();
+ node.waitForInitialCreate(timing.session(), TimeUnit.MILLISECONDS);
+
+ for ( int i = 0; i < 10; ++i )
+ {
+ Thread.sleep(10);
+ client.delete().quietly().forPath(ZKPaths.makePath("test", PersistentTtlNode.DEFAULT_CHILD_NODE_NAME));
+ }
+
+ timing.sleepABit();
+ Assert.assertNotNull(client.checkExists().forPath("/test"));
+ }
+ }
+ }
+
+ @Test
public void testEventsOnParent() throws Exception
{
try (CuratorFramework client = CuratorFrameworkFactory.newClient(server.getConnectString(), new RetryOneTime(1)))
@@ -79,7 +104,7 @@ public class TestPersistentTtlNode extends BaseClassForTests
@Override
public void childEvent(CuratorFramework client, PathChildrenCacheEvent event) throws Exception
{
- if ( (event.getData() != null) && "/test".equals(event.getData().getPath()) )
+ if ( (event.getType() == PathChildrenCacheEvent.Type.CHILD_UPDATED) && "/test".equals(event.getData().getPath()) )
{
changes.release();
}