aboutsummaryrefslogtreecommitdiffstats
path: root/test
AgeCommit message (Collapse)Author
2020-10-19Fix cookies for tunnelsLoïc Hoguin
There are still small issues left to fix. In particular the set_cookie command should be replaced with doing the same in the protocol itself so that the scheme is correct. So CookieStore must be propagated to all callbacks.
2020-10-16Remove the transport_changed eventLoïc Hoguin
It doesn't provide any new information compared to the other events.
2020-10-16Add or fix events inside or related to CONNECT tunnelsLoïc Hoguin
2020-10-07Propagate timeouts to the right layer in HTTP/2 tunnelsLoïc Hoguin
This temporarily depends on Cowlib master.
2020-10-07Normalize headers in ws_upgraderinpatch
In the documentation headers passed to ws_upgrade are typed as gun:req_headers(), however if a map of headers is passed (which is allowed by the type), the gun process will crash when trying to operate on it as if it were a list.
2020-10-03Fix test suites failing due to previous breaking changesLoïc Hoguin
2020-10-03Add tunnel_SUITE testing all 3-layer combinationsLoïc Hoguin
The test suite is 216 tests with a tunnel created via two proxies leading to one origin server. The tests are for example socks5_h2_https where socks5 identifies the first SOCKS5 proxy, h2 the second HTTP/2 CONNECT proxy and https the secure HTTP/1.1 origin server. The test not only sets up the tunnel and does a request (or sends/receives data in the case of raw origin servers) but also confirms that the stream_info and info data is correct.
2020-09-21Fix gun:stream_info/2 when gun_tunnel is involvedLoïc Hoguin
2020-09-21Initial success for h2 CONNECT -> https CONNECT -> httpsLoïc Hoguin
2020-09-21Add test HTTP/2 CONNECT -> HTTP/1.1 CONNECT -> originLoïc Hoguin
Implements gun:connect with a tunnel.
2020-09-21Add more HTTP/2 CONNECT testsLoïc Hoguin
2020-09-21Few more tests and fixesLoïc Hoguin
2020-09-21Replace gun_tunnel_up/3 message with /4 variantLoïc Hoguin
Also fixes all the tests. Lots of work remain around protocols (how best to pass the base stream_ref to them? maybe the current solution, maybe a new argument to Protocol:init) and strengthen the concept of stream_ref, at least with its own type.
2020-09-21Rename the 3-arity gun_socks_up to gun_tunnel_upLoïc Hoguin
2020-09-21Add gun_tunnel_up message to HTTP/2 CONNECTLoïc Hoguin
2020-09-21First working HTTPS over secure HTTP/2Loïc Hoguin
Has a timer:sleep/1 though because there is currently no way to wait for the TLS handshake to complete.
2020-09-21Make gun_socks_up stream-specific for HTTP/2 CONNECTLoïc Hoguin
2020-09-21Make HTTP/2 CONNECT to a SOCKS server workLoïc Hoguin
2020-09-21Add HTTP/2 CONNECT tests with Cowboy as originLoïc Hoguin
2020-09-21Add the base_stream_ref to gun_http/gun_http2Loïc Hoguin
2020-09-21HTTP/2 over HTTP/2 CONNECTLoïc Hoguin
2020-09-21Improve HTTP/2 CONNECT to non-HTTP originLoïc Hoguin
Now has a proper StreamRef given to it by the CONNECT stream.
2020-09-21Make gun:stream_info/2 return intermediaries for HTTP/2 CONNECTLoïc Hoguin
2020-09-21Initial HTTP/2 CONNECT implementationLoïc Hoguin
2020-04-20Update the WPT cookie testsLoïc Hoguin
2020-04-16Fix the gun_SUITE:shutdown_reason intermittent errorsLoïc Hoguin
Depending on timing the monitor may be applied after the Gun process has started and stopped. In that case we run the test again until timetrap_timeout.
2020-04-16Tentatively fix a shutdown_SUITE intermittent errorLoïc Hoguin
2020-04-16Fix a fun not being called in gun_SUITELoïc Hoguin
2020-04-16Add tests for cookie_ignore_informational optionLoïc Hoguin
2020-03-28Make the stream_info tests more reliableLoïc Hoguin
2020-03-28Improve the flow_SUITE:flow_ws test caseLoïc Hoguin
Make sure we don't queue too much on the socket because in that case Gun will just consume everything it's already got.
2020-03-28Use gun_test:init_origin/3 in the gun_SUITE:reply_to_* testsLoïc Hoguin
2020-03-28Make gun_SUITE:shutdown_reason test more reliableLoïc Hoguin
2020-03-28Make intermediaries return tls not tls_proxyLoïc Hoguin
Also add a test for CONNECT to TLS via 2 TLS proxies.
2020-03-28Use timetrap instead of normal timeouts in shutdown_SUITELoïc Hoguin
2020-03-28In gun_SUITE shutdown_reason case, don't match in receiveLoïc Hoguin
Match inside the clause instead. This should make clearer the occasional failure.
2020-03-27Use infinity timeout for gun:await in reply_to testsLoïc Hoguin
2020-03-27Don't explictly wait for the message in reply_to testsLoïc Hoguin
2020-03-27Split the gun_SUITE:reply_to test in two casesLoïc Hoguin
To attempt to fix a timetrap_timeout issue occuring sometimes. I have little confidence about this fixing anything but it will not hurt either.
2020-03-27Improve test timeout handling in gun_SUITELoïc Hoguin
Instead of timeouts, favor receiving events from the event handler gun_test_event_h. Remove most other timeouts in particular receive timeouts in favor of a Common Test timetrap timeout global to this test suite of 30 seconds.
2020-03-26Don't make the rfc6265bis test giver time outLoïc Hoguin
2020-03-26Fix IPv6 related changes to testsLoïc Hoguin
Turns out we can't rely on IPv4 being available if we set the socket in IPv6 mode. Instead the origin is modified to either setup IPv4 or IPv6 depending on the test's needs.
2020-03-25Fix host/:authority header when connecting to an IPv6 addressLoïc Hoguin
2020-03-23Tweak connection timeouts tests for WindowsLoïc Hoguin
It seems that the retry behavior changed recently. It would be better to retrieve the exact values and calculate how much time we want to wait but that will do for now.
2020-03-23Fix flow control test since it's more strict nowLoïc Hoguin
2020-03-12Make Gun use the cookie store when configured toLoïc Hoguin
2020-03-04Initial implementation of the gun_cookies cookie storeLoïc Hoguin
2020-02-27Use specific error when HTTP/2 receives HTTP/1 responseLoïc Hoguin
2020-02-27Add a test getting preface errors in the 'DOWN' reasonLoïc Hoguin
2020-02-27Detect invalid HTTP/2 preface errorsLoïc Hoguin
And make sure all HTTP/2 connection_error(s) result in a gun_down message containing the error. In the preface case we do not send a gun_error message (because there's no stream open yet) and gun_down was always saying normal. Also make sure the human readable reason is included in the gun_error message, if any.