You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@jackrabbit.apache.org by st...@apache.org on 2011/12/08 15:25:17 UTC

svn commit: r1211906 - in /jackrabbit/sandbox/jackrabbit-mk/jackrabbit-spi2microkernel/src/test/java/org/apache/jackrabbit/spi2microkernel: MicrokernelTest.java RepositoryTest.java

Author: stefan
Date: Thu Dec  8 14:25:17 2011
New Revision: 1211906

URL: http://svn.apache.org/viewvc?rev=1211906&view=rev
Log:
some test cases fail with mongodb-backed mk because they assume an empty repo

Modified:
    jackrabbit/sandbox/jackrabbit-mk/jackrabbit-spi2microkernel/src/test/java/org/apache/jackrabbit/spi2microkernel/MicrokernelTest.java
    jackrabbit/sandbox/jackrabbit-mk/jackrabbit-spi2microkernel/src/test/java/org/apache/jackrabbit/spi2microkernel/RepositoryTest.java

Modified: jackrabbit/sandbox/jackrabbit-mk/jackrabbit-spi2microkernel/src/test/java/org/apache/jackrabbit/spi2microkernel/MicrokernelTest.java
URL: http://svn.apache.org/viewvc/jackrabbit/sandbox/jackrabbit-mk/jackrabbit-spi2microkernel/src/test/java/org/apache/jackrabbit/spi2microkernel/MicrokernelTest.java?rev=1211906&r1=1211905&r2=1211906&view=diff
==============================================================================
--- jackrabbit/sandbox/jackrabbit-mk/jackrabbit-spi2microkernel/src/test/java/org/apache/jackrabbit/spi2microkernel/MicrokernelTest.java (original)
+++ jackrabbit/sandbox/jackrabbit-mk/jackrabbit-spi2microkernel/src/test/java/org/apache/jackrabbit/spi2microkernel/MicrokernelTest.java Thu Dec  8 14:25:17 2011
@@ -23,7 +23,10 @@ import junit.framework.Assert;
 import org.apache.jackrabbit.mk.MicroKernelFactory;
 import org.apache.jackrabbit.mk.api.MicroKernel;
 import org.apache.jackrabbit.mk.api.MicroKernelException;
+import org.apache.jackrabbit.spi2microkernel.json.DefaultJsonTokenizer;
 import org.apache.jackrabbit.spi2microkernel.json.FullJsonParser;
+import org.apache.jackrabbit.spi2microkernel.json.JsonHandler;
+import org.apache.jackrabbit.spi2microkernel.json.JsonParser;
 import org.apache.jackrabbit.spi2microkernel.json.JsonTokenizer;
 import org.apache.jackrabbit.spi2microkernel.json.JsonValue;
 import org.apache.jackrabbit.spi2microkernel.json.JsonValue.JsonArray;
@@ -40,6 +43,8 @@ import org.junit.Ignore;
 import org.junit.Test;
 
 import java.io.IOException;
