JIRA: http://issues.redhat.com/browse/QQE-376 PR: quarkus-qe/quarkus-test-suite#1655
The scope of this test plan encompasses the development and execution of HTTP/2 test cases for REST endpoints using the Quarkus REST extension. and Vert.x HttpClient within the Quarkus Test Suite.
-
HttpClient Vertx Compatibility HTTP/1.1 Test:
- Verify that the HttpClient functions correctly with HTTP/1.1.
- Ensure that the response status code is OK and the version is HTTP/1.1.
- Confirm the presence of the expected response body containing the text expected.
-
HttpClient Vertx HTTP/2 Protocol Test with SSL, ALPN:
- Verify the HttpClient's compatibility with HTTP/2 protocol.
- Ensure that the HttpClient is configured with SSL, ALPN, TrustAll set to true, and VerifyHost set to false.
- Confirm that the response status code is OK and the version is HTTP/2.
- Assert the presence of the expected response body containing the greeting.
-
HTTP/2 Protocol Test:
- Verify the HttpClient's compatibility with HTTP/2 protocol.
- Confirm that the response status code is OK and the version is HTTP/2.
- Assert the presence of the expected response body containing the text expected.
-
Test Max Header Size Exceeded:
- Verify the appropriate error message is returned when the maximum header size is exceeded using HTTP/2.
- Generate headers to exceed the configured limit.
- Ensure that the error message indicates header size exceeded the maximum allowed size.
-
Verify X-Content-Type-Options Header:
- Verify that the X-Content-Type-Options header is correctly set to "nosniff" in the HTTP/2 response headers.
- Confirm that the response status code is OK and the version is HTTP/2.
- Assert the presence of the X-Content-Type-Options header with the expected value.
-
Test Sending and Receiving Custom Frames over HTTP/2:
- Verify the capability to send and receive custom frames over HTTP/2.
- Confirm that the response contains the expected custom frame data.
- Assert the correctness of the received custom frame data.
New tests will be added inside http/http-advance-reactive module.
After the new test classes introduced in http/http-advanced-reactive module the execution in JVM was only increased by seconds:
[INFO] Quarkus QE TS: HTTP: advanced-reactive ............. SUCCESS [03:07 min]
(result from https://github.com/quarkus-qe/quarkus-test-suite/actions/runs/7673741087/job/20917606017?pr=1599).
To ensure familiarity with the feature, the following actions were taken:
- Thorough research on HTTP/2 specifications of Quarkus REST guides.
- Analysis of existing test suites and use cases for REST clients in Quarkus.
-
Feature epic: HTTP module / REST use-cases - Development topics
OpenShift Serverless supports only insecure or edge-terminated routes.
Insecure or edge-terminated routes do not support HTTP2 on the OpenShift Container Platform. These routes also do not support gRPC because gRPC is transported by HTTP2
- Tester: Jose Carranza [email protected]