Browse Source

Move another test from the old HTTP test suite

Loïc Hoguin 6 years ago
parent
commit
6058800abb
3 changed files with 21 additions and 7 deletions
  1. 3 0
      test/handlers/resp_h.erl
  2. 0 7
      test/old_http_SUITE.erl
  3. 18 0
      test/rfc7231_SUITE.erl

+ 3 - 0
test/handlers/resp_h.erl

@@ -30,6 +30,9 @@ do(<<"set_resp_cookie4">>, Req0, Opts) ->
 do(<<"set_resp_header">>, Req0, Opts) ->
 	Req = cowboy_req:set_resp_header(<<"content-type">>, <<"text/plain">>, Req0),
 	{ok, cowboy_req:reply(200, #{}, "OK", Req), Opts};
+do(<<"set_resp_header_server">>, Req0, Opts) ->
+	Req = cowboy_req:set_resp_header(<<"server">>, <<"nginx">>, Req0),
+	{ok, cowboy_req:reply(200, #{}, "OK", Req), Opts};
 do(<<"set_resp_headers">>, Req0, Opts) ->
 	Req = cowboy_req:set_resp_headers(#{
 		<<"content-type">> => <<"text/plain">>,

+ 0 - 7
test/old_http_SUITE.erl

@@ -415,13 +415,6 @@ rest_resource_etags_if_none_match(Config) ->
 		{Ret, Type}
 	end || {Status, ETag, Type} <- Tests].
 
-set_resp_overwrite(Config) ->
-	ConnPid = gun_open(Config),
-	Ref = gun:get(ConnPid, "/set_resp/overwrite"),
-	{response, nofin, 200, Headers} = gun:await(ConnPid, Ref),
-	{_, <<"DesireDrive/1.0">>} = lists:keyfind(<<"server">>, 1, Headers),
-	ok.
-
 slowloris(Config) ->
 	Client = raw_open(Config),
 	try

+ 18 - 0
test/rfc7231_SUITE.erl

@@ -898,5 +898,23 @@ date_5xx(Config) ->
 	{_, _} = lists:keyfind(<<"date">>, 1, Headers),
 	ok.
 
+server_header(Config) ->
+	doc("An origin server may generate a server header field. "
+		"Cowboy generates a small one by default. (RFC7231 7.4.2)"),
+	ConnPid = gun_open(Config),
+	Ref = gun:get(ConnPid, "/"),
+	{response, _, 200, Headers} = gun:await(ConnPid, Ref),
+	{_, <<"Cowboy">>} = lists:keyfind(<<"server">>, 1, Headers),
+	ok.
+
+server_header_override(Config) ->
+	doc("An origin server may generate a server header field. "
+		"Cowboy allows the user to override the default. (RFC7231 7.4.2)"),
+	ConnPid = gun_open(Config),
+	Ref = gun:get(ConnPid, "/resp/set_resp_header_server"),
+	{response, _, 200, Headers} = gun:await(ConnPid, Ref),
+	{_, <<"nginx">>} = lists:keyfind(<<"server">>, 1, Headers),
+	ok.
+
 %% @todo It's worth revisiting this RFC in the context of cowboy_rest
 %% to ensure the state machine is doing what's expected by the RFC.