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
bc0b4f4b
Commit
bc0b4f4b
authored
Oct 31, 2019
by
Nils Goroll
Committed by
Geoff Simmons
Nov 03, 2019
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
additional layering tests
parent
41199b27
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 @
bc0b4f4b
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 @
bc0b4f4b
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