Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
L
libvdp-pesi
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Jobs
Commits
Open sidebar
uplex-varnish
libvdp-pesi
Commits
27bf9013
Commit
27bf9013
authored
Oct 31, 2019
by
Nils Goroll
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
additional layering tests
parent
6b5c4e45
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
368 additions
and
0 deletions
+368
-0
gzip-plain-gzip.vtc
src/tests/gzip-plain-gzip.vtc
+200
-0
plain-gzip-plain.vtc
src/tests/plain-gzip-plain.vtc
+168
-0
No files found.
src/tests/gzip-plain-gzip.vtc
0 → 100644
View file @
27bf9013
varnishtest "gzip / plain / gzip, uncacheable at ESI level 2"
server s1 {
rxreq
txresp -gzipbody {<Before esi1>
<esi:include src="/esi1.html"/>
Between esi1 and esi2
<esi:include src="/esi2.html"/>
After esi2
}
} -start
server s2 {
rxreq
expect req.url == "/esi1.html"
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
expect req.url == "/esi2.html"
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 4 {
rxreq
expect req.url == "/esi1-1.html"
txresp -hdr "Cache-Control: max-age=0" -gzipbody {esi1-1
}
}
} -start
server s5 {
loop 4 {
rxreq
expect req.url == "/esi1-2.html"
txresp -hdr "Cache-Control: max-age=0" -gzipbody {esi1-2
}
}
} -start
server s6 {
loop 4 {
rxreq
expect req.url == "/esi2-1.html"
txresp -hdr "Cache-Control: max-age=0" -gzipbody {esi2-1
}
}
} -start
server s7 {
loop 4 {
rxreq
expect req.url == "/esi2-2.html"
txresp -hdr "Cache-Control: max-age=0" -gzipbody {esi2-2
}
}
} -start
varnish v1 -vcl+backend {
import ${vmod_pesi};
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_backend_response {
set beresp.do_esi = true;
}
sub vcl_deliver {
pesi.activate();
}
} -start
client c1 {
txreq -hdr "Accept-Encoding: gzip"
rxresp
expect resp.status == 200
gunzip
expect resp.bodylen == 191
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
}
txreq
rxresp
expect resp.status == 200
expect resp.bodylen == 191
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
## HTTP/2
varnish v1 -cliok "param.set feature +http2"
## See comments in e23.vtc about limitations using vtc to test
## gzipped H2 responses.
client c1 {
stream 1 {
txreq -hdr accept-encoding gzip
rxresp
expect resp.http.content-encoding == gzip
expect resp.status == 200
} -run
stream 3 {
txreq
rxresp
expect resp.status == 200
expect resp.bodylen == 191
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
} -run
src/tests/plain-gzip-plain.vtc
0 → 100644
View file @
27bf9013
varnishtest "plain / gzip / plain, uncacheable 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
expect req.url == "/esi1.html"
txresp -gzipbody {<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
expect req.url == "/esi2.html"
txresp -gzipbody {<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 2 {
rxreq
expect req.url == "/esi1-1.html"
txresp -hdr "Cache-Control: max-age=0" -body {esi1-1
}
}
} -start
server s5 {
loop 2 {
rxreq
expect req.url == "/esi1-2.html"
txresp -hdr "Cache-Control: max-age=0" -body {esi1-2
}
}
} -start
server s6 {
loop 2 {
rxreq
expect req.url == "/esi2-1.html"
txresp -hdr "Cache-Control: max-age=0" -body {esi2-1
}
}
} -start
server s7 {
loop 2 {
rxreq
expect req.url == "/esi2-2.html"
txresp -hdr "Cache-Control: max-age=0" -body {esi2-2
}
}
} -start
varnish v1 -vcl+backend {
import ${vmod_pesi};
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_backend_response {
set beresp.do_esi = true;
}
sub vcl_deliver {
pesi.activate();
}
} -start
client c1 {
txreq
rxresp
expect resp.status == 200
expect resp.bodylen == 191
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
## HTTP/2
varnish v1 -cliok "param.set feature +http2"
## See comments in e23.vtc about limitations using vtc to test
## gzipped H2 responses.
client c1 {
stream 1 {
txreq
rxresp
expect resp.status == 200
expect resp.bodylen == 191
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
} -run
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment