This is an automated email from the ASF dual-hosted git repository.

reschke pushed a commit to branch OAK-11657b
in repository https://gitbox.apache.org/repos/asf/jackrabbit-oak.git

commit 2fe00869bb84d53a149adec74a17178118216ac5
Author: Julian Reschke <[email protected]>
AuthorDate: Thu May 22 15:49:54 2025 +0100

    OAK-11657: JackrabbitSession.getExpandedName/Path need to return stable 
expanded names - fix test case
---
 .../oak/jcr/session/JackrabbitSessionTest.java     | 22 ++++++++++++++--------
 1 file changed, 14 insertions(+), 8 deletions(-)

diff --git 
a/oak-jcr/src/test/java/org/apache/jackrabbit/oak/jcr/session/JackrabbitSessionTest.java
 
b/oak-jcr/src/test/java/org/apache/jackrabbit/oak/jcr/session/JackrabbitSessionTest.java
index 834afd47b2..77175486bf 100644
--- 
a/oak-jcr/src/test/java/org/apache/jackrabbit/oak/jcr/session/JackrabbitSessionTest.java
+++ 
b/oak-jcr/src/test/java/org/apache/jackrabbit/oak/jcr/session/JackrabbitSessionTest.java
@@ -29,6 +29,8 @@ import javax.jcr.Node;
 import javax.jcr.Property;
 import javax.jcr.RepositoryException;
 
+import java.util.UUID;
+
 import static org.mockito.Mockito.mock;
 
 public class JackrabbitSessionTest extends AbstractJCRTest {
@@ -87,11 +89,9 @@ public class JackrabbitSessionTest extends AbstractJCRTest {
         assertEquals("{}testroot", s.getExpandedName(testRootNode));
         Node n = testRootNode.addNode("test:bar");
         assertEquals("{http://www.apache.org/jackrabbit/test}bar";, 
s.getExpandedName(n));
-        // now remap namespace uri - should not affect expanded name
-        assertEquals("prefix 'test' has unexpected mapping",
-                "http://www.apache.org/jackrabbit/test";, 
s.getNamespaceURI("test"));
+        // now remap namespace uri
         s.setNamespacePrefix("test", "urn:foo");
-        assertEquals("{http://www.apache.org/jackrabbit/test}bar";, 
s.getExpandedName(n));
+        assertEquals("{urn:foo}bar", s.getExpandedName(n));
         // use special namespace uri
         n = testRootNode.addNode("rep:bar");
         assertEquals("{internal}bar", s.getExpandedName(n));
@@ -101,16 +101,22 @@ public class JackrabbitSessionTest extends 
AbstractJCRTest {
         // empty namespace uri
         assertEquals("{}testroot", s.getExpandedName(testRootNode));
 
+        String randomNamespacePrefix = "prefix-" + UUID.randomUUID();
+        String randomNamespaceName = "name-" + UUID.randomUUID();
+
         // register broken namespace name
-        s.getWorkspace().getNamespaceRegistry().registerNamespace("foo", 
"bar");
-        Node n = testRootNode.addNode("foo:qux");
+        
s.getWorkspace().getNamespaceRegistry().registerNamespace(randomNamespacePrefix,
 randomNamespaceName);
 
         try {
+            Node n = testRootNode.addNode(randomNamespacePrefix + ":qux");
+
             // there is no expanded name, thus we expect an exception here
             s.getExpandedName(n);
             fail("there is no expanded name in this case, so we expect the 
call to fail");
         } catch (NamespaceException ex) {
             // expected
+        } finally {
+            
s.getWorkspace().getNamespaceRegistry().unregisterNamespace(randomNamespacePrefix);
         }
     }
 
@@ -118,8 +124,8 @@ public class JackrabbitSessionTest extends AbstractJCRTest {
         assertEquals("/{}testroot", s.getExpandedPath(testRootNode));
         Node n = testRootNode.addNode("test:bar").addNode("rep:bar");
         
assertEquals("/{}testroot/{http://www.apache.org/jackrabbit/test}bar/{internal}bar";,
 s.getExpandedPath(n));
-        // now remap namespace uri - should not affect expanded name
+        // now remap namespace uri
         s.setNamespacePrefix("test", "urn:foo");
-        
assertEquals("/{}testroot/{http://www.apache.org/jackrabbit/test}bar/{internal}bar";,
 s.getExpandedPath(n));
+        assertEquals("/{}testroot/{urn:foo}bar/{internal}bar", 
s.getExpandedPath(n));
     }
 }
\ No newline at end of file

Reply via email to