[MAGNOLIA-5996] JCR Mocks should declare exceptions identically to JCR interfaces Created: 21/Nov/14  Updated: 19/May/22  Resolved: 19/May/22

Status: Closed
Project: Magnolia
Component/s: core
Affects Version/s: None
Fix Version/s: None

Type: Bug Priority: Neutral
Reporter: Tobias Mattsson Assignee: Unassigned
Resolution: Won't Do Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Template:
Acceptance criteria:
Empty
Task DoD:
[ ]* Doc/release notes changes? Comment present?
[ ]* Downstream builds green?
[ ]* Solution information and context easily available?
[ ]* Tests
[ ]* FixVersion filled and not yet released
[ ]  Architecture Decision Record (ADR)
Bug DoR:
[ ]* Steps to reproduce, expected, and actual results filled
[ ]* Affected version filled
Date of First Response:

 Description   

When testing exception handling you need to throw an exception at a certain method call.

The simplest way to do this with MockNode would be:

        MockNode currentContentNode = new MockNode() {
            @Override
            public String getIdentifier() {
                throw new RepositoryException("");
            }
        };

But that doesn't work because MockNode.getIdentifier() doesn't declare any exceptions. This should be fixed for all methods defined in the JCR API and for all mock classes.



 Comments   
Comment by Tobias Mattsson [ 21/Nov/14 ]

For the simple case above the workaround is to use Mockito, in more complex scenarios where it has to be MockNode this won't be enough.

        Node currentContentNode = Mockito.mock(Node.class);
        Mockito.when(currentContentNode.getIdentifier()).thenThrow(new RepositoryException(""));
Comment by Roman Kovařík [ 19/May/22 ]

Hello,

This ticket is now marked as closed due to one of the following reasons:

  • A long period of inactivity
  • Uses an old or Beta version of an application, module, or framework that we no longer support
  • The issue is no longer reproducible or has been fixed in later versions

If you are still facing a problem or consider this issue still relevant, please feel free to re-open the ticket and we will reach out to you.

Thank you,
The Magnolia Team

Generated at Mon Feb 12 04:10:20 CET 2024 using Jira 9.4.2#940002-sha1:46d1a51de284217efdcb32434eab47a99af2938b.