@Test
public void shouldUpgradeUsingALPN() throws Exception {
SkipTestNG.skipSinceJDK(10);
if (!OpenSsl.isAlpnSupported()) {
throw new IllegalStateException("OpenSSL is not present, can not test TLS/ALPN support. Version: " + OpenSsl.versionString() + " Cause: " + OpenSsl.unavailabilityCause());
}
restServer = RestServerHelper.defaultRestServer("http2testcache")
.withKeyStore(KEY_STORE_PATH, "secret", "pkcs12")
.start(TestResourceTracker.getCurrentTestShortName());
client = NettyHttpClient.newHttp2ClientWithALPN(KEY_STORE_PATH, "secret");
client.start(restServer.getHost(), restServer.getPort());
FullHttpRequest putValueInCacheRequest = new DefaultFullHttpRequest(HTTP_1_1, POST, "/rest/http2testcache/test",
wrappedBuffer("test".getBytes(CharsetUtil.UTF_8)));
client.sendRequest(putValueInCacheRequest);
Queue<FullHttpResponse> responses = client.getResponses();
Assertions.assertThat(responses).hasSize(1);
Assertions.assertThat(responses.element().status().code()).isEqualTo(200);
Assertions.assertThat(restServer.getCacheManager().getCache("http2testcache").size()).isEqualTo(1);
}