View Javadoc
1   /*
2    * ====================================================================
3    * Licensed to the Apache Software Foundation (ASF) under one
4    * or more contributor license agreements.  See the NOTICE file
5    * distributed with this work for additional information
6    * regarding copyright ownership.  The ASF licenses this file
7    * to you under the Apache License, Version 2.0 (the
8    * "License"); you may not use this file except in compliance
9    * with the License.  You may obtain a copy of the License at
10   *
11   *   http://www.apache.org/licenses/LICENSE-2.0
12   *
13   * Unless required by applicable law or agreed to in writing,
14   * software distributed under the License is distributed on an
15   * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
16   * KIND, either express or implied.  See the License for the
17   * specific language governing permissions and limitations
18   * under the License.
19   * ====================================================================
20   *
21   * This software consists of voluntary contributions made by many
22   * individuals on behalf of the Apache Software Foundation.  For more
23   * information on the Apache Software Foundation, please see
24   * <http://www.apache.org/>.
25   *
26   */
27  
28  package org.apache.hc.core5.testing.nio;
29  
30  import org.apache.hc.core5.http.URIScheme;
31  import org.junit.jupiter.api.DisplayName;
32  import org.junit.jupiter.api.Nested;
33  
34  public class HttpIntegrationTests {
35  
36      @Nested
37      @DisplayName("Core transport (HTTP/1.1)")
38      public class CoreTransport extends Http1CoreTransportTest {
39  
40          public CoreTransport() {
41              super(URIScheme.HTTP);
42          }
43  
44      }
45  
46      @Nested
47      @DisplayName("Core transport (HTTP/1.1, TLS)")
48      public class CoreTransportTls extends Http1CoreTransportTest {
49  
50          public CoreTransportTls() {
51              super(URIScheme.HTTPS);
52          }
53  
54      }
55  
56      @Nested
57      @DisplayName("Core transport (H2)")
58      public class CoreTransportH2 extends H2CoreTransportTest {
59  
60          public CoreTransportH2() {
61              super(URIScheme.HTTP);
62          }
63  
64      }
65  
66      @Nested
67      @DisplayName("Core transport (H2, TLS)")
68      public class CoreTransportH2Tls extends H2CoreTransportTest {
69  
70          public CoreTransportH2Tls() {
71              super(URIScheme.HTTPS);
72          }
73  
74      }
75  
76      @Nested
77      @DisplayName("Core transport (H2, multiplexing)")
78      public class CoreTransportH2Multiplexing extends H2CoreTransportMultiplexingTest {
79  
80          public CoreTransportH2Multiplexing() {
81              super(URIScheme.HTTP);
82          }
83  
84      }
85  
86      @Nested
87      @DisplayName("Core transport (H2, multiplexing, TLS)")
88      public class CoreTransportH2MultiplexingTls extends H2CoreTransportMultiplexingTest {
89  
90          public CoreTransportH2MultiplexingTls() {
91              super(URIScheme.HTTPS);
92          }
93  
94      }
95  
96      @Nested
97      @DisplayName("Server filters")
98      public class HttpFilters extends AsyncServerBootstrapFilterTest {
99  
100         public HttpFilters() {
101             super();
102         }
103 
104     }
105 
106     @Nested
107     @DisplayName("H2 Server filters")
108     public class H2Filters extends H2ServerBootstrapFiltersTest {
109 
110         public H2Filters() {
111             super();
112         }
113 
114     }
115 
116     @Nested
117     @DisplayName("Authentication")
118     public class Authentication extends Http1AuthenticationTest {
119 
120         public Authentication() {
121             super(false);
122         }
123 
124     }
125 
126     @Nested
127     @DisplayName("Authentication (immediate response)")
128     public class AuthenticationImmediateResponse extends Http1AuthenticationTest {
129 
130         public AuthenticationImmediateResponse() {
131             super(true);
132         }
133 
134     }
135 
136     @Nested
137     @DisplayName("Core transport (HTTP/1.1, SOCKS)")
138     public class CoreTransportSocksProxy extends Http1SocksProxyCoreTransportTest {
139 
140         public CoreTransportSocksProxy() {
141             super(URIScheme.HTTP);
142         }
143 
144     }
145 
146     @Nested
147     @DisplayName("Core transport (HTTP/1.1, TLS, SOCKS)")
148     public class CoreTransportSocksProxyTls extends Http1SocksProxyCoreTransportTest {
149 
150         public CoreTransportSocksProxyTls() {
151             super(URIScheme.HTTPS);
152         }
153 
154     }
155 
156     @Nested
157     @DisplayName("Core transport (H2, SOCKS)")
158     public class CoreTransportH2SocksProxy extends H2SocksProxyCoreTransportTest {
159 
160         public CoreTransportH2SocksProxy() {
161             super(URIScheme.HTTP);
162         }
163 
164     }
165 
166     @Nested
167     @DisplayName("Core transport (H2, TLS, SOCKS)")
168     public class CoreTransportH2SocksProxyTls extends H2SocksProxyCoreTransportTest {
169 
170         public CoreTransportH2SocksProxyTls() {
171             super(URIScheme.HTTPS);
172         }
173 
174     }
175 }