aboutsummaryrefslogtreecommitdiff
path: root/tests/test03.vtc
diff options
context:
space:
mode:
authorSergey Poznyakoff <gray@gnu.org.ua>2013-07-22 23:02:59 +0300
committerSergey Poznyakoff <gray@gnu.org.ua>2013-07-22 23:05:28 +0300
commit7cc646c790465f6975aafa52626b99d04ac2f62d (patch)
tree3ed4ed45093ce78750f228c737064f8327ac09c0 /tests/test03.vtc
parent88126134cd43e8da9ade49d18c757c6a41b777bc (diff)
downloadvmod-tbf-7cc646c790465f6975aafa52626b99d04ac2f62d.tar.gz
vmod-tbf-7cc646c790465f6975aafa52626b99d04ac2f62d.tar.bz2
New function "check"
* src/vmod_tbf.c (vmod_rate): Use %lu instead of %z (vmod_check): New function. * src/vmod_tbf.vcc (check): New function. * tests/Makefile.am: Add new files. * tests/test02.vtc: New file. * tests/test03.vtc: New file. * tests/time01.vtc: New file.
Diffstat (limited to 'tests/test03.vtc')
-rw-r--r--tests/test03.vtc71
1 files changed, 71 insertions, 0 deletions
diff --git a/tests/test03.vtc b/tests/test03.vtc
new file mode 100644
index 0000000..5ffba9a
--- /dev/null
+++ b/tests/test03.vtc
@@ -0,0 +1,71 @@
+varnishtest "Test tbf flow"
+
+server s1 {
+ rxreq
+ txresp
+} -start
+
+varnish v1 -vcl+backend {
+ import tbf from "${vmod_topbuild}/src/.libs/libvmod_tbf.so";
+ sub vcl_init {
+ tbf.open("${vmod_topbuild}/tests/tbf.db", "trunc");
+ }
+ sub vcl_fini {
+ tbf.close();
+ }
+ sub vcl_deliver {
+ set resp.http.result = tbf.check("url:"+req.url, "4req/s");
+ }
+} -start
+
+client c1 {
+ txreq -url "/"
+ rxresp
+ expect resp.http.result == true
+
+ txreq -url "/"
+ rxresp
+ expect resp.http.result == true
+
+ txreq -url "/"
+ rxresp
+ expect resp.http.result == true
+
+ txreq -url "/"
+ rxresp
+ expect resp.http.result == true
+
+ txreq -url "/"
+ rxresp
+ expect resp.http.result == true
+
+ txreq -url "/"
+ rxresp
+ expect resp.http.result == false
+
+ delay 1.0
+
+ txreq -url "/"
+ rxresp
+ expect resp.http.result == true
+
+ txreq -url "/"
+ rxresp
+ expect resp.http.result == true
+
+ txreq -url "/"
+ rxresp
+ expect resp.http.result == true
+
+ txreq -url "/"
+ rxresp
+ expect resp.http.result == true
+
+ txreq -url "/"
+ rxresp
+ expect resp.http.result == false
+}
+
+client c1 -run
+
+

Return to:

Send suggestions and report system problems to the System administrator.