diff options
author | Loïc Hoguin <[email protected]> | 2018-08-13 17:23:48 +0200 |
---|---|---|
committer | Loïc Hoguin <[email protected]> | 2018-08-13 17:23:48 +0200 |
commit | 0a5fadc60bc586946ebd3b17839bcaf13b76f6d0 (patch) | |
tree | 4e8122d59c486273d894296c0aba502f155e3687 /test | |
parent | 06a3a93de0bb6bdd0759f658b7826f38a50bb8a6 (diff) | |
download | cowboy-0a5fadc60bc586946ebd3b17839bcaf13b76f6d0.tar.gz cowboy-0a5fadc60bc586946ebd3b17839bcaf13b76f6d0.tar.bz2 cowboy-0a5fadc60bc586946ebd3b17839bcaf13b76f6d0.zip |
Improve errors for when the ProvideCallback is missing
Diffstat (limited to 'test')
-rw-r--r-- | test/handlers/provide_callback_missing_h.erl | 11 | ||||
-rw-r--r-- | test/rest_handler_SUITE.erl | 8 |
2 files changed, 19 insertions, 0 deletions
diff --git a/test/handlers/provide_callback_missing_h.erl b/test/handlers/provide_callback_missing_h.erl new file mode 100644 index 0000000..c9419ad --- /dev/null +++ b/test/handlers/provide_callback_missing_h.erl @@ -0,0 +1,11 @@ +-module(provide_callback_missing_h). + +-export([init/2]). +-export([content_types_provided/2]). + +init(Req, State) -> + {cowboy_rest, Req, State}. + +content_types_provided(Req, State) -> + ct_helper_error_h:ignore(cowboy_rest, set_resp_body, 2), + {[{<<"text/plain">>, provide}], Req, State}. diff --git a/test/rest_handler_SUITE.erl b/test/rest_handler_SUITE.erl index ec7c97d..1d9619c 100644 --- a/test/rest_handler_SUITE.erl +++ b/test/rest_handler_SUITE.erl @@ -38,6 +38,7 @@ end_per_group(Name, _) -> init_dispatch(_) -> cowboy_router:compile([{'_', [ + {"/provide_callback_missing", provide_callback_missing_h, []}, {"/switch_handler", switch_handler_h, run}, {"/switch_handler_opts", switch_handler_h, hibernate} ]}]). @@ -52,6 +53,13 @@ do_decode(Headers, Body) -> %% Tests. +provide_callback_missing(Config) -> + doc("A 500 response must be sent when the ProvideCallback can't be called."), + ConnPid = gun_open(Config), + Ref = gun:get(ConnPid, "/provide_callback_missing", [{<<"accept-encoding">>, <<"gzip">>}]), + {response, fin, 500, _} = gun:await(ConnPid, Ref), + ok. + switch_handler(Config) -> doc("Switch REST to loop handler for streaming the response body."), ConnPid = gun_open(Config), |