diff --git a/jackrabbit-core/src/test/java/org/apache/jackrabbit/core/MoveTest.java b/jackrabbit-core/src/test/java/org/apache/jackrabbit/core/MoveTest.java index 46a86ac..3b419b8 100644 --- a/jackrabbit-core/src/test/java/org/apache/jackrabbit/core/MoveTest.java +++ b/jackrabbit-core/src/test/java/org/apache/jackrabbit/core/MoveTest.java @@ -26,6 +26,34 @@ import org.apache.jackrabbit.test.AbstractJCRTest; * Tests moving, refreshing, and saving nodes. */ public class MoveTest extends AbstractJCRTest { + + public void testMoveVisibilityAcrossSessions() throws RepositoryException { + Session session1 = getHelper().getReadWriteSession(); + Session session2 = getHelper().getReadWriteSession(); + + if (session1.itemExists("/foo")) { + session1.removeItem("/foo"); + session1.save(); + } + + session1.getRootNode().addNode("libs").addNode("foo").addNode("install"); + session1.save(); + + assertTrue(session1.itemExists("/libs/foo/install")); + assertFalse(session1.itemExists("/foo")); + + assertTrue(session2.itemExists("/libs/foo/install")); + assertFalse(session2.itemExists("/foo")); + + session1.move("/libs", "/foo"); + session1.save(); + + assertFalse(session1.itemExists("/libs/foo/install")); + + session2.refresh(false); + + assertFalse("This should be false, but is true!", session2.itemExists("/libs/foo/install")); + } /** * Tests moving a node, and then refreshing or saving it.