@DisplayName("Supported response body types")
    @ParameterizedTest(name = "{index}: {0}")
    @ValueSource(classes = { String.class, byte[].class, Reader.class, InputStream.class })
    void supportedResponseBodyTypes(Class<?> type) throws Exception {
        final int length = 16384;
        final String value = new String(new byte[length]);
        server.expect().withPath("/type").andReturn(200, value).always();
        final HttpRequest request = client.getHttpClient().newHttpRequestBuilder()
                                          .uri(URI.create(client.getConfiguration().getMasterUrl() + "type"))
                                          .build();
        final HttpResponse<?> result = client.getHttpClient().sendAsync(request, type)
                                             .get(10, TimeUnit.SECONDS);
        assertThat(result)
                .satisfies(r -> assertThat(r.headers("Content-Length")).first()
                                                                       .isEqualTo(String.valueOf(length)))
                .satisfies(r -> assertThat(r.body()).isInstanceOf(type))
                .satisfies(r -> assertThat(r.bodyString()).isEqualTo(value));
    }
Tests a {@link HttpClient} at or below the {@link KubernetesClient} level.
kubernetes/src/test/java/com/linecorp/armeria/client/kubernetes/ArmeriaHttpClientTest.java