@Test
  public void dropAllSegmentsUnderCompactionTest() throws Exception {
    Pair<Long, List<LogSegmentName>> deleteTimeAndSegmentsUnderCompaction = setupStateWithDeletedBlobsAtSpecificTime();
    List<LogSegmentName> segmentsUnderCompaction = deleteTimeAndSegmentsUnderCompaction.getSecond();
    // delete all the blobs in the segments under compaction
    Set<MockId> ids = getIdsWithPutInSegments(segmentsUnderCompaction);
    for (MockId id : ids) {
      if (state.liveKeys.contains(id)) {
        state.addDeleteEntry(id);
      }
    }
    long deleteReferenceTimeMs = state.time.milliseconds() + Time.MsPerSec;
    state.advanceTime(deleteReferenceTimeMs - state.time.milliseconds());
    assertEquals("Valid size in the segments under compaction should be 0", 0,
        getValidDataSize(segmentsUnderCompaction, deleteReferenceTimeMs, purgeDeleteTombstone));
    compactAndVerify(segmentsUnderCompaction, deleteReferenceTimeMs, true);
  }
Tests the case where there is no valid data at all in the segments under compaction and they are essentially
dropped.
@throws Exception
ambry-store/src/test/java/com/github/ambry/store/BlobStoreCompactorTest.java