private void assertBlobIdFieldValues(BlobId blobId, BlobId.BlobIdType type, byte datacenterId, short accountId,
      short containerId, PartitionId partitionId, boolean isEncrypted) throws IOException {
    assertEquals("Wrong partition id in blobId: " + blobId, partitionId, blobId.getPartition());
    assertEquals("Wrong type in blobId: " + blobId, type, blobId.getType());
    assertEquals("Wrong datacenter id in blobId: " + blobId, datacenterId, blobId.getDatacenterId());
    assertEquals("Wrong account id in blobId: " + blobId, accountId, blobId.getAccountId());
    assertEquals("Wrong container id in blobId: " + blobId, containerId, blobId.getContainerId());
    assertEquals("Wrong isEncrypted value in blobId: " + blobId, isEncrypted, BlobId.isEncrypted(blobId.getID()));
  }
Asserts a {@link BlobId} against the expected values.
@param blobId The {@link BlobId} to assert.
@param type The expected {@link BlobId.BlobIdType}.
@param datacenterId The expected {@code datacenterId}. This will be of no effect if version is set to v1, and the
                    expected value will become {@link ClusterMap#UNKNOWN_DATACENTER_ID}.
                    For v2, {@code null} will make the assertion against
                    {@link ClusterMap#UNKNOWN_DATACENTER_ID}.
@param accountId The expected {@code accountId}. This will be of no effect if version is set to v1, and the expected
                 value will become {@link Account#UNKNOWN_ACCOUNT_ID}. For v2, {@code null} will make the assertion
                 against {@link Account#UNKNOWN_ACCOUNT_ID}.
@param containerId The expected {@code containerId}. This will be of no effect if version is set to v1, and the
                   expected value will become {@link Container#UNKNOWN_CONTAINER_ID}. For v2, {@code null} will make
                   the assertion against {@link Container#UNKNOWN_CONTAINER_ID}.
@param partitionId The expected partitionId.
@param isEncrypted {@code true} expected {@code isEncrypted}. This will be of no effect if version is set to v1 and v2.
@throws IOException Any unexpected exception.
ambry-frontend/src/test/java/com/github/ambry/frontend/FrontendUtilsTest.java