This is an automated email from the ASF dual-hosted git repository. kwin pushed a commit to branch OAK-11486 in repository https://gitbox.apache.org/repos/asf/jackrabbit-oak.git
commit 6fddbaba2857d2f32239b26271cf84565163789d Author: Konrad Windszus <[email protected]> AuthorDate: Fri Feb 14 19:37:27 2025 +0100 OAK-11486: Add failing test case for session-mapped non-registered namespace URIs --- .../org/apache/jackrabbit/oak/jcr/JackrabbitNodeTest.java | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/oak-jcr/src/test/java/org/apache/jackrabbit/oak/jcr/JackrabbitNodeTest.java b/oak-jcr/src/test/java/org/apache/jackrabbit/oak/jcr/JackrabbitNodeTest.java index 223102839a..0c4212e9c1 100644 --- a/oak-jcr/src/test/java/org/apache/jackrabbit/oak/jcr/JackrabbitNodeTest.java +++ b/oak-jcr/src/test/java/org/apache/jackrabbit/oak/jcr/JackrabbitNodeTest.java @@ -24,14 +24,19 @@ import java.util.ArrayList; import java.util.List; import java.util.concurrent.CountDownLatch; +import javax.jcr.ItemExistsException; import javax.jcr.Node; import javax.jcr.NodeIterator; +import javax.jcr.PathNotFoundException; import javax.jcr.RepositoryException; import javax.jcr.Session; +import javax.jcr.lock.LockException; +import javax.jcr.nodetype.ConstraintViolationException; import javax.jcr.observation.Event; import javax.jcr.observation.EventIterator; import javax.jcr.observation.EventListener; import javax.jcr.observation.ObservationManager; +import javax.jcr.version.VersionException; import org.apache.jackrabbit.JcrConstants; import org.apache.jackrabbit.api.JackrabbitNode; @@ -336,4 +341,11 @@ public class JackrabbitNodeTest extends AbstractJCRTest { assertNotNull(jn.getPropertyOrNull(JcrConstants.JCR_PRIMARYTYPE)); assertNotNull(jn.getPropertyOrNull("a/aa/p")); } + + public void testSessionMappedPrefixWithUnregisteredNamespace() throws ItemExistsException, PathNotFoundException, VersionException, ConstraintViolationException, LockException, RepositoryException { + Node n = testRootNode.addNode("foo:bar"); + assertEquals("foo:bar", n.getName()); + n.getSession().setNamespacePrefix("foo", "http://foo.com"); + assertEquals("foo:bar", n.getName()); // this must not fail, but throws a ISE + } }
