commit | 08f102a4579a911afff8a8301cb1a708c3bc26af | [log] [tgz] |
---|---|---|
author | Tamas Cservenak <tamas@cservenak.net> | Mon Dec 11 10:19:29 2023 +0100 |
committer | GitHub <noreply@github.com> | Mon Dec 11 10:19:29 2023 +0100 |
tree | 3e2a7b921b1e5931e7edb970518f5bf92f3ad962 | |
parent | 5e2ae014581bcaf75710e0794badf5b7001cbf28 [diff] |
[MRESOLVER-449] Step toward testing all HTTP transports (#391) Right now, the HTTP test suite is pulled out and reused for all HTTP transports. It passes for ApacheTransporter (as it was pulled from it), but Jetty and JDK show some signs of some problems... Current results (note: base class HttpTransporterTest has 70 tests, while some transport specific UTs add more): * apache :heavy_check_mark: 74 test OK * jdk :red_circle: 62 test OK, 9 test FAIL * jetty :red_circle: 64 test OK, 6 FAIL The "basics" are overall good (basics pass everywhere), failures stems from small differences. Jetty: it seems it consumes the body (pulls bytes out of it) even before all the HTTP auth happens, this causes that `TransportListener` gets notified "transport started" but in fact is not and test asserts it to not. Also, Jetty throws in tests where server is set up to abruptly close the connection. Retries are not properly done (low level, like abrupt connection drop). JDK: same problem with body (pulls bytes beforehand) and similarly as with Jetty, "transport started" events fails the test. Preemptive auth is not done (as it seems it is either "manual" handling of auth or Authenticator is used but then preemptive auth becomes impossible as headers are removed, no way to set them). It also throws in tests where server abruptly drops connection. Same for retries (in case of TCP issue). --- https://issues.apache.org/jira/browse/MRESOLVER-449
You have found a bug or you have an idea for a cool new feature? Contributing code is a great way to give something back to the open source community. Before you dig right into the code, there are a few guidelines that we need contributors to follow so that we can have a chance of keeping on top of things.
We accept Pull Requests via GitHub. The developer mailing list is the main channel of communication for contributors. There are some guidelines which will make applying PRs easier for us:
git diff --check
before committing.[MRESOLVER-XXX] - Subject of the JIRA Ticket Optional supplemental description.
mvn -Prun-its verify
to assure nothing else was accidentally broken.If you plan to contribute on a regular basis, please consider filing a contributor license agreement.
For changes of a trivial nature to comments and documentation, it is not always necessary to create a new ticket in JIRA. In this case, it is appropriate to start the first line of a commit with ‘(doc)’ instead of a ticket number.