]> git.ipfire.org Git - thirdparty/haproxy.git/commitdiff
REGTEST: Add a basic test for the cache.
authorFrédéric Lécaille <flecaille@haproxy.com>
Wed, 28 Nov 2018 10:36:48 +0000 (11:36 +0100)
committerWilly Tarreau <w@1wt.eu>
Thu, 29 Nov 2018 07:42:01 +0000 (08:42 +0100)
The client makes the same HTTP request four times.
The varnishtest HTTP server serves the first client request and quits.
So, the three last requests are handled by the haproxy cache.

reg-tests/cache/h00000.vtc [new file with mode: 0644]

diff --git a/reg-tests/cache/h00000.vtc b/reg-tests/cache/h00000.vtc
new file mode 100644 (file)
index 0000000..5195816
--- /dev/null
@@ -0,0 +1,54 @@
+varnishtest "Basic cache test"
+
+#REQUIRE_VERSION=1.8
+
+feature ignore_unknown_macro
+
+server s1 {
+    rxreq
+    txresp -nolen -hdr "Transfer-Encoding: chunked"
+    chunkedlen 1
+    chunkedlen 1
+    chunkedlen 2
+    chunkedlen 3
+    chunkedlen 5
+    chunkedlen 8
+    chunkedlen 13
+    chunkedlen 21
+    chunkedlen 34
+    chunkedlen 55
+    chunkedlen 89
+    chunkedlen 144
+    chunkedlen 233
+    chunkedlen 0
+} -start
+
+haproxy h1 -conf {
+    defaults
+        mode http
+        timeout connect 1s
+        timeout client  1s
+        timeout server  1s
+
+    frontend fe
+        bind "fd@${fe}"
+        default_backend test
+
+    backend test
+        http-request cache-use my_cache
+        server www ${s1_addr}:${s1_port}
+        http-response cache-store my_cache
+
+    cache my_cache
+           total-max-size 3
+           max-age 20
+           max-object-size 3072
+} -start
+
+
+client c1 -connect ${h1_fe_sock} {
+       txreq
+       rxresp
+       expect resp.status == 200
+       expect resp.bodylen == 609
+} -repeat 4 -run