# This file is part of vmod-variable           -*- autotest -*-
# Copyright (C) 2017 Sergey Poznyakoff
#
# Vmod-variable is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 3, or (at your option)
# any later version.
#
# Vmod-variable is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with vmod-variable.  If not, see <http://www.gnu.org/licenses/>.

AT_SETUP(clear)
AT_KEYWORDS(clear)

AT_VARNISHTEST([variable],[
sub vcl_recv {
	variable.set("foo", req.http.Host);
	variable.set("bar","two");
	variable.set_int("ten", 10);
	variable.set_int("five",5);
	variable.set_real("one-half", 0.5);
	variable.set_real("one-fourth",0.25);
	variable.set_duration("minute", 1m);
	variable.set_duration("hour",1h);
}
sub vcl_deliver {
	variable.clear();
	set resp.http.X-Foo = variable.get("foo");
	set resp.http.X-Bar = variable.get("bar");
	set resp.http.X-Five = variable.get_int("five");
	set resp.http.X-Ten = variable.get_int("ten");
	set resp.http.X-One-Fourth = variable.get_real("one-fourth");
	set resp.http.X-One-Half = variable.get_real("one-half");
	set resp.http.X-Minute = variable.get_duration("minute");
	set resp.http.X-Hour = variable.get_duration("hour");
}
],[
txreq -url /  -hdr "Host:en.example.net"
rxresp
expect resp.http.X-Foo == ""
expect resp.http.X-Bar == ""
expect resp.http.X-Five == "0"
expect resp.http.X-Ten == "0"
expect resp.http.X-One-Half == "0.000"
expect resp.http.X-One-Fourth == "0.000"
expect resp.http.X-Minute == "0.000"
expect resp.http.X-Hour == "0.000"
])
AT_CLEANUP

