|
Lines 1-56
Link Here
|
| 1 |
#!/bin/perl |
|
|
| 2 |
# |
| 3 |
|
| 4 |
use strict; |
| 5 |
use warnings; |
| 6 |
|
| 7 |
use Test::More; |
| 8 |
use vars qw(%cases $dbh $config $context $ldap); |
| 9 |
|
| 10 |
BEGIN { |
| 11 |
%cases = ( |
| 12 |
# users from t/LDAP/example3.ldif |
| 13 |
sss => 'password1', |
| 14 |
jts => 'password1', |
| 15 |
rch => 'password2', |
| 16 |
jmf => 'password3', |
| 17 |
); |
| 18 |
plan tests => 8 + scalar(keys %cases); |
| 19 |
use_ok('C4::Context'); |
| 20 |
use_ok('C4::Auth_with_ldap', qw(checkpw_ldap)); |
| 21 |
} |
| 22 |
|
| 23 |
sub do_checkpw_ldap (;$$) { |
| 24 |
my ($user,$pass) = (shift,shift); |
| 25 |
diag "($user,$pass)"; |
| 26 |
my $ret; |
| 27 |
return ($ret = checkpw_ldap($dbh,$user,$pass), sprintf("(%s,%s) returns '%s'",$user,$pass,$ret)); |
| 28 |
} |
| 29 |
|
| 30 |
ok($context= C4::Context->new(), "Getting new C4::Context object"); |
| 31 |
ok($dbh = C4::Context->dbh(), "Getting dbh from C4::Context"); |
| 32 |
ok($dbh = $context->dbh(), "Getting dbh from \$context object"); |
| 33 |
|
| 34 |
$ldap = $ENV{KOHA_USELDAPSERVER}; |
| 35 |
if(defined($ldap)) { |
| 36 |
diag "Overriding KOHA_CONF <useldapserver> with \$ENV{KOHA_USELDAPSERVER} = $ldap"; |
| 37 |
} else { |
| 38 |
diag 'Note: You can use $ENV{KOHA_USELDAPSERVER} to override KOHA_CONF <useldapserver> for this test'; |
| 39 |
$ldap = C4::Context->config('useldapserver'); |
| 40 |
} |
| 41 |
ok(defined($ldap), "Checking if \$ENV{KOHA_USELDAPSERVER} or <useldapserver> is defined"); |
| 42 |
|
| 43 |
SKIP: { |
| 44 |
$ldap or skip("LDAP is disabled.", scalar(keys %cases) + 2); |
| 45 |
diag("The basis of Authentication is that we don't auth everybody."); |
| 46 |
diag("Let's make sure we reject on bad calls."); |
| 47 |
my $ret; |
| 48 |
ok(!($ret = checkpw_ldap($dbh)), "should reject ( no arguments) returns '$ret'"); |
| 49 |
ok(!($ret = checkpw_ldap($dbh,'','')), "should reject (empty arguments) returns '$ret'"); |
| 50 |
print "\n"; |
| 51 |
diag("Now let's check " . scalar(keys %cases) . " test cases: "); |
| 52 |
foreach (sort keys %cases) { |
| 53 |
ok do_checkpw_ldap($_, $cases{$_}); |
| 54 |
} |
| 55 |
} |
| 56 |
1; |
| 57 |
- |