File: 05-Lemonldap-NG-Portal-Safe.t

package info (click to toggle)
lemonldap-ng 1.3.3-1
  • links: PTS, VCS
  • area: main
  • in suites: jessie, jessie-kfreebsd
  • size: 13,084 kB
  • ctags: 2,440
  • sloc: perl: 25,708; makefile: 622; sh: 176; php: 6; sql: 5
file content (59 lines) | stat: -rw-r--r-- 1,688 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
# 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',
        }
    ),
    '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'
);