Commit d8eea127 authored by Geoff Simmons's avatar Geoff Simmons

Add a test with uncacheable fetches at ESI level 2.

parent ee92341e
varnishtest "uncacheable fetches at ESI level 2"
server s1 {
rxreq
txresp -body {<Before esi1>
<esi:include src="esi1.html"/>
Between esi1 and esi2
<esi:include src="esi2.html"/>
After esi2
}
} -start
server s2 {
rxreq
txresp -body {<Before esi1-1>
<esi:include src="esi1-1.html"/>
Between esi1-1 and esi1-2
<esi:include src="esi1-2.html"/>
After esi1-2}
} -start
server s3 {
rxreq
txresp -body {<Before esi2-1>
<esi:include src="esi2-1.html"/>
Between esi2-1 and esi2-2
<esi:include src="esi2-2.html"/>
After esi2-2}
} -start
server s4 {
loop 100 {
rxreq
txresp -hdr "Cache-Control: max-age=0" -body {esi1-1}
}
} -start
server s5 {
loop 100 {
rxreq
txresp -hdr "Cache-Control: max-age=0" -body {esi1-2}
}
} -start
server s6 {
loop 100 {
rxreq
txresp -hdr "Cache-Control: max-age=0" -body {esi2-1}
}
} -start
server s7 {
loop 100 {
rxreq
txresp -hdr "Cache-Control: max-age=0" -body {esi2-2}
}
} -start
varnish v1 -arg "-p debug=+waitinglist" -vcl+backend {
import ${vmod_pesi};
sub vcl_backend_response {
set beresp.do_esi = true;
}
sub vcl_backend_fetch {
if (bereq.url == "/") {
set bereq.backend = s1;
}
elsif (bereq.url == "/esi1.html") {
set bereq.backend = s2;
}
elsif (bereq.url == "/esi2.html") {
set bereq.backend = s3;
}
elsif (bereq.url == "/esi1-1.html") {
set bereq.backend = s4;
}
elsif (bereq.url == "/esi1-2.html") {
set bereq.backend = s5;
}
elsif (bereq.url == "/esi2-1.html") {
set bereq.backend = s6;
}
elsif (bereq.url == "/esi2-2.html") {
set bereq.backend = s7;
}
}
sub vcl_deliver {
if (resp.filters ~ "\besi\b") {
set resp.filters = regsub(resp.filters, "\besi\b", "pesi");
}
else {
set resp.filters = resp.filters + " pesi";
}
}
} -start
client c1 {
loop 100 {
txreq
rxresp
expect resp.body == {<Before esi1>
<Before esi1-1>
esi1-1
Between esi1-1 and esi1-2
esi1-2
After esi1-2
Between esi1 and esi2
<Before esi2-1>
esi2-1
Between esi2-1 and esi2-2
esi2-2
After esi2-2
After esi2
}
}
} -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