From 7994dce139057984d32abe67495bb5ca8245dbd5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Audun-Marius=20Gangst=C3=B8?= Date: Fri, 19 Apr 2024 10:38:17 +0900 Subject: [PATCH] Add some simple tests of the VCL files --- tests/varnishtests/001-simple-request.vtc | 20 ++++++++++++++++++++ tests/varnishtests/002-cookie-handling.vtc | 22 ++++++++++++++++++++++ tests/varnishtests/README.md | 9 +++++++++ 3 files changed, 51 insertions(+) create mode 100644 tests/varnishtests/001-simple-request.vtc create mode 100644 tests/varnishtests/002-cookie-handling.vtc create mode 100644 tests/varnishtests/README.md diff --git a/tests/varnishtests/001-simple-request.vtc b/tests/varnishtests/001-simple-request.vtc new file mode 100644 index 00000000..7866a5c3 --- /dev/null +++ b/tests/varnishtests/001-simple-request.vtc @@ -0,0 +1,20 @@ +varnishtest "Simple request" + + +server s1 { + rxreq + txresp +} -start + + +shell { + sed "s/.host =.*/.host = \"${s1_addr}\";/;s/.port = .*/.port = \"${s1_port}\";/" ${pwd}/docs/varnish/vcl/parameters.vcl > ${tmpdir}/parameters.vcl + echo "${s1_addr} ${s1_port}" +} -run + +varnish v1 -arg "-p vcl_path=${tmpdir} -f $PWD/docs/varnish/vcl/${vclfile}" -start + +client c1 { + txreq + rxresp +} -run diff --git a/tests/varnishtests/002-cookie-handling.vtc b/tests/varnishtests/002-cookie-handling.vtc new file mode 100644 index 00000000..5aa134ec --- /dev/null +++ b/tests/varnishtests/002-cookie-handling.vtc @@ -0,0 +1,22 @@ +varnishtest "Simple request" + + +server s1 { + rxreq + expect req.http.cookie == "eZSESSID=session" + txresp +} -start + + +shell { + sed "s/.host =.*/.host = \"${s1_addr}\";/;s/.port = .*/.port = \"${s1_port}\";/" ${pwd}/docs/varnish/vcl/parameters.vcl > ${tmpdir}/parameters.vcl + echo "${s1_addr} ${s1_port}" +} -run + +varnish v1 -arg "-p vcl_path=${tmpdir} -f $PWD/docs/varnish/vcl/${vclfile}" -start + +client c1 { + txreq -hdr "Cookie: unrelated_cookie=something; eZSESSID=session; another_cooke=something_else;" + rxresp +} -run + diff --git a/tests/varnishtests/README.md b/tests/varnishtests/README.md new file mode 100644 index 00000000..048bc9a6 --- /dev/null +++ b/tests/varnishtests/README.md @@ -0,0 +1,9 @@ +# Varnishtest files + +Varnishtests can be ran using the official docker images: + +Varnish6: + docker run --rm --entrypoint varnishtest --volume $PWD:/etc/varnish varnish:stable -t 5 -D vclfile=varnish6.vcl tests/varnishtests/001-simple-request.vtc + +Varnish7: + docker run --rm --entrypoint varnishtest --volume $PWD:/etc/varnish varnish:fresh -t 5 -D vclfile=varnish7.vcl tests/varnishtests/001-simple-request.vtc