lemonldap-ng/lemonldap-ng-common/t/40-Common-Session.t
2019-02-07 09:27:56 +01:00

57 lines
1.5 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-Manager.t'
#########################
# change 'tests => 1' to 'tests => last_test_to_print';
use Test::More tests => 7;
use File::Path;
BEGIN { use_ok('Lemonldap::NG::Common::Session') }
#########################
# Insert your test code below, the Test::More module is used here so read
# its man page ( perldoc Test::More ) for help writing this test script.
use File::Temp;
my $dir = File::Temp::tempdir();
my $sessionModule = "Apache::Session::File";
my $sessionOptions = {
Directory => $dir,
LockDirectory => $dir,
};
my $session = Lemonldap::NG::Common::Session->new( {
storageModule => $sessionModule,
storageModuleOptions => $sessionOptions,
kind => "TEST",
}
);
ok( defined $session->id, "Creation of session" );
ok( $session->kind eq "TEST", "Store session kind" );
ok( $session->remove, 'Remove session' );
use_ok('Lemonldap::NG::Common::Apache::Session::Generate::SHA256');
$sessionOptions->{generateModule} =
"Lemonldap::NG::Common::Apache::Session::Generate::SHA256";
my $session2 = Lemonldap::NG::Common::Session->new( {
storageModule => $sessionModule,
storageModuleOptions => $sessionOptions,
kind => "TEST",
}
);
ok( length $session2->id == 64, "Use SHA256 generate module" );
ok( $session2->remove, 'Remove session' );
rmtree $dir;