1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27 package org.apache.hc.client5.testing.async;
28
29 import java.util.Arrays;
30 import java.util.Collection;
31
32 import org.apache.hc.client5.http.config.RequestConfig;
33 import org.apache.hc.client5.http.impl.async.CloseableHttpAsyncClient;
34 import org.apache.hc.client5.http.impl.async.H2AsyncClientBuilder;
35 import org.apache.hc.client5.http.ssl.DefaultClientTlsStrategy;
36 import org.apache.hc.client5.testing.SSLTestContexts;
37 import org.apache.hc.core5.http.HttpVersion;
38 import org.apache.hc.core5.http.URIScheme;
39 import org.junit.Rule;
40 import org.junit.rules.ExternalResource;
41 import org.junit.runner.RunWith;
42 import org.junit.runners.Parameterized;
43
44 @RunWith(Parameterized.class)
45 public class TestH2AsyncRedirect extends AbstractHttpAsyncRedirectsTest<CloseableHttpAsyncClient> {
46
47 @Parameterized.Parameters(name = "HTTP/2 {0}")
48 public static Collection<Object[]> protocols() {
49 return Arrays.asList(new Object[][]{
50 { URIScheme.HTTP },
51 { URIScheme.HTTPS }
52 });
53 }
54
55 protected H2AsyncClientBuilder clientBuilder;
56
57 public TestH2AsyncRedirect(final URIScheme scheme) {
58 super(HttpVersion.HTTP_2, scheme);
59 }
60
61 @Rule
62 public ExternalResource clientResource = new ExternalResource() {
63
64 @Override
65 protected void before() throws Throwable {
66 clientBuilder = H2AsyncClientBuilder.create()
67 .setDefaultRequestConfig(RequestConfig.custom()
68 .setConnectionRequestTimeout(TIMEOUT)
69 .setConnectTimeout(TIMEOUT)
70 .build())
71 .setTlsStrategy(new DefaultClientTlsStrategy(SSLTestContexts.createClientSSLContext()));
72 }
73
74 };
75
76 @Override
77 protected CloseableHttpAsyncClient createClient() {
78 return clientBuilder.build();
79 }
80
81 }