@Test
public void testGetFixtureProvider_withHome() throws Exception {

    final File testOutDir = new File(testOutBaseDir, "testGetFixtureProvider_withHome");
    FileUtils.deleteDirectory(testOutDir);
    testOutDir.mkdirs();
    WebsterMojo mojo = newMojo();
    mojo.websterOakRunArgs = null;
    final File repositoryHome = new File(testOutDir, "websterRepositoryHome");
    repositoryHome.mkdirs();
    mojo.websterRepositoryHome = repositoryHome;
    MockMojoLog log = logFor(mojo);
    log.entries.clear();
    assertNull("home fixture provider is null without journal.log", mojo.getFixtureProvider());
    log.printAll();
    assertTrue("log contains correct message",
            log.any(entry -> entry.message.startsWith("segmentstore/journal.log")));
    prepareRepo(new File(repositoryHome, "segmentstore"), session -> {
        session.getRootNode().addNode("foo");
        session.save();
    });
    WebsterPlan.FixtureProvider homeProvider = mojo.getFixtureProvider();
    assertNotNull("home fixture provider not null", homeProvider);
    final CompletableFuture<Boolean> homePerformed = new CompletableFuture<>();
    final WebsterPlan.Builder homeBuilder = new WebsterPlan.Builder();
    withMockTarget(homeBuilder, session -> homePerformed.complete(true));
    homeBuilder.withFixtureProvider(homeProvider);
    homeBuilder.build().perform();
    assertTrue("should be performed with home", homePerformed.getNow(false));
}