Test max-age, s-maxage and Expires

parent 2433f397
varnishtest "Test CC:max-age, CC:s-maxage and Expires handling"
server s1 {
rxreq
txresp -hdr "Cache-Control: max-age=-2"
rxreq
txresp -hdr "Cache-Control: max-age=a2"
rxreq
txresp -hdr "Cache-Control: max-age=2a"
rxreq
txresp -hdr "Cache-Control: s-maxage=-2"
rxreq
txresp -hdr "Cache-Control: s-maxage=a2"
rxreq
txresp -hdr "Cache-Control: s-maxage=2a"
rxreq
txresp -hdr "Expires: THU, 18 Aug 2050 02:01:18 GMT"
rxreq
txresp -hdr "Expires: Thu, 18 AUG 2050 02:01:18 GMT"
rxreq
txresp -hdr "Expires: Thu, 18 Aug 2050 02:01:18 gMT"
rxreq
txresp -hdr "Cache-Control: max-age=5, s-maxage=1"
rxreq
txresp -hdr "Cache-Control: s-maxage=2, max-age=5"
rxreq
txresp \
-hdr "Cache-Control: max-age=5" \
-hdr "Cache-Control: s-maxage=3"
} -start
varnish v1 -arg "-pdefault_ttl=0" -vcl+backend {
sub vcl_backend_response {
set beresp.http.ttl = beresp.ttl;
set beresp.uncacheable = true;
}
} -start
client c1 {
# negative max-age
txreq
rxresp
expect resp.http.ttl == 0.000
# invalid max-age - leading alpha
txreq
rxresp
expect resp.http.ttl == 0.000
# invalid max-age - trailing alpha
txreq
rxresp
expect resp.http.ttl == 0.000
# negative s-maxage
txreq
rxresp
expect resp.http.ttl == 0.000
# invalid s-maxage - leading alpha
txreq
rxresp
expect resp.http.ttl == 0.000
# invalid s-maxage - trailing alpha
txreq
rxresp
expect resp.http.ttl == 0.000
# Expires using wrong case (weekday)
txreq
rxresp
expect resp.http.ttl == 0.000
# Expires using wrong case (month)
txreq
rxresp
expect resp.http.ttl == 0.000
# Expires using wrong case (tz)
txreq
rxresp
expect resp.http.ttl == 0.000
# s-maxage wins over longer max-age
txreq
rxresp
expect resp.http.ttl == 1.000
# s-maxage wins over longer max-age - reversed
txreq
rxresp
expect resp.http.ttl == 2.000
# s-maxage wins over longer max-age - multiple headers
txreq
rxresp
expect resp.http.ttl == 3.000
} -run
varnish v1 -expect *.s1.req == 12
varnishtest "Ticket #887"
server s1 {
rxreq
txresp -hdr "Cache-control: max-age=-1000" -body "FOO"
rxreq
txresp -body "FOOBAR"
} -start
varnish v1 -vcl+backend {
} -start
client c1 {
txreq
rxresp
expect resp.bodylen == 3
txreq
rxresp
expect resp.bodylen == 6
} -run
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment