@ParameterizedTest
    @CsvSource({ "H1", "H2"})
    public void tlsAttrs(SessionProtocol sessionProtocol) throws Exception {
        final WebClient client = WebClient.builder(server().uri(sessionProtocol))
                                          .factory(ClientFactory.insecure())
                                          .build();

        final AggregatedHttpResponse res = client.get("/jsp/tls.jsp").aggregate().join();
        final SSLSession sslSession = server().requestContextCaptor().take().sslSession();
        assert sslSession != null;
        final String expectedId;
        if (sslSession.getId() != null) {
            expectedId = BaseEncoding.base16().encode(sslSession.getId());
        } else {
            expectedId = "";
        }

        assertThatJson(res.contentUtf8())
                .node("sessionId").isStringEqualTo(expectedId)
                .node("cipherSuite").isStringEqualTo(sslSession.getCipherSuite())
                .node("keySize").matches(greaterThan(BigDecimal.ZERO))
                .node("hasPeerCerts").isEqualTo(false);
    }
Returns the {@link ServerExtension} that provides the {@link Server} that serves the {@link Service}s
this test runs against.
testing-internal/src/main/java/com/linecorp/armeria/internal/testing/webapp/WebAppContainerTest.java