lemonldap-ng/lemonldap-ng-handler/t/04-Lemonldap-NG-Handler-Initialization-LocalInit.t
2014-03-31 16:25:09 +00:00

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 );
}