public static BlobId generateRandomBlobId(PartitionId partitionId) {
    short accountId = Utils.getRandomShort(TestUtils.RANDOM);
    short containerId = Utils.getRandomShort(TestUtils.RANDOM);
    short blobIdVersion = CommonTestUtils.getCurrentBlobIdVersion();
    boolean toEncrypt = Utils.getRandomShort(TestUtils.RANDOM) % 2 == 0;
    return new BlobId(blobIdVersion, BlobId.BlobIdType.NATIVE, ClusterMap.UNKNOWN_DATACENTER_ID, accountId, containerId,
        partitionId, toEncrypt, BlobId.BlobDataType.DATACHUNK);
  }
For the given partitionId, constructs put messages and adds them to the given lists.
@param partitionId the {@link PartitionId} to use for generating the {@link StoreKey} of the message.
@param hosts the list of {@link MockHost} all of which will be populated with the messages.
@param count the number of messages to construct and add.
@return the list of blobs ids that were generated.
@throws MessageFormatException
@throws IOException
ambry-replication/src/test/java/com/github/ambry/replication/ReplicationTestHelper.java