@Test
  public void testBlobStoreStatsHandleNewEntries() throws Exception {
    store.shutdown();
    ReplicaId replicaId = getMockReplicaId(tempDirStr);
    StoreConfig config = new StoreConfig(new VerifiableProperties(properties));
    MetricRegistry registry = new MetricRegistry();
    storeMetrics = new StoreMetrics(registry);
    MockBlobStoreStats mockBlobStoreStats = new MockBlobStoreStats(time);
    store = new MockBlobStore(replicaId, config, null, storeMetrics, mockBlobStoreStats);
    store.start();

    MockId id = put(1, PUT_RECORD_SIZE, Utils.Infinite_Time).get(0);
    assertNotNull(mockBlobStoreStats.currentValue);
    assertNull(mockBlobStoreStats.originalPutValue);
    assertNull(mockBlobStoreStats.previousValue);
    assertTrue(mockBlobStoreStats.currentValue.isPut());

    updateTtl(id);
    assertNotNull(mockBlobStoreStats.currentValue);
    assertNotNull(mockBlobStoreStats.originalPutValue);
    assertNull(mockBlobStoreStats.previousValue);
    assertTrue(mockBlobStoreStats.currentValue.isTtlUpdate());
    assertTrue(mockBlobStoreStats.originalPutValue.isPut());

    delete(id);
    assertNotNull(mockBlobStoreStats.currentValue);
    assertNotNull(mockBlobStoreStats.originalPutValue);
    assertNotNull(mockBlobStoreStats.previousValue);
    assertTrue(mockBlobStoreStats.currentValue.isDelete());
    assertTrue(mockBlobStoreStats.currentValue.isTtlUpdate());
    assertTrue(mockBlobStoreStats.previousValue.isTtlUpdate());
    assertTrue(mockBlobStoreStats.originalPutValue.isTtlUpdate());
  }
Test {@link BlobStoreStats}'s handle new entries method and make sure the correct {@link IndexValue}s are passed
to these methods.
@throws Exception
ambry-store/src/test/java/com/github/ambry/store/BlobStoreTest.java