lemonldap-ng/lemonldap-ng-portal/t/05-Lemonldap-NG-Portal-Safe.t
2015-03-10 15:07:33 +00:00

65 lines
1.9 KiB
Perl

# Before `make install' is performed this script should be runnable with
# `make test'. After `make install' it should work as `perl Lemonldap-NG-Portal.t'
#########################
# change 'tests => 1' to 'tests => last_test_to_print';
use Test::More tests => 10;
BEGIN { use_ok( 'Lemonldap::NG::Portal::Simple', ':all' ) }
#########################
# Insert your test code below, the Test::More module is use()ed here so read
# its man page ( perldoc Test::More ) for help writing this test script.
# Create portal object with Safe jail (the default)
my $p;
$ENV{REQUEST_METHOD} = "GET";
ok(
$p = Lemonldap::NG::Portal::Simple->new(
{
globalStorage => 'Apache::Session::File',
domain => 'example.com',
authentication => 'Null',
userDB => 'Null',
passwordDB => 'Null',
registerDB => 'Null',
useSafeJail => 1,
}
),
'Portal object with Safe jail'
);
# Fake data
my $sessionData = "coudot";
$p->{sessionInfo}->{uid} = $sessionData;
my $envData = "127.0.0.1";
$ENV{REMOTE_ADDR} = $envData;
# Real Safe jail
ok( $p->{useSafeJail} == 1, 'Safe jail on' );
ok( $p->safe->reval('$uid') eq $sessionData, 'Safe jail on - session data' );
ok( $p->safe->reval('$ENV{REMOTE_ADDR}') eq $envData,
'Safe jail on - env data' );
ok(
defined $p->safe->reval('checkDate(0,1)'),
'Safe jail on - extended function'
);
# Reset safe object
$Lemonldap::NG::Portal::Simple::safe = undef;
$p->{useSafeJail} = 0;
# Fake Safe jail
ok( $p->{useSafeJail} == 0, 'Safe jail off' );
ok( $p->safe->reval('$uid') eq $sessionData, 'Safe jail off - session data' );
ok( $p->safe->reval('$ENV{REMOTE_ADDR}') eq $envData,
'Safe jail off - env data' );
ok(
defined $p->safe->reval('checkDate(0,1)'),
'Safe jail off - extended function'
);