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


Reply via email to