@Test
  public void findDeletedEntriesSinceTest() throws StoreException {
    // add some more entries so that the journal gets entries across segments and doesn't start at the beginning
    // of an index segment.
    state.addPutEntries(7, CuratedLogIndexState.PUT_RECORD_SIZE, Utils.Infinite_Time);
    MockId idToDelete = state.getIdToDeleteFromIndexSegment(state.referenceIndex.lastKey(), false);
    state.addDeleteEntry(idToDelete);

    // token with log end offset should not return anything
    StoreFindToken token =
        new StoreFindToken(state.log.getEndOffset(), state.sessionId, state.incarnationId, false, null, null,
            UNINITIALIZED_RESET_KEY_VERSION);
    doFindDeletedEntriesSinceTest(token, Long.MAX_VALUE, Collections.emptySet(), token);

    findDeletedEntriesSinceToIndexBasedTest();
    findDeletedEntriesSinceToJournalBasedTest();
    findDeletedEntriesSinceOneByOneTest();
    findDeletedEntriesSinceIndexBasedTokenForOffsetInJournalTest();

    findEntriesSinceInEmptyIndexTest(true);
  }
Tests {@link PersistentIndex#findDeletedEntriesSince(FindToken, long, long)} for various cases
1. All cases that result in getting an index based token
2. All cases that result in getting a journal based token
3. Getting entries one by one
4. Getting entries using an index based token for an offset in the journal
5. Using findDeletedEntriesSince() in an empty index
6. Token that has the log end offset
@throws StoreException
ambry-store/src/test/java/com/github/ambry/store/IndexTest.java