aboutsummaryrefslogtreecommitdiffstats
path: root/test
AgeCommit message (Collapse)Author
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.
2020-02-10Handle cow_http2_machine timeoutsLoïc Hoguin
2019-10-08Fix retrying on disconnect with retry=1Loïc Hoguin
2019-09-26Remove UnprocessedStreams from the gun_down messageLoïc Hoguin
2019-09-26Add reply_to option to ws_upgrade; remove notowner entirelyLoïc Hoguin
The reply_to option is also propagated when we switch protocols.
2019-09-26Add a function to change the connection ownerLoïc Hoguin
While at it the gun:info/1 function has been fixed to work even when we are in the not_connected state, and the owner is now also returned.
2019-09-24Add auto-ping to Websocket and a silence_pings optionLoïc Hoguin
The auto-ping will at regular interval send a ping frame. The silence_pings option defaults to true. It can be set to false when the user needs to receive ping/pong frames.
2019-09-24Reject requests/data when using WebsocketLoïc Hoguin
2019-09-24Initial support for raw send/recv operationsLoïc Hoguin
Gun can now be used to send or receive arbitrary data in the following scenarios: * Directly after connecting to a server (this is not terribly useful but it works nevertheless due to the Gun architecture) * After connecting through one or more Socks and/or HTTP proxies. This allows using Gun's proxy capabilities to access servers located beyond firewalls. * After performing an HTTP/1.1 Upgrade. This allows using Gun to implement custom protocols that require upgrading from an HTTP/1.1 connection. As there is still no support for HTTP/2 CONNECT for the time being, there are no relevant streams attached to those use cases and therefore the raw protocol currently expects users to use 'undefined' as the StreamRef value. This is not a final decision and will most likely produce a Dialyzer warning at this time.
2019-09-23Properly error out on HTTP/1.0 Websocket upgrade attemptsLoïc Hoguin
2019-09-22Account for Windows' 3-connect pattern in shutdown_SUITELoïc Hoguin
When Windows can't connect it retries 2 more times with 500ms wait in-between by default.
2019-09-22Increase a timeout to avoid an intermittent test failureLoïc Hoguin
I'm not exactly sure why it works but it seems to be solid now. I think the issue is around timeouts in the test and handler being too close to one another.