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-3.0 Commit: a9cbdd31d44872d5fb0831f1b883431abe4e6994 Parents: be4960a Author: randgalt <randg...@apache.org> Authored: Fri Dec 9 16:07:11 2016 +0100 Committer: randgalt <randg...@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(); }