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/05/19 19:02:26 UTC

[11/35] curator git commit: more tests, fixes

more tests, fixes


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

Branch: refs/heads/CURATOR-3.0
Commit: 4e667686332fe43114b7e093569a988a1a85c819
Parents: 734f453
Author: randgalt <ra...@apache.org>
Authored: Mon May 2 23:36:48 2016 -0500
Committer: randgalt <ra...@apache.org>
Committed: Mon May 2 23:36:48 2016 -0500

----------------------------------------------------------------------
 .../apache/curator/framework/schema/Schema.java |  6 ++--
 .../curator/framework/schema/SchemaSet.java     |  2 +-
 .../curator/framework/imps/TestSchema.java      | 38 +++++++++++++++++++-
 .../src/test/resources/schema2.json             | 17 +++++++++
 4 files changed, 58 insertions(+), 5 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/curator/blob/4e667686/curator-framework/src/main/java/org/apache/curator/framework/schema/Schema.java
----------------------------------------------------------------------
diff --git a/curator-framework/src/main/java/org/apache/curator/framework/schema/Schema.java b/curator-framework/src/main/java/org/apache/curator/framework/schema/Schema.java
index 7cb9d76..1f91397 100644
--- a/curator-framework/src/main/java/org/apache/curator/framework/schema/Schema.java
+++ b/curator-framework/src/main/java/org/apache/curator/framework/schema/Schema.java
@@ -200,10 +200,10 @@ public class Schema
 
     public String toDocumentation()
     {
-        return pathRegex.pattern() + '\n'
-            + documentation + '\n'
+        return "Path: " + getRawPath() + '\n'
+            + "Documentation: " + documentation + '\n'
             + "Validator: " + dataValidator.getClass().getSimpleName() + '\n'
-            + String.format("ephemeral: %s | sequential: %s | watched: %s | | canBeDeleted: %s", ephemeral, sequential, watched, canBeDeleted) + '\n'
+            + String.format("ephemeral: %s | sequential: %s | watched: %s | canBeDeleted: %s", ephemeral, sequential, watched, canBeDeleted) + '\n'
             ;
     }
 }

http://git-wip-us.apache.org/repos/asf/curator/blob/4e667686/curator-framework/src/main/java/org/apache/curator/framework/schema/SchemaSet.java
----------------------------------------------------------------------
diff --git a/curator-framework/src/main/java/org/apache/curator/framework/schema/SchemaSet.java b/curator-framework/src/main/java/org/apache/curator/framework/schema/SchemaSet.java
index 768f6c6..ff650f5 100644
--- a/curator-framework/src/main/java/org/apache/curator/framework/schema/SchemaSet.java
+++ b/curator-framework/src/main/java/org/apache/curator/framework/schema/SchemaSet.java
@@ -136,7 +136,7 @@ public class SchemaSet
         StringBuilder str = new StringBuilder("Curator Schemas:\n\n");
         for ( Map.Entry<SchemaKey, Schema> schemaEntry : schemas.entrySet() )
         {
-            str.append(schemaEntry.getKey()).append('\n').append(schemaEntry.getValue()).append('\n');
+            str.append(schemaEntry.getKey()).append('\n').append(schemaEntry.getValue().toDocumentation()).append('\n');
         }
         return str.toString();
     }

http://git-wip-us.apache.org/repos/asf/curator/blob/4e667686/curator-framework/src/test/java/org/apache/curator/framework/imps/TestSchema.java
----------------------------------------------------------------------
diff --git a/curator-framework/src/test/java/org/apache/curator/framework/imps/TestSchema.java b/curator-framework/src/test/java/org/apache/curator/framework/imps/TestSchema.java
index a55ad8e..9359fff 100644
--- a/curator-framework/src/test/java/org/apache/curator/framework/imps/TestSchema.java
+++ b/curator-framework/src/test/java/org/apache/curator/framework/imps/TestSchema.java
@@ -4,6 +4,7 @@ import com.google.common.base.Charsets;
 import com.google.common.io.Resources;
 import org.apache.curator.framework.CuratorFramework;
 import org.apache.curator.framework.CuratorFrameworkFactory;
+import org.apache.curator.framework.schema.SchemaKey;
 import org.apache.curator.framework.schema.SchemaSet;
 import org.apache.curator.framework.schema.SchemaSetLoader;
 import org.apache.curator.framework.schema.SchemaViolation;
@@ -28,7 +29,7 @@ public class TestSchema extends BaseClassForTests
 
             try
             {
-                client.create().creatingParentsIfNeeded().forPath("/a/b/c");
+                client.create().creatingParentsIfNeeded().forPath(schemaSet.getNamedSchema(SchemaKey.named("test")).getRawPath());
                 Assert.fail("Should've violated schema");
             }
             catch ( SchemaViolation dummy )
@@ -44,6 +45,41 @@ public class TestSchema extends BaseClassForTests
         }
     }
 
+    @Test
+    public void testMulti() throws Exception
+    {
+        SchemaSet schemaSet = loadSchemaSet("schema2.json");
+        CuratorFramework client = newClient(schemaSet);
+        try
+        {
+            client.start();
+
+            try
+            {
+                client.create().creatingParentsIfNeeded().forPath("/a/b/c");
+                Assert.fail("Should've violated schema: test");
+            }
+            catch ( SchemaViolation dummy )
+            {
+                // expected
+            }
+
+            try
+            {
+                client.create().creatingParentsIfNeeded().withMode(CreateMode.EPHEMERAL).forPath("/a/b/c/d/e");
+                Assert.fail("Should've violated schema: test2");
+            }
+            catch ( SchemaViolation dummy )
+            {
+                // expected
+            }
+        }
+        finally
+        {
+            CloseableUtils.closeQuietly(client);
+        }
+    }
+
     private CuratorFramework newClient(SchemaSet schemaSet)
     {
         return CuratorFrameworkFactory.builder()

http://git-wip-us.apache.org/repos/asf/curator/blob/4e667686/curator-framework/src/test/resources/schema2.json
----------------------------------------------------------------------
diff --git a/curator-framework/src/test/resources/schema2.json b/curator-framework/src/test/resources/schema2.json
new file mode 100644
index 0000000..28a9a92
--- /dev/null
+++ b/curator-framework/src/test/resources/schema2.json
@@ -0,0 +1,17 @@
+[
+  {
+    "name": "test",
+    "path": "/a/b/c",
+    "documentation": "This is a schema",
+    "ephemeral": "must",
+    "sequential": "cannot"
+  },
+
+  {
+    "name": "test2",
+    "path": "/a/.*",
+    "isRegex": true,
+    "ephemeral": "cannot",
+    "canBeDeleted": false
+  }
+]
\ No newline at end of file