private void doGetAndVerifyBlob(String account, String container, String key, long expectedContentLength,
      byte[] expectedContent) throws Exception {
    // Get the blob and verify content
    String uri = String.format("/s3/%s/%s/%s", account, container, key);
    HttpHeaders headers = new DefaultHttpHeaders();
    FullHttpRequest httpRequest = buildRequest(HttpMethod.GET, uri, headers, null);
    NettyClient.ResponseParts responseParts = nettyClient.sendRequest(httpRequest, null, null).get();
    HttpResponse response = getHttpResponse(responseParts);
    assertEquals("Unexpected status", HttpResponseStatus.OK, response.status());
    assertEquals("Unexpected content type", OCTET_STREAM_CONTENT_TYPE, response.headers().get(CONTENT_TYPE));
    int contentLength = response.headers().getInt(CONTENT_LENGTH);
    assertEquals("Unexpected content length", expectedContentLength, contentLength);
    byte[] content = getContent(responseParts.queue, expectedContentLength).array();
    assertArrayEquals("Unexpected content", expectedContent, content);
  }
Shuts down the Ambry frontend server.
ambry-frontend/src/integration-test/java/com/github/ambry/frontend/S3IntegrationTest.java