mirror of
https://git.haproxy.org/git/haproxy.git/
synced 2025-08-06 07:07:04 +02:00
No less than 30 tests were missing timeouts, preventing them from being started with zero-warning. Since they were not supposed to trigger, they have been set to 30s so as never to trigger, and now they do not produce any warning anymore.
145 lines
3.2 KiB
Plaintext
145 lines
3.2 KiB
Plaintext
varnishtest "cook sample fetch Test"
|
|
|
|
feature ignore_unknown_macro
|
|
|
|
# TEST - 1
|
|
# Cookie from request
|
|
server s1 {
|
|
rxreq
|
|
txresp
|
|
} -start
|
|
|
|
haproxy h1 -conf {
|
|
defaults
|
|
timeout client 30s
|
|
timeout server 30s
|
|
timeout connect 30s
|
|
mode http
|
|
|
|
frontend fe
|
|
bind "fd@${fe}"
|
|
http-request set-var(txn.count) req.cook_cnt()
|
|
http-request set-var(txn.val) req.cook_val()
|
|
http-request set-var(txn.val_cook2) req.cook_val(cook2)
|
|
http-request set-var(txn.cook_names) req.cook_names
|
|
http-response set-header count %[var(txn.count)]
|
|
http-response set-header val %[var(txn.val)]
|
|
http-response set-header val_cook2 %[var(txn.val_cook2)]
|
|
http-response set-header cook_names %[var(txn.cook_names)]
|
|
|
|
default_backend be
|
|
|
|
backend be
|
|
server srv1 ${s1_addr}:${s1_port}
|
|
} -start
|
|
|
|
client c1 -connect ${h1_fe_sock} {
|
|
txreq -url "/" \
|
|
-hdr "cookie: cook1=0; cook2=123; cook3=22"
|
|
rxresp
|
|
expect resp.status == 200
|
|
expect resp.http.count == "3"
|
|
expect resp.http.val == "0"
|
|
expect resp.http.val_cook2 == "123"
|
|
expect resp.http.cook_names == "cook1,cook2,cook3"
|
|
} -run
|
|
|
|
# TEST - 2
|
|
# Set-Cookie from response
|
|
server s2 {
|
|
rxreq
|
|
txresp -hdr "Set-Cookie: cook1=0; cook2=123; cook3=22"
|
|
} -start
|
|
|
|
haproxy h2 -conf {
|
|
defaults
|
|
timeout client 30s
|
|
timeout server 30s
|
|
timeout connect 30s
|
|
mode http
|
|
|
|
frontend fe
|
|
bind "fd@${fe}"
|
|
http-response set-var(txn.cook_names) res.cook_names
|
|
http-response set-header cook_names %[var(txn.cook_names)]
|
|
|
|
default_backend be
|
|
|
|
backend be
|
|
server srv2 ${s2_addr}:${s2_port}
|
|
} -start
|
|
|
|
client c2 -connect ${h2_fe_sock} {
|
|
txreq -url "/"
|
|
rxresp
|
|
expect resp.status == 200
|
|
expect resp.http.cook_names == "cook1"
|
|
} -run
|
|
|
|
# TEST - 3
|
|
# Multiple Cookie headers from request
|
|
server s3 {
|
|
rxreq
|
|
txresp
|
|
} -start
|
|
|
|
haproxy h3 -conf {
|
|
defaults
|
|
timeout client 30s
|
|
timeout server 30s
|
|
timeout connect 30s
|
|
mode http
|
|
|
|
frontend fe
|
|
bind "fd@${fe}"
|
|
http-request set-var(txn.cook_names) req.cook_names
|
|
http-response set-header cook_names %[var(txn.cook_names)]
|
|
|
|
default_backend be
|
|
|
|
backend be
|
|
server srv3 ${s3_addr}:${s3_port}
|
|
} -start
|
|
|
|
client c3 -connect ${h3_fe_sock} {
|
|
txreq -url "/" \
|
|
-hdr "cookie: cook1=0; cook2=123; cook3=22" \
|
|
-hdr "cookie: cook4=1; cook5=2; cook6=3"
|
|
rxresp
|
|
expect resp.status == 200
|
|
expect resp.http.cook_names == "cook1,cook2,cook3,cook4,cook5,cook6"
|
|
} -run
|
|
|
|
# TEST - 4
|
|
# Multiple Set-Cookie headers from response
|
|
server s4 {
|
|
rxreq
|
|
txresp -hdr "Set-Cookie: cook1=0; cook2=123; cook3=22" \
|
|
-hdr "Set-Cookie: cook4=1; cook5=2; cook6=3"
|
|
} -start
|
|
|
|
haproxy h4 -conf {
|
|
defaults
|
|
timeout client 30s
|
|
timeout server 30s
|
|
timeout connect 30s
|
|
mode http
|
|
|
|
frontend fe
|
|
bind "fd@${fe}"
|
|
http-response set-var(txn.cook_names) res.cook_names
|
|
http-response set-header cook_names %[var(txn.cook_names)]
|
|
|
|
default_backend be
|
|
|
|
backend be
|
|
server srv4 ${s4_addr}:${s4_port}
|
|
} -start
|
|
|
|
client c4 -connect ${h4_fe_sock} {
|
|
txreq -url "/"
|
|
rxresp
|
|
expect resp.status == 200
|
|
expect resp.http.cook_names == "cook1,cook4"
|
|
} -run
|