Author: mreutegg
Date: Wed Apr 13 10:19:33 2016
New Revision: 1738920
URL: http://svn.apache.org/viewvc?rev=1738920&view=rev
Log:
OAK-4196: EventListener gets removed event for denied node
Add test and put it on the known issues list
Modified:
jackrabbit/oak/trunk/oak-jcr/pom.xml
jackrabbit/oak/trunk/oak-jcr/src/test/java/org/apache/jackrabbit/oak/jcr/security/authorization/ObservationTest.java
Modified: jackrabbit/oak/trunk/oak-jcr/pom.xml
URL:
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-jcr/pom.xml?rev=1738920&r1=1738919&r2=1738920&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-jcr/pom.xml (original)
+++ jackrabbit/oak/trunk/oak-jcr/pom.xml Wed Apr 13 10:19:33 2016
@@ -78,6 +78,7 @@
org.apache.jackrabbit.core.observation.ReorderTest
<!-- Uses SNS -->
org.apache.jackrabbit.core.observation.ShareableNodesTest#testAddShare
<!-- OAK-118 workspace support needed -->
org.apache.jackrabbit.core.observation.ShareableNodesTest#testRemoveShare
<!-- OAK-118 workspace support needed -->
+
org.apache.jackrabbit.oak.jcr.security.authorization.ObservationTest#testEventDeniedNode
<!-- OAK-4196 -->
<!-- Versioning -->
org.apache.jackrabbit.test.api.version.VersionTest#testMerge
Modified:
jackrabbit/oak/trunk/oak-jcr/src/test/java/org/apache/jackrabbit/oak/jcr/security/authorization/ObservationTest.java
URL:
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-jcr/src/test/java/org/apache/jackrabbit/oak/jcr/security/authorization/ObservationTest.java?rev=1738920&r1=1738919&r2=1738920&view=diff
==============================================================================
---
jackrabbit/oak/trunk/oak-jcr/src/test/java/org/apache/jackrabbit/oak/jcr/security/authorization/ObservationTest.java
(original)
+++
jackrabbit/oak/trunk/oak-jcr/src/test/java/org/apache/jackrabbit/oak/jcr/security/authorization/ObservationTest.java
Wed Apr 13 10:19:33 2016
@@ -59,4 +59,36 @@ public class ObservationTest extends Abs
obsMgr.removeEventListener(listener);
}
}
+
+ // OAK-4196
+ @Test
+ public void testEventDeniedNode() throws Exception {
+ // withdraw the READ privilege on childNPath
+ deny(childNPath, readPrivileges);
+
+ // testUser registers a event listener for changes under testRoot
+ ObservationManager obsMgr =
testSession.getWorkspace().getObservationManager();
+ EventResult listener = new EventResult(this.log);
+ try {
+ obsMgr.addEventListener(listener, Event.NODE_REMOVED, testRoot,
true, null, null, true);
+
+ // superuser removes the node with childNPath & childNPath2 in
+ // order to provoke events being generated
+ superuser.getItem(childNPath).remove();
+ superuser.getItem(childNPath2).remove();
+ superuser.save();
+
+ // since the testUser does not have read-permission on the removed
+ // childNPath, no corresponding event must be generated.
+ Event[] evts = listener.getEvents(DEFAULT_WAIT_TIMEOUT);
+ for (Event evt : evts) {
+ if (evt.getType() == Event.NODE_REMOVED &&
+ evt.getPath().equals(childNPath)) {
+ fail("TestUser does not have READ permission on " +
childNPath);
+ }
+ }
+ } finally {
+ obsMgr.removeEventListener(listener);
+ }
+ }
}
\ No newline at end of file