Junit5 test case for accesscontrolManager functionality throws excpeption
This test case throws unsupported exception when using the JUNIT5 version as per below
I am instantiating the aem context at class level with below code
@ExtendWith({ AemContextExtension.class, MockitoExtension.class })
class TrashcanServletTest {
private final AemContext aemContext = new AemContext(ResourceResolverType.JCR_MOCK);
Testcase method is provided here :
void testDoGetSlingHttpServletRequestSlingHttpServletResponse() throws UnsupportedRepositoryOperationException, RepositoryException {
aemContext.create().page("/content/ey-unified-site/language-masters/en/blueprintpage2/page1", "/", "We Retail");
MockSlingHttpServletRequestmockSlingRequest = aemContext.request();
MockSlingHttpServletResponsemockSlingResponse = aemContext.response();
Resource payloadResource = mockSlingRequest.getResourceResolver().resolve("/content/ey-unified-site/language-masters/en/blueprintpage2/page1");
ResourceResolver rr = payloadResource.getResourceResolver();
Session session = rr.adaptTo(Session.class);
final AccessControlManager accessControlManager = session.getAccessControlManager();
final Privilege moveToTrashCanPrivilege = accessControlManager.privilegeFromName(Privilege.JCR_REMOVE_NODE);
if(accessControlManager.hasPrivileges(payloadResource.getPath(), new Privilege[]{moveToTrashCanPrivilege})) {
//todo use full work
}
This line--> final AccessControlManager accessControlManager = session.getAccessControlManager(); throws java.lang.UnsupportedOperationException
Where as I found the test cases in below URL where JUNIT 4 class works
Mocking the accessControlMager using when() method also not resolving the issue as per below code:
Mockito.lenient().when(session.getAccessControlManager()).thenReturn(accessControlManager);