aboutsummaryrefslogtreecommitdiffstats
path: root/test/http2_SUITE.erl
diff options
context:
space:
mode:
authorLoïc Hoguin <[email protected]>2019-09-28 15:40:41 +0200
committerLoïc Hoguin <[email protected]>2019-09-28 15:40:41 +0200
commitcf84f59d9bdf819d943b3de8e3bc85c561f88efe (patch)
treeaa06efaba01ff939865797892c22f753b17ffe2d /test/http2_SUITE.erl
parent7bccad4d21b56837a1d9ded905b53800558ead8e (diff)
downloadcowboy-cf84f59d9bdf819d943b3de8e3bc85c561f88efe.tar.gz
cowboy-cf84f59d9bdf819d943b3de8e3bc85c561f88efe.tar.bz2
cowboy-cf84f59d9bdf819d943b3de8e3bc85c561f88efe.zip
Add persistent_term support to the router
Diffstat (limited to 'test/http2_SUITE.erl')
-rw-r--r--test/http2_SUITE.erl23
1 files changed, 23 insertions, 0 deletions
diff --git a/test/http2_SUITE.erl b/test/http2_SUITE.erl
index 3af837b..44fc5cc 100644
--- a/test/http2_SUITE.erl
+++ b/test/http2_SUITE.erl
@@ -196,6 +196,29 @@ max_frame_size_sent(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, http2}, {port, Port}|Config]),
+ {ok, http2} = 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.
+
preface_timeout_infinity(Config) ->
doc("Ensure infinity for preface_timeout is accepted."),
ProtoOpts = #{