I like to create test classes which can be started on local system connecting to an AEM repository. To be able to use same code as running inside repository, I need to have a proper ResourceResolver initialized. Of course, inside a running AEM instance, I just get it from the SlingHttpServletRequest. How can I get a ResourceResolver from local test class?
Sample code:
ResourceResolver resResolver = ????
PageManager pageMgr = resResolver.adaptTo(PageManager.class);
....
Solved! Go to Solution.
Views
Replies
Total Likes
Here are different ways you can get resourceResolver
Here are different ways you can get resourceResolver
There can be two approach to solve your problem
a) Considering the test class resides inside OSGI, you can inject a reference to this service [1]
b) If you still need a slingRequest Object(from current user session), you can make a rest end point(write all ur test class code in jsp) and hit this rest end point. For this you can refer [2] [3]
[2] http://sling.apache.org/documentation/development/sling-testing-tools.html
Let me know if you still face any problem.
Views
Replies
Total Likes
thanks for the reply.
I want to run the code outside of the Repository instance (outside of AEM). I don't want to run any tests remotely, i.e. like in a JSP that still resides on the AEM itself.
My goal is just to open a connection to the repository like I can do with JcrUtils.getRepository(). This way I still can connect and operate to any JCR nodes directly. But I like to use the Sling Features (i.e. adaptTo).
Views
Likes
Replies