Friendly name for auth choice modules (#238)

This commit is contained in:
Clément Oudot 2011-06-10 20:22:38 +00:00
parent 2ba6596215
commit dcc4cd2da1
2 changed files with 61 additions and 1 deletions

View File

@ -8,7 +8,7 @@ package Lemonldap::NG::Portal::_Choice;
use Lemonldap::NG::Portal::Simple;
our $VERSION = '1.0.2';
our $VERSION = '1.1.0';
## @cmethod Lemonldap::NG::Portal::_Choice new(Lemonldap::NG::Portal::Simple portal)
# Constructor
@ -177,6 +177,9 @@ sub _buildAuthLoop {
# Remove it in displayed name
$name =~ s/^(\d*)?(\s*)?//;
# Replace also _ by space for a nice display
$name =~ s/\_/ /g;
# Find modules associated to authChoice
my ( $auth, $userDB, $passwordDB ) =
split( /\|/, $self->{authChoiceModules}->{$_} );

View File

@ -0,0 +1,57 @@
# 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 => 5;
use strict;
BEGIN { use_ok( 'Lemonldap::NG::Portal::Simple', ':all' ) }
our @ISA = qw(Lemonldap::NG::Portal::Simple);
#########################
# 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.
my $p;
# CGI Environment
$ENV{REQUEST_METHOD} = 'GET';
$ENV{REQUEST_URI} = '/';
$ENV{QUERY_STRING} = '';
$ENV{REMOTE_ADDR} = '127.0.0.1';
ok(
$p = Lemonldap::NG::Portal::Simple->new(
{
globalStorage => 'Apache::Session::File',
domain => 'example.com',
authentication => 'Choice',
userDB => 'Null',
passwordDB => 'Null',
getUser => sub { PE_OK },
setSessionInfo => sub { PE_OK },
portal => 'http://abc',
sessionInfo => { uid => 't', },
userNotice => sub { },
authChoiceModules => {
'1_LDAP_Directory' => 'LDAP|LDAP|LDAP',
'2_CIA_Backdoor' => 'Null|Null|Null'
},
}
),
'Portal object'
);
my $authLoop = $p->_buildAuthLoop();
ok( ref $authLoop eq "ARRAY", "Authentication loop is an array reference" );
ok( $authLoop->[0]->{key} =~ /(1_LDAP|2_CIA_Backdoor)/,
"Key registered in auth loop" );
ok(
$authLoop->[0]->{name} =~ /(LDAP|CIA\sBackdoor)/,
"Name parsed and registered in auth loop"
);