String verifyPostRejectsAndReturnRandomBlobId(NettyClient.ResponseParts responseParts, long contentSize) {
    HttpResponse response = getHttpResponse(responseParts);
    assertEquals("Unexpected response status", HttpResponseStatus.TOO_MANY_REQUESTS, response.status());
    assertTrue("No Date header", response.headers().getTimeMillis(HttpHeaderNames.DATE, -1) != -1);
    assertNull("No " + RestUtils.Headers.CREATION_TIME, response.headers().get(RestUtils.Headers.CREATION_TIME, null));
    assertEquals("Content-Length is not 0", 0, HttpUtil.getContentLength(response));
    String blobId = response.headers().get(HttpHeaderNames.LOCATION, null);
    assertNull("Blob ID from POST should be null", blobId);
    assertNoContent(responseParts.queue, 1);
    assertFalse("Channel should be inactive", HttpUtil.isKeepAlive(response));
    assertEquals("No blob size should be returned in response", null,
        response.headers().get(RestUtils.Headers.BLOB_SIZE));
    verifyTrackingHeaders(response);
    verifyUserQuotaHeaders(response);
    return new BlobId(BlobId.BLOB_ID_V6, BlobId.BlobIdType.NATIVE, (byte) 0, ACCOUNT.getId(), CONTAINER.getId(),
        new Partition(0L, DEFAULT_PARTITION_CLASS, PartitionState.READ_WRITE, 1073741824), false,
        BlobId.BlobDataType.SIMPLE).getID();
  }
Verifies a POST and returns the blob ID.
@param responseParts the response received from the server.
@returnn the blob ID of the blob.
ambry-frontend/src/integration-test/java/com/github/ambry/frontend/FrontendQuotaIntegrationTest.java