public void testListImagesResponseIs4xx() {
    HttpRequest list =
        HttpRequest.builder()
            .method("GET")
            .endpoint("https://www.googleapis" + ".com/compute/v1beta13/projects/myproject/images")
            .addHeader("Accept", "application/json")
            .addHeader("Authorization", "Bearer " + TOKEN)
            .build();

    HttpResponse operationResponse = HttpResponse.builder().statusCode(404).build();

    ImageApi imageApi =
        requestsSendResponses(
                requestForScopes(COMPUTE_READONLY_SCOPE), TOKEN_RESPONSE, list, operationResponse)
            .getImageApiForProject("myproject");

    assertTrue(imageApi.list().concat().isEmpty());
  }
  public void testGetImageResponseIs4xx() throws Exception {
    HttpRequest get =
        HttpRequest.builder()
            .method("GET")
            .endpoint(
                "https://www.googleapis"
                    + ".com/compute/v1beta13/projects/google/images/centos-6-2-v20120326")
            .addHeader("Accept", "application/json")
            .addHeader("Authorization", "Bearer " + TOKEN)
            .build();

    HttpResponse operationResponse = HttpResponse.builder().statusCode(404).build();

    ImageApi imageApi =
        requestsSendResponses(
                requestForScopes(COMPUTE_READONLY_SCOPE), TOKEN_RESPONSE, get, operationResponse)
            .getImageApiForProject("google");

    assertNull(imageApi.get("centos-6-2-v20120326"));
  }
  public void testDeleteImageResponseIs4xx() {
    HttpRequest delete =
        HttpRequest.builder()
            .method("DELETE")
            .endpoint(
                "https://www.googleapis"
                    + ".com/compute/v1beta13/projects/myproject/images/centos-6-2-v20120326")
            .addHeader("Accept", "application/json")
            .addHeader("Authorization", "Bearer " + TOKEN)
            .build();

    HttpResponse deleteResponse = HttpResponse.builder().statusCode(404).build();

    ImageApi imageApi =
        requestsSendResponses(
                requestForScopes(COMPUTE_SCOPE), TOKEN_RESPONSE, delete, deleteResponse)
            .getImageApiForProject("myproject");

    assertNull(imageApi.delete("centos-6-2-v20120326"));
  }
  public void testListImagesResponseIs2xx() {
    HttpRequest list =
        HttpRequest.builder()
            .method("GET")
            .endpoint("https://www.googleapis" + ".com/compute/v1beta13/projects/myproject/images")
            .addHeader("Accept", "application/json")
            .addHeader("Authorization", "Bearer " + TOKEN)
            .build();

    HttpResponse operationResponse =
        HttpResponse.builder()
            .statusCode(200)
            .payload(payloadFromResource("/image_list.json"))
            .build();

    ImageApi imageApi =
        requestsSendResponses(
                requestForScopes(COMPUTE_READONLY_SCOPE), TOKEN_RESPONSE, list, operationResponse)
            .getImageApiForProject("myproject");

    assertEquals(
        imageApi.listFirstPage().toString(), new ParseImageListTest().expected().toString());
  }