Improve unit test (#1935)
This commit is contained in:
parent
ce4cdcee85
commit
f1c97fdde5
|
@ -1,27 +1,108 @@
|
|||
use Test::More;
|
||||
use strict;
|
||||
use JSON;
|
||||
use Lemonldap::NG::Portal::Main::Constants qw(PE_FORBIDDENIP PE_USERNOTFOUND);
|
||||
|
||||
require 't/test-lib.pm';
|
||||
|
||||
my $res;
|
||||
my $json;
|
||||
|
||||
my $client = LLNG::Manager::Test->new( {
|
||||
ini => {
|
||||
logLevel => 'error',
|
||||
useSafeJail => 1,
|
||||
authentication => 'Slave',
|
||||
userDB => 'Same',
|
||||
slaveUserHeader => 'My-Test',
|
||||
slaveExportedVars => {
|
||||
logLevel => 'error',
|
||||
useSafeJail => 1,
|
||||
authentication => 'Slave',
|
||||
userDB => 'Same',
|
||||
slaveUserHeader => 'My-Test',
|
||||
slaveHeaderName => 'Check-Slave',
|
||||
slaveHeaderContent => 'Password',
|
||||
slaveMasterIP => '127.0.0.1',
|
||||
slaveExportedVars => {
|
||||
name => 'Name',
|
||||
}
|
||||
}
|
||||
}
|
||||
);
|
||||
|
||||
# Bad password
|
||||
ok(
|
||||
$res = $client->_get(
|
||||
'/', custom => { HTTP_MY_TEST => 'dwho', HTTP_NAME => 'Dr Who' }
|
||||
'/',
|
||||
{
|
||||
ip => '127.0.0.1',
|
||||
custom => {
|
||||
HTTP_MY_TEST => 'dwho',
|
||||
HTTP_NAME => 'Dr Who',
|
||||
HTTP_CHECK_SLAVE => 'Passwor',
|
||||
}
|
||||
}
|
||||
),
|
||||
'Auth query'
|
||||
);
|
||||
ok( $res->[0] == 401, 'Get 401' ) or explain( $res->[0], 401 );
|
||||
ok( $json = eval { from_json( $res->[2]->[0] ) }, 'Response is JSON' )
|
||||
or print STDERR "$@\n" . Dumper($res);
|
||||
ok( $json->{error} == PE_FORBIDDENIP, 'Response is PE_FORBIDDENIP' )
|
||||
or explain( $json, "error => 75" );
|
||||
count(4);
|
||||
|
||||
# Good credentials with forbidden IP
|
||||
ok(
|
||||
$res = $client->_get(
|
||||
'/',
|
||||
|
||||
ip => '127.0.0.2',
|
||||
custom => {
|
||||
HTTP_MY_TEST => 'dwho',
|
||||
HTTP_NAME => 'Dr Who',
|
||||
HTTP_CHECK_SLAVE => 'Password',
|
||||
}
|
||||
|
||||
),
|
||||
'Auth query'
|
||||
);
|
||||
ok( $res->[0] == 401, 'Get 401' ) or explain( $res->[0], 401 );
|
||||
ok( $json = eval { from_json( $res->[2]->[0] ) }, 'Response is JSON' )
|
||||
or print STDERR "$@\n" . Dumper($res);
|
||||
ok( $json->{error} == PE_FORBIDDENIP, 'Response is PE_FORBIDDENIP' )
|
||||
or explain( $json, "error => 75" );
|
||||
count(4);
|
||||
|
||||
# Good credentials without slaveUserHeader
|
||||
ok(
|
||||
$res = $client->_get(
|
||||
'/',
|
||||
|
||||
ip => '127.0.0.1',
|
||||
custom => {
|
||||
HTTP_MY_TES => 'dwho',
|
||||
HTTP_NAME => 'Dr Who',
|
||||
HTTP_CHECK_SLAVE => 'Password',
|
||||
}
|
||||
|
||||
),
|
||||
'Auth query'
|
||||
);
|
||||
ok( $res->[0] == 401, 'Get 401' ) or explain( $res->[0], 401 );
|
||||
ok( $json = eval { from_json( $res->[2]->[0] ) }, 'Response is JSON' )
|
||||
or print STDERR "$@\n" . Dumper($res);
|
||||
ok( $json->{error} == PE_USERNOTFOUND, 'Response is PE_USERNOTFOUND' )
|
||||
or explain( $json, "error => 4" );
|
||||
count(4);
|
||||
|
||||
# Good credentials with acredited IP
|
||||
ok(
|
||||
$res = $client->_get(
|
||||
'/',
|
||||
|
||||
ip => '127.0.0.1',
|
||||
custom => {
|
||||
HTTP_MY_TEST => 'dwho',
|
||||
HTTP_NAME => 'Dr Who',
|
||||
HTTP_CHECK_SLAVE => 'Password',
|
||||
}
|
||||
|
||||
),
|
||||
'Auth query'
|
||||
);
|
||||
|
|
Loading…
Reference in New Issue
Block a user