need some lights for JUNIT test for ResourceResolverService Implementation class | Community
Skip to main content
Level 3
July 16, 2023
Solved

need some lights for JUNIT test for ResourceResolverService Implementation class

  • July 16, 2023
  • 1 reply
  • 501 views

Dear all,

I have one simple service implementation class called ResourceResolverServiceImpl and I want to write JUNIT test class for this. I am very new to this JUNIT test.

 

************************* ResourceResolverServiceImpl Class *********************

import test.contentadmin.core.service.ResourceResolverService; import org.apache.sling.api.resource.LoginException; import org.apache.sling.api.resource.ResourceResolver; import org.apache.sling.api.resource.ResourceResolverFactory; import org.osgi.service.component.annotations.Component; import org.osgi.service.component.annotations.Reference; import java.util.HashMap; import java.util.Map; @Component(service = ResourceResolverService.class, immediate = true) public class ResourceResolverServiceImpl implements ResourceResolverService { private static final String SYSTEM_USER = "datawrite"; @3214626 ResourceResolverFactory resourceResolverFactory; @9944223 public ResourceResolver getResourceResolver() throws LoginException { Map<String, Object> param = new HashMap<>(); param.put(ResourceResolverFactory.SUBSERVICE, SYSTEM_USER); return resourceResolverFactory.getServiceResourceResolver(param); } }

 

******************************** ResourceResolverService Class *********************

 

import org.apache.sling.api.resource.LoginException; import org.apache.sling.api.resource.ResourceResolver; public interface ResourceResolverService { public ResourceResolver getResourceResolver() throws LoginException; }

 

Now I want to write the JUNIT for this...any good docs "or" video is there for this JUNIT ?

 

Please suggest.

 

Thanks & Regards

sub

This post is no longer active and is closed to new replies. Need help? Start a new post to ask your question.
Best answer by Mahedi_Sabuj

Hi @subnaik, You can mock ResourceResolverFactory using MockResourceResolverFactory.

 

private AemContext ctx = new AemContext( ResourceResolverType.RESOURCERESOLVER_MOCK); private ResourceResolverServiceImpl resolverService; @BeforeEach void setUp() { ctx.registerService( ResourceResolverFactory.class, new MockResourceResolverFactory()); resolverService = ctx.registerInjectActivateService( new ResourceResolverServiceImpl()); }

 

Reference: https://experienceleaguecommunities.adobe.com/t5/adobe-experience-manager/how-to-register-resource-resolver-factory-mock-in-aem-context/m-p/449677 

1 reply

Mahedi_Sabuj
Community Advisor
Mahedi_SabujCommunity AdvisorAccepted solution
Community Advisor
July 16, 2023

Hi @subnaik, You can mock ResourceResolverFactory using MockResourceResolverFactory.

 

private AemContext ctx = new AemContext( ResourceResolverType.RESOURCERESOLVER_MOCK); private ResourceResolverServiceImpl resolverService; @BeforeEach void setUp() { ctx.registerService( ResourceResolverFactory.class, new MockResourceResolverFactory()); resolverService = ctx.registerInjectActivateService( new ResourceResolverServiceImpl()); }

 

Reference: https://experienceleaguecommunities.adobe.com/t5/adobe-experience-manager/how-to-register-resource-resolver-factory-mock-in-aem-context/m-p/449677 

Mahedi Sabuj