You are viewing a plain text version of this content. The canonical link for it is here.
Posted to oak-commits@jackrabbit.apache.org by md...@apache.org on 2012/04/30 15:56:09 UTC
svn commit: r1332209 - in
/jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/core:
RootImplFuzzIT.java RootImplTest.java
Author: mduerig
Date: Mon Apr 30 13:56:09 2012
New Revision: 1332209
URL: http://svn.apache.org/viewvc?rev=1332209&view=rev
Log:
OAK-18: Define Oak API
Add test cases for Root.rebase()
Modified:
jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/core/RootImplFuzzIT.java
jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/core/RootImplTest.java
Modified: jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/core/RootImplFuzzIT.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/core/RootImplFuzzIT.java?rev=1332209&r1=1332208&r2=1332209&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/core/RootImplFuzzIT.java (original)
+++ jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/core/RootImplFuzzIT.java Mon Apr 30 13:56:09 2012
@@ -25,6 +25,7 @@ import org.apache.jackrabbit.oak.api.Cor
import org.apache.jackrabbit.oak.api.CoreValueFactory;
import org.apache.jackrabbit.oak.api.PropertyState;
import org.apache.jackrabbit.oak.api.Tree;
+import org.apache.jackrabbit.oak.core.RootImplFuzzIT.Operation.Rebase;
import org.apache.jackrabbit.oak.kernel.KernelNodeStore;
import org.junit.Before;
import org.junit.Test;
@@ -267,12 +268,24 @@ public class RootImplFuzzIT {
return "save";
}
}
+
+ static class Rebase extends Operation {
+ @Override
+ void apply(RootImpl root) {
+ root.rebase();
+ }
+
+ @Override
+ public String toString() {
+ return "rebase";
+ }
+ }
}
private Operation createOperation() {
Operation op;
do {
- switch (random.nextInt(10)) {
+ switch (random.nextInt(11)) {
case 0:
case 1:
case 2:
@@ -300,6 +313,9 @@ public class RootImplFuzzIT {
case 9:
op = new Save();
break;
+ case 10:
+ op = new Rebase();
+ break;
default:
throw new IllegalStateException();
}
Modified: jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/core/RootImplTest.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/core/RootImplTest.java?rev=1332209&r1=1332208&r2=1332209&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/core/RootImplTest.java (original)
+++ jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/core/RootImplTest.java Mon Apr 30 13:56:09 2012
@@ -25,7 +25,6 @@ import org.apache.jackrabbit.oak.api.Pro
import org.apache.jackrabbit.oak.api.Tree;
import org.apache.jackrabbit.oak.api.Tree.Status;
import org.apache.jackrabbit.oak.spi.state.NodeState;
-import org.apache.jackrabbit.oak.spi.state.NodeStore;
import org.junit.Ignore;
import org.junit.Test;
@@ -411,7 +410,31 @@ public class RootImplTest extends Abstra
assertEquals(Status.EXISTING, tree.getChildStatus("one"));
assertEquals(Status.MODIFIED, tree.getChild("one").getChildStatus("two"));
}
-
+
+ @Test
+ public void rebase() throws CommitFailedException {
+ RootImpl root1 = new RootImpl(store, "test");
+ RootImpl root2 = new RootImpl(store, "test");
+
+ checkEqual(root1.getTree("/"), root2.getTree("/"));
+
+ CoreValue value = valueFactory.createValue("V1");
+ root2.getTree("/").addChild("one").addChild("two").addChild("three")
+ .setProperty("p1", value);
+ root2.commit();
+
+ root1.rebase();
+ checkEqual(root1.getTree("/"), (root2.getTree("/")));
+
+ Tree one = root2.getTree("/one");
+ one.removeChild("two");
+ one.addChild("four");
+ root2.commit();
+
+ root1.rebase();
+ checkEqual(root1.getTree("/"), (root2.getTree("/")));
+ }
+
@Test
@Ignore("WIP") // TODO: move to oak-bench
public void largeChildList() throws CommitFailedException {