diff options
Diffstat (limited to 't/t0200-rack-hijack.sh')
-rwxr-xr-x | t/t0200-rack-hijack.sh | 23 |
1 files changed, 22 insertions, 1 deletions
diff --git a/t/t0200-rack-hijack.sh b/t/t0200-rack-hijack.sh index de3eb82..fee0791 100755 --- a/t/t0200-rack-hijack.sh +++ b/t/t0200-rack-hijack.sh @@ -1,6 +1,6 @@ #!/bin/sh . ./test-lib.sh -t_plan 5 "rack.hijack tests (Rack 1.5+ (Rack::VERSION >= [ 1,2]))" +t_plan 9 "rack.hijack tests (Rack 1.5+ (Rack::VERSION >= [ 1,2]))" t_begin "setup and start" && { unicorn_setup @@ -8,14 +8,35 @@ t_begin "setup and start" && { unicorn_wait_start } +t_begin "normal env reused between requests" && { + env_a="$(curl -sSf http://$listen/normal_env_id)" + b="$(curl -sSf http://$listen/normal_env_id)" + test x"$env_a" = x"$b" +} + t_begin "check request hijack" && { test "xrequest.hijacked" = x"$(curl -sSfv http://$listen/hijack_req)" } +t_begin "env changed after request hijack" && { + env_b="$(curl -sSf http://$listen/normal_env_id)" + test x"$env_a" != x"$env_b" +} + t_begin "check response hijack" && { test "xresponse.hijacked" = x"$(curl -sSfv http://$listen/hijack_res)" } +t_begin "env changed after response hijack" && { + env_c="$(curl -sSf http://$listen/normal_env_id)" + test x"$env_b" != x"$env_c" +} + +t_begin "env continues to be reused between requests" && { + b="$(curl -sSf http://$listen/normal_env_id)" + test x"$env_c" = x"$b" +} + t_begin "killing succeeds after hijack" && { kill $unicorn_pid } |