[
https://issues.apache.org/jira/browse/SLING-9659?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17340970#comment-17340970
]
Hans-Peter Stoerr commented on SLING-9659:
------------------------------------------
When the breakpoint at
org.apache.sling.testing.mock.sling.ResourceResolverFactoryInitializer.registerJcrNodeTypes
is hit for the first time, the session returned by
slingRepository.loginAdministrative(null); already contains the broken sling
namespace: session.getNamespaceURI("sling") returns http://sling.apache.org/ .
The namespaces sv, nt, xml, jcr, oak, rep, mix and sling are already defined
then.
Ah: when searching around in the code I noticed
org.apache.sling.testing.mock.sling.oak.ExtraSlingContent#initialize . There is
likely the bug: the line 48 changed from version 2.1.8-1.16.0 to 2.1.10-1.16.0
and now registers NAMESPACE_URI_ROOT instead of SLING_NAMESPACE_URI with prefix
sling.
> Namespace http://sling.apache.org/ registered as prefix sling instead of
> http://sling.apache.org/jcr/sling/1.0
> --------------------------------------------------------------------------------------------------------------
>
> Key: SLING-9659
> URL: https://issues.apache.org/jira/browse/SLING-9659
> Project: Sling
> Issue Type: Bug
> Components: Testing
> Affects Versions: Testing Sling Mock Oak 2.1.10-1.16.0
> Reporter: Hans-Peter Stoerr
> Priority: Minor
> Attachments: slingmocktest.zip
>
>
> When using org.apache.sling.testing.mock.sling.junit.SlingContext with
> ResourceResolverType.JCR_OAK , the URL [http://sling.apache.org/] is somehow
> registered as namespace "sling" instead of the usual
> [http://sling.apache.org/jcr/sling/1.0] . This has the effect that
> [http://sling.apache.org/jcr/sling/1.0] gets the prefix sling0 , and this can
> lead to problems when importing content during tests. This does not appear in
> 2.1.8-1.16.0, so I assume it's a problem of Sling Mock Oak. It can be a
> problem of the included dependencies, too, of course.
> I'll attach a zip of a example project that reproduces the error. The crucial
> lines of the failing test are:
> {code:java}
> JackrabbitSession session = (JackrabbitSession)
> context.resourceResolver().adaptTo(Session.class);
> String slinguri = session.getNamespaceURI("sling");
> Assert.assertEquals("http://sling.apache.org/jcr/sling/1.0",
> slinguri);
> // is actually http://sling.apache.org/{code}
--
This message was sent by Atlassian Jira
(v8.3.4#803005)