List<Pair<String, String>> doListDatasetVersionAndVerify(List<Dataset> datasets,
      List<Pair<String, String>> expectDatasetVersions) throws Exception {
    InMemAccountService.PAGE_SIZE = -1;
    List<Pair<String, String>> allDatasetVersions = new ArrayList<>();
    for (Dataset dataset : datasets) {
      HttpHeaders listHeaders = new DefaultHttpHeaders();
      listHeaders.add(TARGET_ACCOUNT_NAME, dataset.getAccountName());
      listHeaders.add(TARGET_CONTAINER_NAME, dataset.getContainerName());
      listHeaders.add(TARGET_DATASET_NAME, dataset.getDatasetName());
      listHeaders.add(ENABLE_DATASET_VERSION_LISTING, true);
      listHeaders.add(RestUtils.Headers.DATASET_VERSION_QUERY_ENABLED, true);
      allDatasetVersions.addAll(listDatasetVersions(dataset, listHeaders));
    }
    sortPair(expectDatasetVersions);
    sortPair(allDatasetVersions);
    assertEquals("The size of the dataset version should meet expectation", expectDatasetVersions.size(),
        allDatasetVersions.size());
    assertEquals("Should list all dataset versions", expectDatasetVersions, allDatasetVersions);
    return allDatasetVersions;
  }
Verify Named blob List operation.
@param accountName The account name.
@param containerName The container name
@param ownerId The owner id
@param prefix The prefix of blob name.
@param numberOfBlobs The expected number of named blobs returned by list operation.
@throws Exception
ambry-frontend/src/integration-test/java/com/github/ambry/frontend/FrontendIntegrationTestBase.java