Lemonldap-NG-Portal
view release on metacpan or search on metacpan
t/01-OneTimeToken.t view on Meta::CPAN
subtest "Get valid token without deleting it" => sub {
Time::Fake->offset(1000);
my $id = $ott->createToken( { x => "1" } );
ok( $id, "Token successfully created" );
Time::Fake->offset(1090);
my $token_data = $ott->getToken( $id, 1 );
is( $token_data->{_utime} + $client->p->conf->{timeout},
1100, "Correct purge time" );
is( $token_data->{x}, 1, "Correct data" );
$token_data = $ott->getToken( $id, 1 );
is( $token_data->{_utime} + $client->p->conf->{timeout},
1100, "Correct purge time" );
is( $token_data->{x}, 1, "Correct data" );
Time::Fake->offset(1110);
$token_data = $ott->getToken( $id, 1 );
ok( !$token_data, "Token id is no longer valid" );
};
subtest "Update token" => sub {
Time::Fake->offset(1000);
my $id = $ott->createToken( { x => "1" } );
ok( $id, "Token successfully created" );
Time::Fake->offset(1090);
my $token_data = $ott->getToken( $id, 1 );
is( $token_data->{_utime} + $client->p->conf->{timeout},
1100, "Correct purge time" );
is( $token_data->{x}, 1, "Correct data" );
is( $ott->updateToken( $id, 'x', 2 ),
$id, "updateToken returns token id" );
$token_data = $ott->getToken( $id, 1 );
is( $token_data->{_utime} + $client->p->conf->{timeout},
1100, "Correct purge time" );
is( $token_data->{x}, 2, "Correct data" );
Time::Fake->offset(1110);
$token_data = $ott->getToken( $id, 1 );
ok( !$token_data, "Token id is no longer valid" );
};
subtest "Update expired token" => sub {
Time::Fake->offset(1000);
my $id = $ott->createToken( { x => "1" } );
ok( $id, "Token successfully created" );
Time::Fake->offset(1110);
ok( !$ott->updateToken( $id, 'x', 2 ), "updateToken returns undef" );
my $token_data = $ott->getToken( $id, 1 );
ok( !$token_data, "Token id is no longer valid" );
};
# sub createToken {
#sub getToken {
#sub updateToken {
}
subtest "Test cache implementation" => sub {
test( { tokenUseGlobalStorage => 0 } );
};
subtest "Test session implementation" => sub {
test( { tokenUseGlobalStorage => 1 } );
};
clean_sessions();
done_testing();
( run in 0.624 second using v1.01-cache-2.11-cpan-7fcb06a456a )