static Pair<MockBlobStore, StoreConfig> initializeBlobStore(Properties properties, Time time,
      StoreConfigWrapper wrapper) throws Exception {
    if (wrapper.minLogSizeToTriggerCompactionInPercentage != -1) {
      properties.setProperty("store.min.log.size.to.trigger.compaction.in.percent",
          String.valueOf(wrapper.minLogSizeToTriggerCompactionInPercentage));
    }
    if (wrapper.messageRetentionInHours != -1) {
      properties.setProperty("store.deleted.message.retention.minutes",
          String.valueOf(wrapper.messageRetentionInHours * 60));
    }
    properties.setProperty(StoreConfig.storeCompactAllPolicyFilterOutAllValidSegmentName,
        String.valueOf(wrapper.compactAllFilterAllValidSegment));
    StoreConfig config = new StoreConfig(new VerifiableProperties(properties));
    time.sleep(10 * TimeUnit.MINUTES.toMillis(config.storeDeletedMessageRetentionMinutes));
    MetricRegistry metricRegistry = new MetricRegistry();
    StoreMetrics metrics = new StoreMetrics(metricRegistry);
    MockBlobStoreStats mockBlobStoreStats = new MockBlobStoreStats(wrapper.maxBlobSize);
    MockBlobStore blobStore =
        new MockBlobStore(config, metrics, time, CAPACITY_IN_BYTES, SEGMENT_CAPACITY_IN_BYTES, SEGMENT_HEADER_SIZE,
            DEFAULT_USED_CAPACITY_IN_BYTES, mockBlobStoreStats);
    return new Pair<>(blobStore, config);
  }
Initializes {@link BlobStore}
@param minLogSizeToTriggerCompactionInPercentage Property value to be set for
{@link StoreConfig#storeMinUsedCapacityToTriggerCompactionInPercentage}
@param messageRetentionInHours Property value to be set for {@link StoreConfig#storeDeletedMessageRetentionMinutes}
@throws InterruptedException
ambry-store/src/test/java/com/github/ambry/store/CompactionPolicyTest.java