diff options
Diffstat (limited to 'test/http_SUITE.erl')
-rw-r--r-- | test/http_SUITE.erl | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/test/http_SUITE.erl b/test/http_SUITE.erl index 7f23da4..0b4edd9 100644 --- a/test/http_SUITE.erl +++ b/test/http_SUITE.erl @@ -250,6 +250,29 @@ idle_timeout_infinity(Config) -> cowboy:stop_listener(?FUNCTION_NAME) end. +persistent_term_router(Config) -> + doc("The router can retrieve the routes from persistent_term storage."), + case erlang:function_exported(persistent_term, get, 1) of + true -> do_persistent_term_router(Config); + false -> {skip, "This test uses the persistent_term functionality added in Erlang/OTP 21.2."} + end. + +do_persistent_term_router(Config) -> + persistent_term:put(?FUNCTION_NAME, init_dispatch(Config)), + {ok, _} = cowboy:start_clear(?FUNCTION_NAME, [{port, 0}], #{ + env => #{dispatch => {persistent_term, ?FUNCTION_NAME}} + }), + Port = ranch:get_port(?FUNCTION_NAME), + try + ConnPid = gun_open([{type, tcp}, {protocol, http}, {port, Port}|Config]), + {ok, http} = gun:await_up(ConnPid), + StreamRef = gun:get(ConnPid, "/"), + {response, nofin, 200, _} = gun:await(ConnPid, StreamRef), + gun:close(ConnPid) + after + cowboy:stop_listener(?FUNCTION_NAME) + end. + request_timeout_infinity(Config) -> doc("Ensure the request_timeout option accepts the infinity value."), {ok, _} = cowboy:start_clear(?FUNCTION_NAME, [{port, 0}], #{ |