+import java.util.ArrayList;
+import java.util.List;
 
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertFalse;
@@ -56,15 +61,42 @@ public class MicrokernelTest {
     @Before
     public void setup() {
         MicroKernel mk = getMicroKernel();
-        String head = mk.getHeadRevision();
+        // clean all existing content
+        String result = mk.getNodes("/", mk.getHeadRevision(), 0, 0, -1);
+        final List<String> names = new ArrayList<String>();
+        new JsonParser(new JsonHandler() {
+
+            public void atom(Token key, Token value) {
+                if (key.text().charAt(0) != ':') {
+                    names.add(key.text());
+                }
+            }
 
-        if (!mk.nodeExists("/test", head)) {
-            mk.commit("/", "+\"test\" : {" +
-                "\"stringProp\":\"stringVal\"," +
-                "\"intProp\":42," +
-                "\"floatProp\":42.2," +
-                "\"multiIntProp\":[1,2,3]} ", head, "");
+            public void object(JsonParser parser, Token key, JsonTokenizer tokenizer) {
+                super.object(parser, key, tokenizer);
+                names.add(key.text());
+            }
+
+            public void array(JsonParser parser, Token key, JsonTokenizer tokenizer) {
+                super.array(parser, key, tokenizer);
+                // don't care
+            }
+        }).parseObject(new DefaultJsonTokenizer(result));
+
+        if (!names.isEmpty()) {
+            StringBuilder buf = new StringBuilder();
+            for (String name : names) {
+                buf.append("- \"").append(name).append("\"\n");
+            }
+            mk.commit("/", buf.toString(), mk.getHeadRevision(), null);
         }
+
+        String head = mk.getHeadRevision();
+        mk.commit("/", "+\"test\" : {" +
+            "\"stringProp\":\"stringVal\"," +
+            "\"intProp\":42," +
+            "\"floatProp\":42.2," +
+            "\"multiIntProp\":[1,2,3]} ", head, "");
     }
 
     @After

Modified: jackrabbit/sandbox/jackrabbit-mk/jackrabbit-spi2microkernel/src/test/java/org/apache/jackrabbit/spi2microkernel/RepositoryTest.java
URL: http://svn.apache.org/viewvc/jackrabbit/sandbox/jackrabbit-mk/jackrabbit-spi2microkernel/src/test/java/org/apache/jackrabbit/spi2microkernel/RepositoryTest.java?rev=1211906&r1=1211905&r2=1211906&view=diff
==============================================================================
--- jackrabbit/sandbox/jackrabbit-mk/jackrabbit-spi2microkernel/src/test/java/org/apache/jackrabbit/spi2microkernel/RepositoryTest.java (original)
+++ jackrabbit/sandbox/jackrabbit-mk/jackrabbit-spi2microkernel/src/test/java/org/apache/jackrabbit/spi2microkernel/RepositoryTest.java Thu Dec  8 14:25:17 2011
@@ -23,6 +23,11 @@ import org.apache.jackrabbit.mk.api.Micr
 import org.apache.jackrabbit.mk.json.JsonBuilder;
 import org.apache.jackrabbit.spi.commons.name.NameConstants;
 import org.apache.jackrabbit.spi.commons.util.Arrays;
+import org.apache.jackrabbit.spi2microkernel.json.DefaultJsonTokenizer;
+import org.apache.jackrabbit.spi2microkernel.json.JsonHandler;
+import org.apache.jackrabbit.spi2microkernel.json.JsonParser;
+import org.apache.jackrabbit.spi2microkernel.json.JsonTokenizer;
+import org.apache.jackrabbit.spi2microkernel.json.Token;
 import org.apache.jackrabbit.spi2microkernel.util.Loop;
 import org.apache.jackrabbit.spi2microkernel.util.NumberStream;
 import org.junit.After;
@@ -105,6 +110,36 @@ public class RepositoryTest {
             String ptUnstructured = '\"' + JsonBuilder.escape(Paths.nameToString(NameConstants.JCR_PRIMARYTYPE)) + "\":" +
                     "\"7:" + NodeType.NT_UNSTRUCTURED + '\"';
 
+            // clean all existing content
+            String result = mk.getNodes("/", mk.getHeadRevision(), 0, 0, -1);
+            final List<String> names = new ArrayList<String>();
+            new JsonParser(new JsonHandler() {
+
+                public void atom(Token key, Token value) {
+                    if (key.text().charAt(0) != ':') {
+                        names.add(key.text());
+                    }
+                }
+
+                public void object(JsonParser parser, Token key, JsonTokenizer tokenizer) {
+                    super.object(parser, key, tokenizer);
+                    names.add(key.text());
+                }
+
+                public void array(JsonParser parser, Token key, JsonTokenizer tokenizer) {
+                    super.array(parser, key, tokenizer);
+                    // don't care
+                }
+            }).parseObject(new DefaultJsonTokenizer(result));
+
+            if (!names.isEmpty()) {
+                StringBuilder buf = new StringBuilder();
+                for (String name : names) {
+                    buf.append("- \"").append(name).append("\"\n");
+                }
+                mk.commit("/", buf.toString(), mk.getHeadRevision(), null);
+            }
+
             String head = mk.getHeadRevision();
             assertFalse(mk.nodeExists("/default", head));