Lines 28-33
use C4::Context;
Link Here
|
28 |
|
28 |
|
29 |
use Koha::Patrons; |
29 |
use Koha::Patrons; |
30 |
|
30 |
|
|
|
31 |
# Hide all the subrouteine redefined warnings when running this test.. |
32 |
# We reload the ldap module lots in the test and each reload triggers the |
33 |
# 'Subroutine X redefined at' warning.. disable that to make the test output |
34 |
# readable. |
35 |
$SIG{__WARN__} = sub { |
36 |
my $warning = shift; |
37 |
warn $warning unless $warning =~ /Subroutine .* redefined at/; |
38 |
}; |
39 |
|
31 |
# Start transaction |
40 |
# Start transaction |
32 |
my $schema = Koha::Database->new->schema; |
41 |
my $schema = Koha::Database->new->schema; |
33 |
$schema->storage->txn_begin(); |
42 |
$schema->storage->txn_begin(); |
Lines 37-42
my $builder = t::lib::TestBuilder->new();
Link Here
|
37 |
# Variables controlling LDAP server config |
46 |
# Variables controlling LDAP server config |
38 |
my $update = 0; |
47 |
my $update = 0; |
39 |
my $replicate = 0; |
48 |
my $replicate = 0; |
|
|
49 |
my $welcome = 0; |
40 |
my $auth_by_bind = 1; |
50 |
my $auth_by_bind = 1; |
41 |
my $anonymous_bind = 1; |
51 |
my $anonymous_bind = 1; |
42 |
my $user = 'cn=Manager,dc=metavore,dc=com'; |
52 |
my $user = 'cn=Manager,dc=metavore,dc=com'; |
Lines 144-150
subtest 'checkpw_ldap tests' => sub {
Link Here
|
144 |
|
154 |
|
145 |
subtest 'auth_by_bind = 1 tests' => sub { |
155 |
subtest 'auth_by_bind = 1 tests' => sub { |
146 |
|
156 |
|
147 |
plan tests => 11; |
157 |
plan tests => 14; |
148 |
|
158 |
|
149 |
$auth_by_bind = 1; |
159 |
$auth_by_bind = 1; |
150 |
|
160 |
|
Lines 221-227
subtest 'checkpw_ldap tests' => sub {
Link Here
|
221 |
'checkpw_ldap returns 0 if user lookup returns 0' |
231 |
'checkpw_ldap returns 0 if user lookup returns 0' |
222 |
); |
232 |
); |
223 |
|
233 |
|
224 |
$desired_bind_result = 'error'; |
234 |
# test replicate functionality and welcome notice |
|
|
235 |
$desired_authentication_result = 'success'; |
236 |
$anonymous_bind = 1; |
237 |
$desired_admin_bind_result = 'success'; |
238 |
$desired_search_result = 'success'; |
239 |
$desired_count_result = 1; |
240 |
$desired_bind_result = 'success'; |
241 |
$replicate = 1; |
242 |
$welcome = 1; |
243 |
reload_ldap_module(); |
244 |
|
245 |
$auth->mock( |
246 |
'ldap_entry_2_hash', |
247 |
sub { |
248 |
return ( |
249 |
userid => 'hola', |
250 |
branchcode => $branchcode, |
251 |
categorycode => $categorycode, |
252 |
email => 'me@myemail.com', |
253 |
); |
254 |
} |
255 |
); |
256 |
|
257 |
C4::Auth_with_ldap::checkpw_ldap( 'hola', password => 'hey' ); |
258 |
my $patrons = Koha::Patrons->search( { userid => 'hola' } ); |
259 |
is( $patrons->count, 1, 'New patron added with "replicate"' ); |
260 |
|
261 |
$patron = $patrons->next; |
262 |
my $queued_notices = Koha::Notice::Messages->search( |
263 |
{ borrowernumber => $patron->borrowernumber } ); |
264 |
is( $queued_notices->count, 1, |
265 |
"One notice queued when `welcome` is set" ); |
266 |
|
267 |
my $THE_notice = $queued_notices->next; |
268 |
is( $THE_notice->status, 'failed', "The notice was sent immediately" ); |
269 |
|
270 |
# clean up |
271 |
$patron->delete; |
272 |
$replicate = 0; |
273 |
$welcome = 0; |
274 |
$auth->unmock('ldap_entry_2_hash'); |
275 |
# end replicate testing |
276 |
|
277 |
$desired_count_result = 0; |
278 |
$desired_bind_result = 'error'; |
225 |
reload_ldap_module(); |
279 |
reload_ldap_module(); |
226 |
|
280 |
|
227 |
warning_like { |
281 |
warning_like { |
Lines 376-381
sub mockedC4Config {
Link Here
|
376 |
pass => $pass, |
430 |
pass => $pass, |
377 |
principal_name => '%s@my_domain.com', |
431 |
principal_name => '%s@my_domain.com', |
378 |
replicate => $replicate, |
432 |
replicate => $replicate, |
|
|
433 |
welcome => $welcome, |
379 |
update => $update, |
434 |
update => $update, |
380 |
user => $user, |
435 |
user => $user, |
381 |
); |
436 |
); |
382 |
- |
|
|