You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@curator.apache.org by ca...@apache.org on 2014/11/04 01:11:10 UTC

[3/5] git commit: Add unit test for setting node data in InterProcessReadWriteLock.

Add unit test for setting node data in InterProcessReadWriteLock.


Project: http://git-wip-us.apache.org/repos/asf/curator/repo
Commit: http://git-wip-us.apache.org/repos/asf/curator/commit/b468f423
Tree: http://git-wip-us.apache.org/repos/asf/curator/tree/b468f423
Diff: http://git-wip-us.apache.org/repos/asf/curator/diff/b468f423

Branch: refs/heads/master
Commit: b468f42382ab2d4813137215c20de9c36ef117c1
Parents: 77a1afb
Author: Brien Wheeler <br...@Briens-MacBook-Pro.local>
Authored: Mon Nov 3 14:46:17 2014 -0500
Committer: Brien Wheeler <br...@Briens-MacBook-Pro.local>
Committed: Mon Nov 3 14:46:17 2014 -0500

----------------------------------------------------------------------
 .../locks/TestInterProcessReadWriteLock.java    | 33 ++++++++++++++++++++
 1 file changed, 33 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/curator/blob/b468f423/curator-recipes/src/test/java/org/apache/curator/framework/recipes/locks/TestInterProcessReadWriteLock.java
----------------------------------------------------------------------
diff --git a/curator-recipes/src/test/java/org/apache/curator/framework/recipes/locks/TestInterProcessReadWriteLock.java b/curator-recipes/src/test/java/org/apache/curator/framework/recipes/locks/TestInterProcessReadWriteLock.java
index 23c9eca..f7636ed 100644
--- a/curator-recipes/src/test/java/org/apache/curator/framework/recipes/locks/TestInterProcessReadWriteLock.java
+++ b/curator-recipes/src/test/java/org/apache/curator/framework/recipes/locks/TestInterProcessReadWriteLock.java
@@ -261,6 +261,39 @@ public class TestInterProcessReadWriteLock extends BaseClassForTests
         Assert.assertTrue(maxConcurrentCount.get() > 1);
     }
 
+    @Test
+    public void     testSetNodeData() throws Exception
+    {
+        CuratorFramework        client = CuratorFrameworkFactory.newClient(server.getConnectString(), new RetryOneTime(1));
+
+        try
+        {
+            client.start();
+
+            final byte[] nodeData = new byte[] { 1, 2, 3, 4 };
+
+            InterProcessReadWriteLock   lock = new InterProcessReadWriteLock(client, "/lock", nodeData);
+
+            // mutate passed-in node data, lock has made copy
+            nodeData[0] = 5;
+
+            lock.writeLock().acquire();
+
+            List<String> children = client.getChildren().forPath("/lock");
+            Assert.assertEquals(1, children.size());
+
+            byte dataInZk[] = client.getData().forPath("/lock/" + children.get(0));
+            Assert.assertNotNull(dataInZk);
+            Assert.assertEquals(new byte[] { 1, 2, 3, 4 }, dataInZk);
+
+            lock.writeLock().release();
+        }
+        finally
+        {
+            CloseableUtils.closeQuietly(client);
+        }
+    }
+
     private void doLocking(InterProcessLock lock, AtomicInteger concurrentCount, AtomicInteger maxConcurrentCount, Random random, int maxAllowed) throws Exception
     {
         try