From 0254c80c334b6fce03bb971d0323f97cdba20b13 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Lo=C3=AFc=20Hoguin?= Date: Thu, 17 May 2018 17:41:55 +0200 Subject: Move timeout tests from old_http_SUITE to http_SUITE Also fix the idle_timeout test which was producing an extra crash log. --- test/http_SUITE.erl | 37 ++++++++++++++++++++++++++++++++++++- 1 file changed, 36 insertions(+), 1 deletion(-) (limited to 'test/http_SUITE.erl') diff --git a/test/http_SUITE.erl b/test/http_SUITE.erl index 16d7e76..dbcfd2b 100644 --- a/test/http_SUITE.erl +++ b/test/http_SUITE.erl @@ -18,6 +18,7 @@ -import(ct_helper, [config/2]). -import(ct_helper, [doc/1]). +-import(ct_helper, [name/0]). -import(cowboy_test, [gun_open/1]). all() -> [{group, clear}]. @@ -26,10 +27,44 @@ groups() -> [{clear, [parallel], ct_helper:all(?MODULE)}]. init_routes(_) -> [ {"localhost", [ - {"/", hello_h, []} + {"/", hello_h, []}, + {"/echo/:key", echo_h, []} ]} ]. +idle_timeout_infinity(Config) -> + doc("Ensure the idle_timeout option accepts the infinity value."), + {ok, ListenerPid} = cowboy:start_clear(name(), [{port, 0}], #{ + env => #{dispatch => cowboy_router:compile(init_routes(Config))}, + request_timeout => infinity + }), + Port = ranch:get_port(name()), + Ref = erlang:monitor(process, ListenerPid), + ConnPid = gun_open([{type, tcp}, {protocol, http}, {port, Port}|Config]), + _ = gun:post(ConnPid, "/echo/read_body", [], <<"TEST">>), + receive + {'DOWN', Ref, process, ListenerPid, Reason} -> + error(Reason) + after 1000 -> + ok + end. + +request_timeout_infinity(Config) -> + doc("Ensure the request_timeout option accepts the infinity value."), + {ok, ListenerPid} = cowboy:start_clear(name(), [{port, 0}], #{ + env => #{dispatch => cowboy_router:compile(init_routes(Config))}, + idle_timeout => infinity + }), + Port = ranch:get_port(name()), + Ref = erlang:monitor(process, ListenerPid), + _ = gun_open([{type, tcp}, {protocol, http}, {port, Port}|Config]), + receive + {'DOWN', Ref, process, ListenerPid, Reason} -> + error(Reason) + after 1000 -> + ok + end. + switch_protocol_flush(Config) -> doc("Confirm that switch_protocol does not flush unrelated messages."), ProtoOpts = #{ -- cgit v1.2.3