Unit test for adaptative authentication level plugin (#2336)
parent
b573dbb789
commit
b21a5fc653
@ -0,0 +1,81 @@ |
||||
use Test::More; |
||||
use strict; |
||||
use IO::String; |
||||
use Data::Dumper; |
||||
|
||||
BEGIN { |
||||
require 't/test-lib.pm'; |
||||
} |
||||
|
||||
my $res; |
||||
my $id; |
||||
my $json; |
||||
|
||||
my $client = LLNG::Manager::Test->new( |
||||
{ |
||||
ini => { |
||||
logLevel => 'error', |
||||
authentication => 'Demo', |
||||
userDB => 'Same', |
||||
adaptativeAuthenticationLevelRules => { |
||||
'$uid eq "dwho"' => '+2', |
||||
'$uid eq "msmith"' => '=5', |
||||
}, |
||||
restSessionServer => 1, |
||||
} |
||||
} |
||||
); |
||||
|
||||
ok( |
||||
$res = $client->_post( |
||||
'/', |
||||
IO::String->new('user=dwho&password=dwho'), |
||||
accept => 'text/html', |
||||
length => 23 |
||||
), |
||||
'Auth query' |
||||
); |
||||
count(1); |
||||
$id = expectCookie($res); |
||||
|
||||
ok( |
||||
$res = $client->_get( |
||||
'/session/my/global/authenticationLevel', |
||||
cookie => "lemonldap=$id" |
||||
), |
||||
'Get session' |
||||
); |
||||
count(1); |
||||
$json = expectJSON($res); |
||||
|
||||
ok( $json == 3, 'Authentication level upgraded' ); |
||||
count(1); |
||||
|
||||
ok( |
||||
$res = $client->_post( |
||||
'/', |
||||
IO::String->new('user=msmith&password=msmith'), |
||||
accept => 'text/html', |
||||
length => 27 |
||||
), |
||||
'Auth query' |
||||
); |
||||
count(1); |
||||
$id = expectCookie($res); |
||||
|
||||
ok( |
||||
$res = $client->_get( |
||||
'/session/my/global/authenticationLevel', |
||||
cookie => "lemonldap=$id" |
||||
), |
||||
'Get session' |
||||
); |
||||
count(1); |
||||
$json = expectJSON($res); |
||||
|
||||
ok( $json == 5, 'Authentication level upgraded' ); |
||||
count(1); |
||||
|
||||
clean_sessions(); |
||||
|
||||
done_testing( count() ); |
Loading…
Reference in new issue