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 2017/07/18 13:16:38 UTC

[16/23] curator git commit: more tests

more tests


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

Branch: refs/heads/master
Commit: 75118e43b165d2e99a432161cee6a3dab55e3e4e
Parents: f7e728b
Author: randgalt <ra...@apache.org>
Authored: Fri Jul 14 17:15:32 2017 -0500
Committer: randgalt <ra...@apache.org>
Committed: Fri Jul 14 17:15:32 2017 -0500

----------------------------------------------------------------------
 .../async/migrations/TestMigrationManager.java  | 50 ++++++++++++++++++--
 1 file changed, 46 insertions(+), 4 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/curator/blob/75118e43/curator-x-async/src/test/java/org/apache/curator/x/async/migrations/TestMigrationManager.java
----------------------------------------------------------------------
diff --git a/curator-x-async/src/test/java/org/apache/curator/x/async/migrations/TestMigrationManager.java b/curator-x-async/src/test/java/org/apache/curator/x/async/migrations/TestMigrationManager.java
index 3522911..80a03bb 100644
--- a/curator-x-async/src/test/java/org/apache/curator/x/async/migrations/TestMigrationManager.java
+++ b/curator-x-async/src/test/java/org/apache/curator/x/async/migrations/TestMigrationManager.java
@@ -33,6 +33,7 @@ import org.apache.curator.x.async.modeled.JacksonModelSerializer;
 import org.apache.curator.x.async.modeled.ModelSpec;
 import org.apache.curator.x.async.modeled.ModeledFramework;
 import org.apache.curator.x.async.modeled.ZPath;
+import org.apache.zookeeper.KeeperException;
 import org.testng.Assert;
 import org.testng.annotations.AfterMethod;
 import org.testng.annotations.BeforeMethod;
@@ -94,7 +95,7 @@ public class TestMigrationManager extends CompletableBaseClassForTests
     }
 
     @Test
-    public void testBasic() throws Exception
+    public void testBasic()
     {
         Migration m1 = () -> Arrays.asList(v1opA, v1opB);
         Migration m2 = () -> Collections.singletonList(v2op);
@@ -116,7 +117,7 @@ public class TestMigrationManager extends CompletableBaseClassForTests
     }
 
     @Test
-    public void testStaged() throws Exception
+    public void testStaged()
     {
         Migration m1 = () -> Arrays.asList(v1opA, v1opB);
         MigrationSet migrationSet = MigrationSet.build("1", Collections.singletonList(m1));
@@ -174,7 +175,7 @@ public class TestMigrationManager extends CompletableBaseClassForTests
     }
 
     @Test
-    public void testChecksumDataError() throws Exception
+    public void testChecksumDataError()
     {
         CuratorOp op1 = client.transactionOp().create().forPath("/test");
         CuratorOp op2 = client.transactionOp().create().forPath("/test/bar", "first".getBytes());
@@ -197,7 +198,7 @@ public class TestMigrationManager extends CompletableBaseClassForTests
     }
 
     @Test
-    public void testChecksumPathError() throws Exception
+    public void testChecksumPathError()
     {
         CuratorOp op1 = client.transactionOp().create().forPath("/test2");
         CuratorOp op2 = client.transactionOp().create().forPath("/test2/bar");
@@ -218,4 +219,45 @@ public class TestMigrationManager extends CompletableBaseClassForTests
             Assert.assertTrue(Throwables.getRootCause(e) instanceof MigrationException);
         }
     }
+
+    @Test
+    public void testPartialApplyForBadOps() throws Exception
+    {
+        CuratorOp op1 = client.transactionOp().create().forPath("/test", "something".getBytes());
+        CuratorOp op2 = client.transactionOp().create().forPath("/a/b/c");
+        Migration m1 = () -> Collections.singletonList(op1);
+        Migration m2 = () -> Collections.singletonList(op2);
+        MigrationSet migrationSet = MigrationSet.build("1", Arrays.asList(m1, m2));
+        try
+        {
+            complete(manager.migrate(migrationSet));
+            Assert.fail("Should throw");
+        }
+        catch ( Throwable e )
+        {
+            Assert.assertTrue(Throwables.getRootCause(e) instanceof KeeperException.NoNodeException);
+        }
+
+        Assert.assertEquals(client.unwrap().getData().forPath("/test"), "something".getBytes());
+    }
+
+    @Test
+    public void testTransactionForBadOps() throws Exception
+    {
+        CuratorOp op1 = client.transactionOp().create().forPath("/test2", "something".getBytes());
+        CuratorOp op2 = client.transactionOp().create().forPath("/a/b/c/d");
+        Migration migration = () -> Arrays.asList(op1, op2);
+        MigrationSet migrationSet = MigrationSet.build("1", Collections.singletonList(migration));
+        try
+        {
+            complete(manager.migrate(migrationSet));
+            Assert.fail("Should throw");
+        }
+        catch ( Throwable e )
+        {
+            Assert.assertTrue(Throwables.getRootCause(e) instanceof KeeperException.NoNodeException);
+        }
+
+        Assert.assertNull(client.unwrap().checkExists().forPath("/test"));
+    }
 }