Friendly name for auth choice modules (#238)
This commit is contained in:
parent
2ba6596215
commit
dcc4cd2da1
@ -8,7 +8,7 @@ package Lemonldap::NG::Portal::_Choice;
|
|||||||
|
|
||||||
use Lemonldap::NG::Portal::Simple;
|
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)
|
## @cmethod Lemonldap::NG::Portal::_Choice new(Lemonldap::NG::Portal::Simple portal)
|
||||||
# Constructor
|
# Constructor
|
||||||
@ -177,6 +177,9 @@ sub _buildAuthLoop {
|
|||||||
# Remove it in displayed name
|
# Remove it in displayed name
|
||||||
$name =~ s/^(\d*)?(\s*)?//;
|
$name =~ s/^(\d*)?(\s*)?//;
|
||||||
|
|
||||||
|
# Replace also _ by space for a nice display
|
||||||
|
$name =~ s/\_/ /g;
|
||||||
|
|
||||||
# Find modules associated to authChoice
|
# Find modules associated to authChoice
|
||||||
my ( $auth, $userDB, $passwordDB ) =
|
my ( $auth, $userDB, $passwordDB ) =
|
||||||
split( /\|/, $self->{authChoiceModules}->{$_} );
|
split( /\|/, $self->{authChoiceModules}->{$_} );
|
||||||
|
@ -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"
|
||||||
|
);
|
Loading…
Reference in New Issue
Block a user