Lines 47-53
use Test::DBIx::Class {
Link Here
|
47 |
# Mock Variables |
47 |
# Mock Variables |
48 |
my $matchpoint = 'userid'; |
48 |
my $matchpoint = 'userid'; |
49 |
my $autocreate = 0; |
49 |
my $autocreate = 0; |
50 |
my $sync = 0; |
50 |
my $welcome = 0; |
|
|
51 |
my $sync = 0; |
51 |
my %mapping = ( |
52 |
my %mapping = ( |
52 |
'userid' => { 'is' => 'uid' }, |
53 |
'userid' => { 'is' => 'uid' }, |
53 |
'surname' => { 'is' => 'sn' }, |
54 |
'surname' => { 'is' => 'sn' }, |
Lines 55-67
my %mapping = (
Link Here
|
55 |
'categorycode' => { 'is' => 'cat' }, |
56 |
'categorycode' => { 'is' => 'cat' }, |
56 |
'address' => { 'is' => 'add' }, |
57 |
'address' => { 'is' => 'add' }, |
57 |
'city' => { 'is' => 'city' }, |
58 |
'city' => { 'is' => 'city' }, |
|
|
59 |
'emailpro' => { 'is' => 'emailpro' }, |
58 |
); |
60 |
); |
59 |
$ENV{'uid'} = "test1234"; |
61 |
$ENV{'uid'} = "test1234"; |
60 |
$ENV{'sn'} = undef; |
62 |
$ENV{'sn'} = undef; |
61 |
$ENV{'exp'} = undef; |
63 |
$ENV{'exp'} = undef; |
62 |
$ENV{'cat'} = undef; |
64 |
$ENV{'cat'} = undef; |
63 |
$ENV{'add'} = undef; |
65 |
$ENV{'add'} = undef; |
64 |
$ENV{'city'} = undef; |
66 |
$ENV{'city'} = undef; |
|
|
67 |
$ENV{'emailpro'} = undef; |
65 |
|
68 |
|
66 |
# Setup Mocks |
69 |
# Setup Mocks |
67 |
## Mock Context |
70 |
## Mock Context |
Lines 88-93
my $database = Test::MockModule->new('Koha::Database');
Link Here
|
88 |
### Mock ->schema |
91 |
### Mock ->schema |
89 |
$database->mock( 'schema', \&mockedSchema ); |
92 |
$database->mock( 'schema', \&mockedSchema ); |
90 |
|
93 |
|
|
|
94 |
### Mock Letters |
95 |
my $mocked_letters = Test::MockModule->new('C4::Letters'); |
96 |
# we want to test the params |
97 |
$mocked_letters->mock( 'GetPreparedLetter', sub { |
98 |
warn "GetPreparedLetter called"; |
99 |
return 1; |
100 |
}); |
101 |
# we don't care about EnqueueLetter for now |
102 |
$mocked_letters->mock( 'EnqueueLetter', sub { |
103 |
warn "EnqueueLetter called"; |
104 |
# return a 'message_id' |
105 |
return 42; |
106 |
}); |
107 |
# we don't care about EnqueueLetter for now |
108 |
$mocked_letters->mock( 'SendQueuedMessages', sub { |
109 |
my $params = shift; |
110 |
warn "SendQueuedMessages called with message_id: $params->{message_id}"; |
111 |
return 1; |
112 |
}); |
113 |
|
91 |
# Tests |
114 |
# Tests |
92 |
############################################################## |
115 |
############################################################## |
93 |
|
116 |
|
Lines 192-198
subtest "get_login_shib tests" => sub {
Link Here
|
192 |
## checkpw_shib |
215 |
## checkpw_shib |
193 |
subtest "checkpw_shib tests" => sub { |
216 |
subtest "checkpw_shib tests" => sub { |
194 |
|
217 |
|
195 |
plan tests => 33; |
218 |
plan tests => 34; |
196 |
|
219 |
|
197 |
my $shib_login; |
220 |
my $shib_login; |
198 |
my ( $retval, $retcard, $retuserid ); |
221 |
my ( $retval, $retcard, $retuserid ); |
Lines 247-263
subtest "checkpw_shib tests" => sub {
Link Here
|
247 |
|
270 |
|
248 |
reset_config(); |
271 |
reset_config(); |
249 |
|
272 |
|
250 |
# autocreate user |
273 |
# autocreate user (welcome) |
251 |
$autocreate = 1; |
274 |
$autocreate = 1; |
252 |
$shib_login = 'test4321'; |
275 |
$welcome = 1; |
253 |
$ENV{'uid'} = 'test4321'; |
276 |
$shib_login = 'test4321'; |
254 |
$ENV{'sn'} = "pika"; |
277 |
$ENV{'uid'} = 'test4321'; |
255 |
$ENV{'exp'} = "2017"; |
278 |
$ENV{'sn'} = "pika"; |
256 |
$ENV{'cat'} = "S"; |
279 |
$ENV{'exp'} = "2017"; |
257 |
$ENV{'add'} = 'Address'; |
280 |
$ENV{'cat'} = "S"; |
258 |
$ENV{'city'} = 'City'; |
281 |
$ENV{'add'} = 'Address'; |
259 |
|
282 |
$ENV{'city'} = 'City'; |
260 |
( $retval, $retcard, $retuserid ) = checkpw_shib($shib_login); |
283 |
$ENV{'emailpro'} = 'me@myemail.com'; |
|
|
284 |
|
285 |
warnings_are { |
286 |
( $retval, $retcard, $retuserid ) = checkpw_shib($shib_login); |
287 |
} |
288 |
[ |
289 |
'GetPreparedLetter called', |
290 |
'EnqueueLetter called', |
291 |
'SendQueuedMessages called with message_id: 42' |
292 |
], |
293 |
"WELCOME notice Prepared, Enqueued and Send"; |
261 |
is( $retval, "1", "user authenticated" ); |
294 |
is( $retval, "1", "user authenticated" ); |
262 |
is( $retuserid, "test4321", "expected userid returned" ); |
295 |
is( $retuserid, "test4321", "expected userid returned" ); |
263 |
$logger->debug_is("koha borrower field to match: userid", "borrower match field debug info") |
296 |
$logger->debug_is("koha borrower field to match: userid", "borrower match field debug info") |
Lines 270-275
subtest "checkpw_shib tests" => sub {
Link Here
|
270 |
[qw/pika 2017 Address City/], |
303 |
[qw/pika 2017 Address City/], |
271 |
'Found $new_users surname'; |
304 |
'Found $new_users surname'; |
272 |
$autocreate = 0; |
305 |
$autocreate = 0; |
|
|
306 |
$welcome = 0; |
273 |
|
307 |
|
274 |
# sync user |
308 |
# sync user |
275 |
$sync = 1; |
309 |
$sync = 1; |
Lines 364-369
sub mockedConfig {
Link Here
|
364 |
|
398 |
|
365 |
my %shibboleth = ( |
399 |
my %shibboleth = ( |
366 |
'autocreate' => $autocreate, |
400 |
'autocreate' => $autocreate, |
|
|
401 |
'welcome' => $welcome, |
367 |
'sync' => $sync, |
402 |
'sync' => $sync, |
368 |
'matchpoint' => $matchpoint, |
403 |
'matchpoint' => $matchpoint, |
369 |
'mapping' => \%mapping |
404 |
'mapping' => \%mapping |
Lines 384-389
sub mockedPref {
Link Here
|
384 |
$return = $staffClientBaseURL; |
419 |
$return = $staffClientBaseURL; |
385 |
} |
420 |
} |
386 |
|
421 |
|
|
|
422 |
if ( $param eq 'AutoEmailPrimaryAddress' ) { |
423 |
$return = 'OFF'; |
424 |
} |
425 |
|
387 |
return $return; |
426 |
return $return; |
388 |
} |
427 |
} |
389 |
|
428 |
|
Lines 399-419
sub mockedSchema {
Link Here
|
399 |
sub reset_config { |
438 |
sub reset_config { |
400 |
$matchpoint = 'userid'; |
439 |
$matchpoint = 'userid'; |
401 |
$autocreate = 0; |
440 |
$autocreate = 0; |
|
|
441 |
$welcome = 0; |
402 |
$sync = 0; |
442 |
$sync = 0; |
403 |
%mapping = ( |
443 |
%mapping = ( |
404 |
'userid' => { 'is' => 'uid' }, |
444 |
'userid' => { 'is' => 'uid' }, |
405 |
'surname' => { 'is' => 'sn' }, |
445 |
'surname' => { 'is' => 'sn' }, |
406 |
'dateexpiry' => { 'is' => 'exp' }, |
446 |
'dateexpiry' => { 'is' => 'exp' }, |
407 |
'categorycode' => { 'is' => 'cat' }, |
447 |
'categorycode' => { 'is' => 'cat' }, |
408 |
'address' => { 'is' => 'add' }, |
448 |
'address' => { 'is' => 'add' }, |
409 |
'city' => { 'is' => 'city' }, |
449 |
'city' => { 'is' => 'city' }, |
|
|
450 |
'emailpro' => { 'is' => 'emailpro' }, |
410 |
); |
451 |
); |
411 |
$ENV{'uid'} = "test1234"; |
452 |
$ENV{'uid'} = "test1234"; |
412 |
$ENV{'sn'} = undef; |
453 |
$ENV{'sn'} = undef; |
413 |
$ENV{'exp'} = undef; |
454 |
$ENV{'exp'} = undef; |
414 |
$ENV{'cat'} = undef; |
455 |
$ENV{'cat'} = undef; |
415 |
$ENV{'add'} = undef; |
456 |
$ENV{'add'} = undef; |
416 |
$ENV{'city'} = undef; |
457 |
$ENV{'city'} = undef; |
|
|
458 |
$ENV{'emailpro'} = undef; |
417 |
|
459 |
|
418 |
return 1; |
460 |
return 1; |
419 |
} |
461 |
} |
420 |
- |
|
|