@Test
void replay()
{

    InstallRequest installRequest = new InstallRequest();
    ExtensionJobHistoryRecord installRecord =
        new ExtensionJobHistoryRecord("install", installRequest, null, null, null);
    UninstallRequest uninstallRequest = new UninstallRequest();
    ExtensionJobHistoryRecord uninstallRecord =
        new ExtensionJobHistoryRecord("uninstall", uninstallRequest, null, null, null);
    ReplayRequest request = new ReplayRequest();
    request.setRecords(Arrays.asList(installRecord, uninstallRecord));
    assertNull(installRequest.isStatusLogIsolated());
    assertNull(uninstallRequest.isStatusLogIsolated());
    this.replayJob.initialize(request);
    this.replayJob.run();
    verify(this.installJob).initialize(installRequest);
    verify(this.installJob).run();
    verify(this.uninstallJob).initialize(uninstallRequest);
    verify(this.uninstallJob).run();
    assertEquals(1, this.replayJob.getStatus().getCurrentRecordNumber());
    // Make sure the replay job does not need and does not initialize any ExecutionContext
    verifyNoInteractions(this.execution);
    // Make sure the replay job force the job request to not be isolated so that their log end up in replay job log
    assertFalse(installRequest.isStatusLogIsolated());
    assertFalse(uninstallRequest.isStatusLogIsolated());
}