haproxy/reg-tests/http-rules/map_regm_with_backref.vtc
Frédéric Lécaille b894f9230c REGTEST: adapt some reg tests after renaming.
Some reg tests and their dependencies have been renamed. They may be
referenced by the .vtc files. So, this patch modifies also the references
to these dependencies.
2019-04-23 15:37:11 +02:00

80 lines
2.2 KiB
Plaintext

#commit 271022150d7961b9aa39dbfd88e0c6a4bc48c3ee
# BUG/MINOR: map: fix map_regm with backref
#
# Due to a cascade of get_trash_chunk calls the sample is
# corrupted when we want to read it.
#
# The fix consist to use a temporary chunk to copy the sample
# value and use it.
varnishtest "map_regm get_trash_chunk test"
feature ignore_unknown_macro
#REQUIRE_VERSION=1.6
#REGTEST_TYPE=bug
syslog S1 -level notice {
recv
expect ~ "[^:\\[ ]\\[${h1_pid}\\]: Proxy (fe|be)1 started."
recv
expect ~ "[^:\\[ ]\\[${h1_pid}\\]: Proxy (fe|be)1 started."
recv info
# not expecting ${h1_pid} with master-worker
expect ~ "[^:\\[ ]\\[[[:digit:]]+\\]: .* fe1 be1/s1 [[:digit:]]+/[[:digit:]]+/[[:digit:]]+/[[:digit:]]+/[[:digit:]]+ 200 [[:digit:]]+ - - ---- .* \"GET / HTTP/(1|2)(\\.1)?\""
} -start
server s1 {
rxreq
expect req.method == "GET"
expect req.http.x-mapped-from-header == example_AND_org
expect req.http.x-mapped-from-var == example_AND_org
txresp
rxreq
expect req.method == "GET"
expect req.http.x-mapped-from-header == www.example_AND_org
expect req.http.x-mapped-from-var == www.example_AND_org
txresp
} -start
haproxy h1 -conf {
global
log ${S1_addr}:${S1_port} local0 debug err
defaults
mode http
${no-htx} option http-use-htx
log global
option httplog
timeout connect 15ms
timeout client 20ms
timeout server 20ms
frontend fe1
bind "fd@${fe1}"
# Remove port from Host header
http-request replace-value Host '(.*):.*' '\1'
# Store host header in variable
http-request set-var(txn.host) req.hdr(Host)
# This works correctly
http-request set-header X-Mapped-From-Header %[req.hdr(Host),map_regm(${testdir}/map_regm_with_backref.map,"unknown")]
# This breaks before commit 271022150d7961b9aa39dbfd88e0c6a4bc48c3ee
http-request set-header X-Mapped-From-Var %[var(txn.host),map_regm(${testdir}/map_regm_with_backref.map,"unknown")]
default_backend be1
backend be1
server s1 ${s1_addr}:${s1_port}
} -start
client c1 -connect ${h1_fe1_sock} {
txreq -hdr "Host: example.org:8443"
rxresp
expect resp.status == 200
txreq -hdr "Host: www.example.org"
rxresp
expect resp.status == 200
} -run