81553b7a5e
(references #630)
103 lines
2.6 KiB
Perl
103 lines
2.6 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-Handler-Vhost.t'
|
|
|
|
#########################
|
|
|
|
# change 'tests => 1' to 'tests => last_test_to_print';
|
|
|
|
package My::Package;
|
|
|
|
use Test::More tests => 15;
|
|
|
|
BEGIN {
|
|
use_ok('Lemonldap::NG::Handler::Initialization::LocalInit');
|
|
}
|
|
|
|
#########################
|
|
|
|
# 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.
|
|
|
|
ok(
|
|
my $localinit = Lemonldap::NG::Handler::Initialization::LocalInit->new(
|
|
localStorage => undef,
|
|
refLocalStorage => undef,
|
|
localStorageOptions => undef,
|
|
childInitDone => undef,
|
|
),
|
|
'new LocalInit object'
|
|
);
|
|
|
|
ok(
|
|
my (
|
|
$localStorage, $refLocalStorage, $localStorageOptions,
|
|
$statusPipe, $statusOut, $childInitDone
|
|
)
|
|
= $localinit->localInit(
|
|
{
|
|
localStorage => 'Cache::FileCache',
|
|
localStorageOptions => { 'namespace' => 'lemonldap-ng-sessions', },
|
|
status => 1,
|
|
}
|
|
),
|
|
'LocalInit methods: localInit'
|
|
);
|
|
|
|
ok(
|
|
(
|
|
$localStorage eq 'Cache::FileCache'
|
|
and $localStorageOptions->{'namespace'} eq 'lemonldap-ng-sessions'
|
|
and $childInitDone == 1
|
|
),
|
|
'LocalInit methods: localInit values'
|
|
);
|
|
|
|
ok(
|
|
|
|
# purgeCache does not return anything but dies if an error occurs
|
|
!defined( $localinit->purgeCache ),
|
|
'LocalInit methods: purgeCache'
|
|
);
|
|
|
|
ok( $localinit->statusProcess == 0, 'LocalInit methods: statusProcess' );
|
|
|
|
ok( $localinit->childInit, 'LocalInit methods: childInit' );
|
|
|
|
ok( $localinit->initLocalStorage, 'LocalInit methods: initLocalStorage' );
|
|
|
|
ok( $statusPipe->isa('IO::Pipe::End'), 'status pipe: In pipe' );
|
|
|
|
ok( $statusOut->isa('IO::Pipe::End'), 'status pipe: Out pipe' );
|
|
|
|
ok( print( $statusPipe "uid => / OK\nuid => / OK\nuid => /no REJECT\n" ),
|
|
'status pipe: New requests' );
|
|
|
|
ok( print( $statusPipe "STATUS\n" ), 'status pipe: Status request' );
|
|
|
|
ok( &read, 'status pipe: Status result' );
|
|
|
|
ok( close($statusOut), 'status pipe: close out pipe' );
|
|
|
|
ok( close($statusPipe), 'status pipe: close in pipe' );
|
|
|
|
sub read {
|
|
my $ok = 0;
|
|
|
|
#open LOG, '>/tmp/log';
|
|
while (<$statusOut>) {
|
|
|
|
#print LOG $_;
|
|
$ok++ if (/^OK\s+:\s*2\s*\(2\.00\s*\/\s*mn\)$/);
|
|
$ok++ if (/^REJECT\s+:\s*1\s*\(1\.00\s*\/\s*mn\)$/);
|
|
if (/^END$/) {
|
|
$ok++;
|
|
last;
|
|
}
|
|
}
|
|
|
|
#print LOG "$ok\n";
|
|
#close LOG;
|
|
return ( $ok == 3 );
|
|
}
|
|
|