private void deleteBlobAndVerify(String blobId, JSONObject expectedHeaders, ByteBuffer expectedContent,
      Account expectedAccount, Container expectedContainer, boolean attachPreconditions) throws Exception {
    JSONObject headers = new JSONObject();
    if (attachPreconditions) {
      setAccountAndContainerHeaders(headers, expectedAccount.getName(), expectedContainer.getName());
    }
    RestRequest restRequest = createRestRequest(RestMethod.DELETE, blobId, headers, null);
    verifyDeleteAccepted(restRequest);
    verifyOperationsAfterDelete(blobId, expectedHeaders, expectedContent, expectedAccount, expectedContainer);
  }
Deletes the blob with blob ID {@code blobId} and verifies the response returned. Also checks responses from
GET, HEAD, TTL Update and DELETE
@param blobId the blob ID of the blob to DELETE.
@param expectedHeaders the expected headers in the GET response triggered for verification (if right options are
                       provided).
@param expectedContent the expected account in the GET response triggered for verification (if right options are
                       provided). Also used to attach preconditions if required.
@param expectedAccount the expected container in the GET response triggered for verification (if right options are
                       provided). Also used to attach preconditions if required.
@param expectedContainer the {@link Container} details that are eventually expected to be populated.
@param attachPreconditions if {@code true}, attaches preconditions to the request
@throws Exception
ambry-frontend/src/test/java/com/github/ambry/frontend/FrontendRestRequestServiceTest.java