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();
                             }