From 9fd8d86a38795d3c654add22aae41b7e4f227470 Mon Sep 17 00:00:00 2001 From: Marcel de Rooy Date: Fri, 12 Aug 2016 08:09:50 +0200 Subject: [PATCH] Bug 17110: Add unit test for MaxAge parameter in Token.t MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Test plan: Run t/Token.t Signed-off-by: Marc VĂ©ron --- t/Token.t | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/t/Token.t b/t/Token.t index dcc182e..0c56cd6 100644 --- a/t/Token.t +++ b/t/Token.t @@ -20,7 +20,8 @@ # 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. use Modern::Perl; -use Test::More tests => 6; +use Test::More tests => 8; +use Time::HiRes qw|usleep|; use Koha::Token; my $tokenizer = Koha::Token->new; @@ -43,3 +44,15 @@ $result = $tokenizer->check({ type => 'CSRF', id => $id, secret => $secr, token => $token, }); isnt( $result, 1, "This token is no CSRF token" ); + +# Test MaxAge parameter +my $age = 1; # 1 second +$result = $tokenizer->check_csrf({ + id => $id, secret => $secr, token => $csrftoken, MaxAge => $age, +}); +is( $result, 1, "CSRF token still valid within one second" ); +usleep $age * 1000000 * 2; # micro (millionth) seconds + 100% +$result = $tokenizer->check_csrf({ + id => $id, secret => $secr, token => $csrftoken, MaxAge => $age, +}); +isnt( $result, 1, "CSRF token expired after one second" ); -- 2.1.4