@Test
  public void deleteMultipleVersionsTest() throws Exception {
    // Upload 5 versions of the same named blob
    final int NUM_VERSIONS = 5;
    List<String> blobIds = new ArrayList<>(NUM_VERSIONS);
    for (int i = 0; i < NUM_VERSIONS; i++) {
      blobIds.add(uploadOneVersion());
    }
    // Delete this named blob, it should delete all versions
    JSONObject headers = new JSONObject();
    headers.put(RestUtils.Headers.SERVICE_ID, SERVICE_ID);
    RestRequest request = getDeleteRestRequest(headers, request_path);

    RestResponseChannel restResponseChannel = new MockRestResponseChannel();
    FutureResult<Void> future = new FutureResult<>();
    deleteBlobHandler.handle(request, restResponseChannel, future::done);
    future.get(TIMEOUT_SECS, TimeUnit.SECONDS);

    for (String blobId : blobIds) {
      // All version of blob ids should be deleted
      assertTrue(router.getDeletedBlobs().contains(blobId));
    }
  }
Test class for {@link DeleteBlobHandler} for named blob part. Some functions of DeleteBlobHandler are
tested in {@link FrontendRestRequestServiceTest}. For now, this class is only testing deletes on
multiple versions of named blobs.
ambry-frontend/src/test/java/com/github/ambry/frontend/NamedBlobDeleteHandlerTest.java