How to mock SlingSettingsService run modes in Junit5?

Avatar

Avatar

baw_gov

Avatar

baw_gov

baw_gov

29-03-2021

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.

Accepted Solutions (1)

Accepted Solutions (1)

Avatar

Avatar

BrianKasingli

MVP

Avatar

BrianKasingli

MVP

BrianKasingli
MVP

29-03-2021

@baw_gov,

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
    }
}