You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@jackrabbit.apache.org by re...@apache.org on 2018/06/18 20:05:06 UTC
svn commit: r1833764 - in /jackrabbit/branches/2.14: ./
jackrabbit-jcr-tests/src/main/java/org/apache/jackrabbit/test/
jackrabbit-jcr-tests/src/main/java/org/apache/jackrabbit/test/api/
jackrabbit-jcr-tests/src/main/java/org/apache/jackrabbit/test/api/...
Author: reschke
Date: Mon Jun 18 20:05:06 2018
New Revision: 1833764
URL: http://svn.apache.org/viewvc?rev=1833764&view=rev
Log:
JCR-4294: TCK tests should pass on repositories without locking support (ported to 2.14)
Modified:
jackrabbit/branches/2.14/ (props changed)
jackrabbit/branches/2.14/jackrabbit-jcr-tests/src/main/java/org/apache/jackrabbit/test/AbstractJCRTest.java
jackrabbit/branches/2.14/jackrabbit-jcr-tests/src/main/java/org/apache/jackrabbit/test/api/SessionRemoveItemTest.java
jackrabbit/branches/2.14/jackrabbit-jcr-tests/src/main/java/org/apache/jackrabbit/test/api/version/VersionHistoryTest.java
jackrabbit/branches/2.14/jackrabbit-jcr-tests/src/main/java/org/apache/jackrabbit/test/api/version/VersionTest.java
Propchange: jackrabbit/branches/2.14/
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Mon Jun 18 20:05:06 2018
@@ -1,3 +1,3 @@
/jackrabbit/branches/JCR-2272:1173165-1176545
/jackrabbit/sandbox/JCR-2415-lucene-3.0:1060860-1064038
-/jackrabbit/trunk:1776907,1776911-1776912,1776914,1776918,1779166,1779460,1779614,1779632,1780208,1780220,1780406,1785225,1786325,1786330,1787043,1787381,1792100,1792105,1792113,1792193,1793315,1793323,1793327,1793332,1793339,1796980,1797209,1797917,1798586,1799429,1799538,1799549,1799575,1800359,1800378,1800752,1802925,1802977,1807234,1807244,1808752,1808754,1809149,1809329,1809624,1810108,1811667,1812543,1812634,1812994,1814831,1817094,1817097-1817098,1817100,1817113,1817201,1817213,1817373,1817377,1818586,1819269,1819271,1819839,1819849,1820119,1820133,1820294,1820573,1820675,1821247,1821475,1821597,1821705,1821880,1822643,1822863,1822947,1822950,1824756,1824763-1824764,1824771,1824876,1826230,1826647,1826940,1826964,1828213,1830107,1830201,1830540,1830753,1830951,1833374
+/jackrabbit/trunk:1776907,1776911-1776912,1776914,1776918,1779166,1779460,1779614,1779632,1780208,1780220,1780406,1785225,1786325,1786330,1787043,1787381,1792100,1792105,1792113,1792193,1793315,1793323,1793327,1793332,1793339,1796980,1797209,1797917,1798586,1799429,1799538,1799549,1799575,1800359,1800378,1800752,1802925,1802977,1807234,1807244,1808752,1808754,1809149,1809329,1809624,1810108,1811667,1812543,1812634,1812994,1814831,1817094,1817097-1817098,1817100,1817113,1817201,1817213,1817373,1817377,1818586,1819269,1819271,1819839,1819849,1820119,1820133,1820294,1820573,1820675,1821247,1821475,1821597,1821705,1821880,1822643,1822863,1822947,1822950,1824756,1824763-1824764,1824771,1824876,1826230,1826647,1826940,1826964,1828213,1830107,1830201,1830540,1830753,1830878,1830951,1833374
Modified: jackrabbit/branches/2.14/jackrabbit-jcr-tests/src/main/java/org/apache/jackrabbit/test/AbstractJCRTest.java
URL: http://svn.apache.org/viewvc/jackrabbit/branches/2.14/jackrabbit-jcr-tests/src/main/java/org/apache/jackrabbit/test/AbstractJCRTest.java?rev=1833764&r1=1833763&r2=1833764&view=diff
==============================================================================
--- jackrabbit/branches/2.14/jackrabbit-jcr-tests/src/main/java/org/apache/jackrabbit/test/AbstractJCRTest.java (original)
+++ jackrabbit/branches/2.14/jackrabbit-jcr-tests/src/main/java/org/apache/jackrabbit/test/AbstractJCRTest.java Mon Jun 18 20:05:06 2018
@@ -722,6 +722,16 @@ public abstract class AbstractJCRTest ex
}
}
+ /**
+ * Checks that the repository supports locking, otherwise aborts with
+ * {@link NotExecutableException}.
+ * @throws NotExecutableException when the repository does not support locking
+ */
+ protected void ensureLockingSupported() throws RepositoryException, NotExecutableException {
+ if (!isSupported(Repository.OPTION_LOCKING_SUPPORTED)) {
+ throw new NotExecutableException("This repository does not support locking.");
+ }
+ }
private boolean canSetProperty(NodeType nodeType, String propertyName, int propertyType, boolean isMultiple) {
PropertyDefinition propDefs[] = nodeType.getPropertyDefinitions();
Modified: jackrabbit/branches/2.14/jackrabbit-jcr-tests/src/main/java/org/apache/jackrabbit/test/api/SessionRemoveItemTest.java
URL: http://svn.apache.org/viewvc/jackrabbit/branches/2.14/jackrabbit-jcr-tests/src/main/java/org/apache/jackrabbit/test/api/SessionRemoveItemTest.java?rev=1833764&r1=1833763&r2=1833764&view=diff
==============================================================================
--- jackrabbit/branches/2.14/jackrabbit-jcr-tests/src/main/java/org/apache/jackrabbit/test/api/SessionRemoveItemTest.java (original)
+++ jackrabbit/branches/2.14/jackrabbit-jcr-tests/src/main/java/org/apache/jackrabbit/test/api/SessionRemoveItemTest.java Mon Jun 18 20:05:06 2018
@@ -94,6 +94,7 @@ public class SessionRemoveItemTest exten
}
public void testRemoveLockedNode() throws RepositoryException, NotExecutableException {
+ ensureLockingSupported();
ensureMixinType(removeNode, mixLockable);
removeNode.save();
Modified: jackrabbit/branches/2.14/jackrabbit-jcr-tests/src/main/java/org/apache/jackrabbit/test/api/version/VersionHistoryTest.java
URL: http://svn.apache.org/viewvc/jackrabbit/branches/2.14/jackrabbit-jcr-tests/src/main/java/org/apache/jackrabbit/test/api/version/VersionHistoryTest.java?rev=1833764&r1=1833763&r2=1833764&view=diff
==============================================================================
--- jackrabbit/branches/2.14/jackrabbit-jcr-tests/src/main/java/org/apache/jackrabbit/test/api/version/VersionHistoryTest.java (original)
+++ jackrabbit/branches/2.14/jackrabbit-jcr-tests/src/main/java/org/apache/jackrabbit/test/api/version/VersionHistoryTest.java Mon Jun 18 20:05:06 2018
@@ -34,6 +34,7 @@ import javax.jcr.NodeIterator;
import javax.jcr.Property;
import javax.jcr.PropertyIterator;
import javax.jcr.PropertyType;
+import javax.jcr.Repository;
import javax.jcr.RepositoryException;
import javax.jcr.UnsupportedRepositoryOperationException;
import javax.jcr.Value;
@@ -532,6 +533,8 @@ public class VersionHistoryTest extends
vHistory.getLock();
fail("VersionHistory should not be lockable: VersionHistory.getLock() did not throw a LockException");
} catch (LockException success) {
+ } catch (UnsupportedRepositoryOperationException maybe) {
+ assertFalse(isSupported(Repository.OPTION_LOCKING_SUPPORTED));
}
}
@@ -540,6 +543,7 @@ public class VersionHistoryTest extends
* javax.jcr.lock.LockException}
*/
public void testGetLockJcr2() throws Exception {
+ ensureLockingSupported();
try {
vHistory.getSession().getWorkspace().getLockManager().getLock(vHistory.getPath());
fail("VersionHistory should not be lockable: VersionHistory.getLock() did not throw a LockException");
@@ -750,6 +754,7 @@ public class VersionHistoryTest extends
* <code>false</code>
*/
public void testHoldsLock() throws Exception {
+ ensureLockingSupported();
assertFalse("VersionHistory.holdsLock() did not return false", vHistory.holdsLock());
}
@@ -758,6 +763,7 @@ public class VersionHistoryTest extends
* <code>false</code>
*/
public void testHoldsLockJcr2() throws Exception {
+ ensureLockingSupported();
assertFalse("VersionHistory.holdsLock() did not return false", vHistory.getSession().getWorkspace().getLockManager().holdsLock(vHistory.getPath()));
}
@@ -790,6 +796,7 @@ public class VersionHistoryTest extends
* <code>false</code>
*/
public void testIsLockedJcr2() throws Exception {
+ ensureLockingSupported();
assertFalse("VersionHistory.isLocked() did not return false", vHistory.getSession().getWorkspace().getLockManager().isLocked(vHistory.getPath()));
}
@@ -837,6 +844,7 @@ public class VersionHistoryTest extends
*/
@SuppressWarnings("deprecation")
public void testLock() throws Exception {
+ ensureLockingSupported();
try {
vHistory.lock(true, true);
fail("VersionHistory should not be lockable: VersionHistory.lock(true,true) did not throw a LockException");
@@ -864,6 +872,7 @@ public class VersionHistoryTest extends
* {@link javax.jcr.lock.LockException}
*/
public void testLockJcr2() throws Exception {
+ ensureLockingSupported();
LockManager lockManager = vHistory.getSession().getWorkspace().getLockManager();
String path = vHistory.getPath();
try {
@@ -1146,6 +1155,7 @@ public class VersionHistoryTest extends
* javax.jcr.lock.LockException}
*/
public void testUnlock() throws Exception {
+ ensureLockingSupported();
try {
vHistory.unlock();
fail("VersionHistory should not be lockable: VersionHistory.unlock() did not throw a LockException");
@@ -1158,6 +1168,7 @@ public class VersionHistoryTest extends
* javax.jcr.lock.LockException}
*/
public void testUnlockJcr2() throws Exception {
+ ensureLockingSupported();
try {
vHistory.getSession().getWorkspace().getLockManager().unlock(vHistory.getPath());
fail("VersionHistory should not be lockable: VersionHistory.unlock() did not throw a LockException");
Modified: jackrabbit/branches/2.14/jackrabbit-jcr-tests/src/main/java/org/apache/jackrabbit/test/api/version/VersionTest.java
URL: http://svn.apache.org/viewvc/jackrabbit/branches/2.14/jackrabbit-jcr-tests/src/main/java/org/apache/jackrabbit/test/api/version/VersionTest.java?rev=1833764&r1=1833763&r2=1833764&view=diff
==============================================================================
--- jackrabbit/branches/2.14/jackrabbit-jcr-tests/src/main/java/org/apache/jackrabbit/test/api/version/VersionTest.java (original)
+++ jackrabbit/branches/2.14/jackrabbit-jcr-tests/src/main/java/org/apache/jackrabbit/test/api/version/VersionTest.java Mon Jun 18 20:05:06 2018
@@ -29,6 +29,7 @@ import javax.jcr.ItemNotFoundException;
import javax.jcr.PropertyIterator;
import javax.jcr.Value;
import javax.jcr.PropertyType;
+import javax.jcr.Repository;
import javax.jcr.lock.LockException;
import javax.jcr.lock.LockManager;
@@ -296,6 +297,8 @@ public class VersionTest extends Abstrac
version.getLock();
fail("Version should not be lockable: Version.getLock() did not throw a LockException");
} catch (LockException success) {
+ } catch (UnsupportedRepositoryOperationException maybe) {
+ assertFalse(isSupported(Repository.OPTION_LOCKING_SUPPORTED));
}
}
@@ -304,6 +307,7 @@ public class VersionTest extends Abstrac
* javax.jcr.lock.LockException}
*/
public void testGetLockJcr2() throws Exception {
+ ensureLockingSupported();
try {
version.getSession().getWorkspace().getLockManager().getLock(version.getPath());
fail("Version should not be lockable: Version.getLock() did not throw a LockException");
@@ -482,6 +486,7 @@ public class VersionTest extends Abstrac
* Tests if <code>Version.holdsLock()</code> returns <code>false</code>
*/
public void testHoldsLock() throws Exception {
+ ensureLockingSupported();
assertFalse("Version.holdsLock() did not return false", version.holdsLock());
}
@@ -489,6 +494,7 @@ public class VersionTest extends Abstrac
* Tests if <code>Version.holdsLock()</code> returns <code>false</code>
*/
public void testHoldsLockJcr2() throws Exception {
+ ensureLockingSupported();
assertFalse("Version.holdsLock() did not return false", version.getSession().getWorkspace().getLockManager().holdsLock(version.getPath()));
}
@@ -517,6 +523,7 @@ public class VersionTest extends Abstrac
* Tests if <code>Version.isLocked()</code> returns <code>false</code>
*/
public void testIsLockedJcr2() throws Exception {
+ ensureLockingSupported();
assertFalse("Version.isLocked() did not return false", version.getSession().getWorkspace().getLockManager().isLocked(version.getPath()));
}
@@ -570,6 +577,7 @@ public class VersionTest extends Abstrac
* LockException}
*/
public void testLock() throws Exception {
+ ensureLockingSupported();
try {
version.lock(true, true);
fail("Version should not be lockable: Version.lock(true,true) did not throw a LockException");
@@ -597,6 +605,7 @@ public class VersionTest extends Abstrac
* LockException}
*/
public void testLockJcr2() throws Exception {
+ ensureLockingSupported();
LockManager lockManager = version.getSession().getWorkspace().getLockManager();
String path = version.getPath();
try {
@@ -884,6 +893,8 @@ public class VersionTest extends Abstrac
version.unlock();
fail("Version should not be lockable: Version.unlock() did not throw a LockException");
} catch (LockException success) {
+ } catch (UnsupportedRepositoryOperationException maybe) {
+ assertFalse(isSupported(Repository.OPTION_LOCKING_SUPPORTED));
}
}
@@ -892,6 +903,7 @@ public class VersionTest extends Abstrac
* javax.jcr.lock.LockException}
*/
public void testUnlockJcr2() throws Exception {
+ ensureLockingSupported();
try {
version.getSession().getWorkspace().getLockManager().unlock(version.getPath());
fail("Version should not be lockable: Version.unlock() did not throw a LockException");