@Test
  public void initializedLoadBlobStoreTest() throws Exception {
    generateConfigs(true, false);
    MockDataNodeId localNode = clusterMap.getDataNodes().get(0);
    List<ReplicaId> localReplicas = clusterMap.getReplicaIds(localNode);
    MockClusterParticipant mockHelixParticipant = new MockClusterParticipant();

    // Create a new partition
    PartitionId newPartition1 =
        new MockPartitionId(11L, MockClusterMap.DEFAULT_PARTITION_CLASS, clusterMap.getDataNodes(), 0);

    // Start StorageManager
    StorageManager storageManager =
        createStorageManager(localNode, metricRegistry, Collections.singletonList(mockHelixParticipant));
    storageManager.start();

    // Initialize the blob store
    assertTrue("Blob store should be initialized",
        storageManager.initializeBlobStore(newPartition1.getReplicaIds().get(0)));

    // Verify if Log is being constructed
    DiskManager diskManager = storageManager.getDiskManager(newPartition1);
    assertNotNull("DiskManager should not be null", diskManager);
    Store store = diskManager.getStore(newPartition1, true);
    assertNotNull("Store should not be null", store);
    BlobStore blobStore = (BlobStore) store;
    assertNotNull("Log should not be null", blobStore.getLog());

    // Verify if segments have been added in the Reserver dir of the blob after blob store init
    File reserveDir = new File(diskManager.getDisk().getMountPath(), diskManagerConfig.diskManagerReserveFileDirName);
    assertTrue("reserveDir should not be null", reserveDir.exists());
    File reserveStore = new File(reserveDir, DiskSpaceAllocator.STORE_DIR_PREFIX + newPartition1.getId());
    assertTrue("reserveStore should not be null", reserveStore.exists());
    File reserveSizeDir = new File(reserveStore, DiskSpaceAllocator.FILE_SIZE_DIR_PREFIX + String.valueOf(storeConfig.storeSegmentSizeInBytes));
    assertTrue("reserveSizeDir should not be null", reserveSizeDir.exists());
    assertTrue("reserveSizeDir should not be empty", reserveSizeDir.list().length > 0);

    // Check accessibility of blob store
    assertNull("Blob store should not be accessible after initialization", storageManager.getStore(newPartition1));
    assertNotNull("Blob store should be accessible with skipping state check",
        storageManager.getStore(newPartition1, true));

    // load the blob store
    assertTrue("Loading of blob store should succeed",
        storageManager.loadBlobStore(newPartition1.getReplicaIds().get(0)));

    // check accessibility of blob store
    assertNotNull("Blob store should be accessible after loading", storageManager.getStore(newPartition1));

    localReplicas.add(newPartition1.getReplicaIds().get(0));
    shutdownAndAssertStoresInaccessible(storageManager, localReplicas);
  }
Starts the {@link StorageManager}
Initializes the blob store and then loads the blob store
Checks whether initialization and loading is successful and asserts accessibility
@throws Exception exception
ambry-store/src/test/java/com/github/ambry/store/StorageManagerTest.java