private String postBlobAndVerify(JSONObject headers, ByteBuffer content, Account expectedAccount,
      Container expectedContainer) throws Exception {
    List<ByteBuffer> contents = new LinkedList<>();
    contents.add(content);
    contents.add(null);
    RestRequest restRequest = createRestRequest(RestMethod.POST, "/", headers, contents);
    MockRestResponseChannel restResponseChannel = new MockRestResponseChannel();
    doOperation(restRequest, restResponseChannel);
    return verifyPostAndReturnBlobId(restRequest, restResponseChannel, expectedAccount, expectedContainer);
  }
Posts a blob with the given {@code headers} and {@code content}.
@param headers the headers of the new blob that get converted to blob properties.
@param content the content of the blob.
@param expectedAccount the expected {@link Account} instance injected into the {@link RestRequest}.
@param expectedContainer the expected {@link Container} instance injected into the {@link RestRequest}.
@return the blob ID of the blob.
@throws Exception
ambry-frontend/src/test/java/com/github/ambry/frontend/FrontendRestRequestServiceTest.java