How to mock SlingSettingsService run modes in Junit5? | Community
Skip to main content
Level 2
Mar 29, 2021 2:48 PM UTC
Solved

How to mock SlingSettingsService run modes in Junit5?

I am trying to Mock SlingSettingsService with run modes in Junit5.

 

In my h.java file, in Activate method I have.

srun = slingSettingsService.getRunModes().contains("runMode");

How do I mock this in my htest.java file? This is for Junit5.

This post is no longer active and is closed to new replies. Need help? Start a new post to ask your question.
BrianKasingli
BrianKasingliAccepted solution
New Participant
Mar 30, 2021 2:57 AM UTC

@gbaweja,

you can do something like this:

 

@ExtendWith(AemContextExtension.class) public class ExampleTest { private final AemContext context = new AemContext(); Set<String> mockRunModes = new TreeSet<String>(); @Mock private SlingSettingsService slingSettingsService; @Before public void before() { when(slingSettingsService.getRunModes()).thenReturn(mockRunModes); } @Test public void testSomething() { mockRunModes.add("publish"); Resource resource = context.resourceResolver().getResource("/content/sample/en"); Page page = resource.adaptTo(MyClass.class); // further testing } }

 

2 replies

BrianKasingli
BrianKasingliAccepted solution
New Participant
Mar 30, 2021 2:57 AM UTC

@gbaweja,

you can do something like this:

 

@ExtendWith(AemContextExtension.class) public class ExampleTest { private final AemContext context = new AemContext(); Set<String> mockRunModes = new TreeSet<String>(); @Mock private SlingSettingsService slingSettingsService; @Before public void before() { when(slingSettingsService.getRunModes()).thenReturn(mockRunModes); } @Test public void testSomething() { mockRunModes.add("publish"); Resource resource = context.resourceResolver().getResource("/content/sample/en"); Page page = resource.adaptTo(MyClass.class); // further testing } }

 

Translate
Bhuwan_B
New Participant
Mar 29, 2021 3:02 PM UTC