You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@sling.apache.org by "Eric Norman (Jira)" <ji...@apache.org> on 2023/04/27 17:00:00 UTC

[jira] [Closed] (SLING-11813) Provide a MockNodeTypeManager mode that utilizes real node types

     [ https://issues.apache.org/jira/browse/SLING-11813?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Eric Norman closed SLING-11813.
-------------------------------

> Provide a MockNodeTypeManager mode that utilizes real node types
> ----------------------------------------------------------------
>
>                 Key: SLING-11813
>                 URL: https://issues.apache.org/jira/browse/SLING-11813
>             Project: Sling
>          Issue Type: Improvement
>          Components: Testing
>            Reporter: Eric Norman
>            Assignee: Eric Norman
>            Priority: Major
>             Fix For: Testing JCR Mock 1.6.8
>
>          Time Spent: 1h
>  Remaining Estimate: 0h
>
> The old MockNodeTypeManager implementation was mostly stubs and getNodeType accepted all node types and return a partial mock.  Any test code that was exercising these mock node types would get an UnsupportedOperationException for many of the apis which makes testing those code paths difficult.
> Expected:
> Provide a MockNodeTypeManager mode that (optionally) reads and registers the node types from provided content in the compact node type definition format.  Doing this call would also change the mode of the MockNodeTypeManager to consider only the registered node types.  Tests for code paths that interact with the node types can return more real details about the node type definitions.
> For example, the setup for test could do something like below to load the nodetype definitions to use during the test run:
> {code:java}
> try (Reader reader = new InputStreamReader(getClass().getResourceAsStream("test_nodetypes.cnd"))) {
>     MockJcr.loadNodeTypeDefs(this.session, reader);
> }{code}
> NOTE: for backward compatibility, if no loadNodeTypeDefs call happens for the session,  then it will remain using the default permissive MOCK_ALL mode as before.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)