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 2013/11/19 16:12:10 UTC
svn commit: r1543448 -
/jackrabbit/oak/trunk/oak-jcr/src/test/java/org/apache/jackrabbit/oak/jcr/observation/ObservationTest.java
Author: mduerig
Date: Tue Nov 19 15:12:10 2013
New Revision: 1543448
URL: http://svn.apache.org/r1543448
Log:
OAK-144: Implement observation
Stricter tests
Modified:
jackrabbit/oak/trunk/oak-jcr/src/test/java/org/apache/jackrabbit/oak/jcr/observation/ObservationTest.java
Modified: jackrabbit/oak/trunk/oak-jcr/src/test/java/org/apache/jackrabbit/oak/jcr/observation/ObservationTest.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-jcr/src/test/java/org/apache/jackrabbit/oak/jcr/observation/ObservationTest.java?rev=1543448&r1=1543447&r2=1543448&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-jcr/src/test/java/org/apache/jackrabbit/oak/jcr/observation/ObservationTest.java (original)
+++ jackrabbit/oak/trunk/oak-jcr/src/test/java/org/apache/jackrabbit/oak/jcr/observation/ObservationTest.java Tue Nov 19 15:12:10 2013
@@ -89,7 +89,7 @@ public class ObservationTest extends Abs
ntMgr.registerNodeType(mixTest, false);
Node n = session.getRootNode().addNode(TEST_NODE);
- n.addMixin("mix:test");
+ n.addMixin(TEST_TYPE);
session.save();
@@ -177,6 +177,9 @@ public class ObservationTest extends Abs
Node n = getNode(TEST_PATH);
Property p = n.setProperty("p", "v");
listener.expectAdd(p);
+ Node n1 = n.addNode("n1");
+ listener.expect(n1.getPath(), NODE_ADDED);
+ n1.addNode("n2");
getAdminSession().save();
List<Expectation> missing = listener.getMissing(2, TimeUnit.SECONDS);
@@ -254,27 +257,32 @@ public class ObservationTest extends Abs
@Test
public void pathFilter() throws Exception {
final String path = "/events/only/here";
- ExpectationListener listener = new ExpectationListener();
- listener.expect(new Expectation(path){
- @Override
- public boolean onEvent(Event event) throws Exception {
- return PathUtils.isAncestor(path, event.getPath());
- }
- });
- observationManager.addEventListener(listener, NODE_ADDED, path, true, null, null, false);
- try {
+ for (boolean deep : new boolean[]{false, true}) {
Node root = getNode("/");
- root.addNode("events").addNode("only").addNode("here").addNode("at");
- root.getSession().save();
+ if (root.hasNode("events")) {
+ root.getNode("events").remove();
+ root.getSession().save();
+ }
- List<Expectation> missing = listener.getMissing(2, TimeUnit.SECONDS);
- assertTrue("Missing events: " + missing, missing.isEmpty());
- List<Event> unexpected = listener.getUnexpected();
- assertTrue("Unexpected events: " + unexpected, unexpected.isEmpty());
- }
- finally {
- observationManager.removeEventListener(listener);
+ ExpectationListener listener = new ExpectationListener();
+ observationManager.addEventListener(listener, NODE_ADDED, path, deep, null, null, false);
+ try {
+ root.addNode("events").addNode("only").addNode("here").addNode("below").addNode("this");
+ listener.expect("/events/only/here/below", NODE_ADDED);
+ if (deep) {
+ listener.expect("/events/only/here/below/this", NODE_ADDED);
+ }
+ root.getSession().save();
+
+ List<Expectation> missing = listener.getMissing(2, TimeUnit.SECONDS);
+ assertTrue("Missing events: " + missing, missing.isEmpty());
+ List<Event> unexpected = listener.getUnexpected();
+ assertTrue("Unexpected events: " + unexpected, unexpected.isEmpty());
+ }
+ finally {
+ observationManager.removeEventListener(listener);
+ }
}
}