mirror of
https://git.haproxy.org/git/haproxy.git/
synced 2025-08-06 23:27:04 +02:00
Now that warnings were almost all removed, let's enable zero-warning via -dW. All tests were adjusted, but two: - mcli/mcli_start_progs.vtc: the programs section currently cannot be silenced - stats/stats-file.vtc: the warning comes from the stats file itself on comment lines. All other ones are now OK.
74 lines
2.4 KiB
Plaintext
74 lines
2.4 KiB
Plaintext
varnishtest "Test the http-error directive"
|
|
|
|
# This config tests the http-error directive.
|
|
|
|
feature ignore_unknown_macro
|
|
|
|
haproxy h1 -arg '-dW' -conf {
|
|
http-errors errors-1
|
|
errorfile 400 ${testdir}/errors/400-1.http
|
|
errorfile 403 ${testdir}/errors/403-1.http
|
|
errorfile 404 ${testdir}/errors/404-1.http
|
|
errorfile 500 ${testdir}/errors/500-1.http
|
|
|
|
defaults
|
|
mode http
|
|
timeout connect "${HAPROXY_TEST_TIMEOUT-5s}"
|
|
timeout client "${HAPROXY_TEST_TIMEOUT-5s}"
|
|
timeout server "${HAPROXY_TEST_TIMEOUT-5s}"
|
|
errorfile 400 ${testdir}/errors/400.http
|
|
errorfile 404 ${testdir}/errors/404.http
|
|
|
|
frontend fe1
|
|
bind "fd@${fe1}"
|
|
|
|
http-error status 400
|
|
http-error status 403 default-errorfiles
|
|
http-error status 404 errorfiles errors-1
|
|
http-error status 500 errorfile ${testdir}/errors/500.http
|
|
http-error status 200 content-type "text/plain" hdr x-path "path=%[path]" lf-string "The path is \"%[path]\""
|
|
|
|
http-request return status 200 default-errorfiles if { path /200 }
|
|
http-request deny deny_status 400 if { path /400 }
|
|
http-request deny deny_status 403 if { path /403 }
|
|
http-request deny deny_status 404 if { path /404 }
|
|
http-request deny deny_status 500 if { path /500 }
|
|
|
|
} -start
|
|
|
|
client c1r1 -connect ${h1_fe1_sock} {
|
|
txreq -req GET -url /200
|
|
rxresp
|
|
expect resp.status == 200
|
|
expect resp.http.x-path == "path=/200"
|
|
expect resp.http.content-type == "text/plain"
|
|
expect resp.body == "The path is \"/200\""
|
|
} -run
|
|
client c1r2 -connect ${h1_fe1_sock} {
|
|
txreq -req GET -url /400
|
|
rxresp
|
|
expect resp.status == 400
|
|
expect resp.http.x-err-type == <undef>
|
|
expect resp.http.content-length == 0
|
|
} -run
|
|
client c1r3 -connect ${h1_fe1_sock} {
|
|
txreq -req GET -url /403
|
|
rxresp
|
|
expect resp.status == 403
|
|
expect resp.http.x-err-type == <undef>
|
|
expect resp.http.content-length == 93
|
|
expect resp.http.content-type == "text/html"
|
|
} -run
|
|
client c1r3 -connect ${h1_fe1_sock} {
|
|
txreq -req GET -url /404
|
|
rxresp
|
|
expect resp.status == 404
|
|
expect resp.http.x-err-type == "errors-1"
|
|
} -run
|
|
client c1r4 -connect ${h1_fe1_sock} {
|
|
txreq -req GET -url /500
|
|
rxresp
|
|
expect resp.status == 500
|
|
expect resp.http.x-err-type == "default"
|
|
} -run
|