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 2021/03/26 17:06:40 UTC
svn commit: r1888091 - in /jackrabbit/trunk: jackrabbit-core/pom.xml
jackrabbit-jcr-rmi/pom.xml
jackrabbit-jcr-tests/src/main/java/org/apache/jackrabbit/test/api/version/RestoreTest.java
jackrabbit-jcr2dav/pom.xml jackrabbit-spi2jcr/pom.xml
Author: reschke
Date: Fri Mar 26 17:06:40 2021
New Revision: 1888091
URL: http://svn.apache.org/viewvc?rev=1888091&view=rev
Log:
JCR-4683: add test coverage for restore that removes a mixin
Modified:
jackrabbit/trunk/jackrabbit-core/pom.xml
jackrabbit/trunk/jackrabbit-jcr-rmi/pom.xml
jackrabbit/trunk/jackrabbit-jcr-tests/src/main/java/org/apache/jackrabbit/test/api/version/RestoreTest.java
jackrabbit/trunk/jackrabbit-jcr2dav/pom.xml
jackrabbit/trunk/jackrabbit-spi2jcr/pom.xml
Modified: jackrabbit/trunk/jackrabbit-core/pom.xml
URL: http://svn.apache.org/viewvc/jackrabbit/trunk/jackrabbit-core/pom.xml?rev=1888091&r1=1888090&r2=1888091&view=diff
==============================================================================
--- jackrabbit/trunk/jackrabbit-core/pom.xml (original)
+++ jackrabbit/trunk/jackrabbit-core/pom.xml Fri Mar 26 17:06:40 2021
@@ -114,6 +114,7 @@ org.apache.jackrabbit.core.security.user
org.apache.jackrabbit.test.api.query.qom.NodeLocalNameTest#testStringLiteralInvalidName <!-- OAK-3265 -->
org.apache.jackrabbit.test.api.query.qom.NodeLocalNameTest#testPathLiteral <!-- OAK-3265 -->
org.apache.jackrabbit.test.api.query.qom.NodeLocalNameTest#testURILiteral <!-- OAK-3265 -->
+org.apache.jackrabbit.test.api.version.RestoreTest#testRestoreRemovesMixin <!-- OAK-4680 -->
</value>
</property>
<property>
Modified: jackrabbit/trunk/jackrabbit-jcr-rmi/pom.xml
URL: http://svn.apache.org/viewvc/jackrabbit/trunk/jackrabbit-jcr-rmi/pom.xml?rev=1888091&r1=1888090&r2=1888091&view=diff
==============================================================================
--- jackrabbit/trunk/jackrabbit-jcr-rmi/pom.xml (original)
+++ jackrabbit/trunk/jackrabbit-jcr-rmi/pom.xml Fri Mar 26 17:06:40 2021
@@ -486,6 +486,7 @@ org.apache.jackrabbit.test.api.security.
org.apache.jackrabbit.test.api.security.RSessionAccessControlPolicyTest#testSetPolicy
<!-- JCR-3206 -->
org.apache.jackrabbit.test.api.observation.EventJournalTest
+org.apache.jackrabbit.test.api.version.RestoreTest#testRestoreRemovesMixin <!-- OAK-4680 -->
</value>
</property>
<property>
Modified: jackrabbit/trunk/jackrabbit-jcr-tests/src/main/java/org/apache/jackrabbit/test/api/version/RestoreTest.java
URL: http://svn.apache.org/viewvc/jackrabbit/trunk/jackrabbit-jcr-tests/src/main/java/org/apache/jackrabbit/test/api/version/RestoreTest.java?rev=1888091&r1=1888090&r2=1888091&view=diff
==============================================================================
--- jackrabbit/trunk/jackrabbit-jcr-tests/src/main/java/org/apache/jackrabbit/test/api/version/RestoreTest.java (original)
+++ jackrabbit/trunk/jackrabbit-jcr-tests/src/main/java/org/apache/jackrabbit/test/api/version/RestoreTest.java Fri Mar 26 17:06:40 2021
@@ -26,6 +26,7 @@ import javax.jcr.version.VersionIterator
import javax.jcr.version.VersionManager;
import javax.jcr.Node;
import javax.jcr.RepositoryException;
+import javax.jcr.Session;
import javax.jcr.InvalidItemStateException;
import javax.jcr.UnsupportedRepositoryOperationException;
import javax.jcr.ItemExistsException;
@@ -1459,4 +1460,31 @@ public class RestoreTest extends Abstrac
String order = n1.getName() + ", " + n2.getName();
assertEquals("Invalid child node ordering", orderOk, order);
}
+
+ /**
+ * Test that after restore(), a subsequently added mixin type is removed
+ */
+ public void testRestoreRemovesMixin() throws RepositoryException, NotExecutableException {
+ Session s = testRootNode.getSession();
+ ensureKnowsNodeType(s, ntQuery);
+ ensureKnowsNodeType(s, mixTitle);
+
+ Node testRoot = createVersionableNode(testRootNode, nodeName4, s.getWorkspace().getNodeTypeManager().getNodeType(ntQuery));
+ ensureMixinType(testRoot, mixVersionable);
+ versionableNode.getSession().save();
+
+ Version v10 = versionManager.checkin(testRoot.getPath());
+ versionManager.checkout(testRoot.getPath());
+ // use mix:title to allow adding property jcr:title
+ testRoot.addMixin(mixTitle);
+ // add jcr:title property which is *not* allowed by the frozen node its
+ // type alone (nt:query)
+ testRoot.setProperty("jcr:title", "title");
+ versionableNode.getSession().save();
+ // restore base version without mix:title mixin, removing jcr:title
+ // property
+ versionManager.restore(v10, true);
+ assertFalse(testRoot.isNodeType(mixTitle));
+ assertFalse(testRoot.hasProperty("jcr:title"));
+ }
}
Modified: jackrabbit/trunk/jackrabbit-jcr2dav/pom.xml
URL: http://svn.apache.org/viewvc/jackrabbit/trunk/jackrabbit-jcr2dav/pom.xml?rev=1888091&r1=1888090&r2=1888091&view=diff
==============================================================================
--- jackrabbit/trunk/jackrabbit-jcr2dav/pom.xml (original)
+++ jackrabbit/trunk/jackrabbit-jcr2dav/pom.xml Fri Mar 26 17:06:40 2021
@@ -125,6 +125,7 @@
org.apache.jackrabbit.test.api.query.qom.NodeLocalNameTest#testURILiteral <!-- OAK-3265, JCR-3913 -->
<!-- JCR-3995 -->
org.apache.jackrabbit.jcr2spi.security.authorization.jackrabbit.acl.AccessControlManagerImplTest#testAddingFourAccessControlEntries
+ org.apache.jackrabbit.test.api.version.RestoreTest#testRestoreRemovesMixin <!-- OAK-4680 -->
</value>
</property>
<property>
Modified: jackrabbit/trunk/jackrabbit-spi2jcr/pom.xml
URL: http://svn.apache.org/viewvc/jackrabbit/trunk/jackrabbit-spi2jcr/pom.xml?rev=1888091&r1=1888090&r2=1888091&view=diff
==============================================================================
--- jackrabbit/trunk/jackrabbit-spi2jcr/pom.xml (original)
+++ jackrabbit/trunk/jackrabbit-spi2jcr/pom.xml Fri Mar 26 17:06:40 2021
@@ -79,6 +79,7 @@ org.apache.jackrabbit.test.api.query.qom
org.apache.jackrabbit.test.api.query.qom.NodeLocalNameTest#testStringLiteralInvalidName <!-- OAK-3265, JCR-3913 -->
org.apache.jackrabbit.test.api.query.qom.NodeLocalNameTest#testPathLiteral <!-- OAK-3265, JCR-3913 -->
org.apache.jackrabbit.test.api.query.qom.NodeLocalNameTest#testURILiteral <!-- OAK-3265, JCR-3913 -->
+ org.apache.jackrabbit.test.api.version.RestoreTest#testRestoreRemovesMixin <!-- OAK-4680 -->
</value>
</property>
</systemProperties>