@Override
  void verifyGetBlobInfoResponse(HttpResponse response, HttpHeaders expectedHeaders, boolean isPrivate,
      String accountName, String containerName, byte[] usermetadata, NettyClient.ResponseParts responseParts,
      Container container) {
    if (!throttleRequest || quotaMode == QuotaMode.TRACKING) {
      super.verifyGetBlobInfoResponse(response, expectedHeaders, isPrivate, accountName, containerName, usermetadata,
          responseParts, container);
    } else {
      assertEquals("Unexpected response status", HttpResponseStatus.TOO_MANY_REQUESTS, response.status());
      assertTrue("Date header should be present", response.headers().contains(HttpHeaderNames.DATE));
      assertFalse("Last-Modified header should not be present",
          response.headers().contains(HttpHeaderNames.LAST_MODIFIED));
      verifyTrackingHeaders(response);
      verifyBlobPropertiesHeadersAbsent(response);
      verifyAccountAndContainerHeaders(null, null, response);
      verifyUserMetadataHeadersAbsent(response);
      if (usermetadata == null) {
        assertEquals("Content-Length is not 0", 0, HttpUtil.getContentLength(response));
        assertNoContent(responseParts.queue, 1);
      }
      assertTrue("Channel should be active", HttpUtil.isKeepAlive(response));
      assertFalse(RestUtils.Headers.LIFE_VERSION + " should not be present",
          response.headers().contains(RestUtils.Headers.LIFE_VERSION));
      verifyUserQuotaHeaders(response);
    }
  }
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