Bug 35904: Make C4::Auth::checkauth testable easily
authorJonathan Druart <jonathan.druart@bugs.koha-community.org>
Thu, 25 Jan 2024 09:35:41 +0000 (10:35 +0100)
committerWainui Witika-Park <wainuiwitikapark@catalyst.net.nz>
Mon, 26 Feb 2024 21:39:43 +0000 (21:39 +0000)
commit7d0e211255c2466540938582c52d32c5b297ddcc
treeabe46e23502a97ae279dd71914246b90a8aec13d
parentfd5bd06085f3178178c64523954e84cc3d885ae3
Bug 35904: Make C4::Auth::checkauth testable easily

This patch suggests to add a new flag do_not_print to
C4::Auth::checkauth to not print the headers and allow to test this
subroutine more easily.

We do no longer need to mock safe_exit and redirect STDOUT to test its
return values.

There are still 3 left:
1.
733         # checkauth will redirect and safe_exit if not authenticated and not authorized
=> Better to keep this one, not trivial to replace

2.
806         # This will fail on permissions
This should be replaced but testing $template->{VARS}->{nopermission}
fails, I dont' think the comment is better.

3.
828         # Patron does not have the borrowers permission
Same as 2.

2. and 3. should be investigated a bit more.

This patch also move duplicated code to set patron's password to a
subroutine set_weak_password.

Test plan:
Read the code and confirm that everything makes sense.
QA: Do you have a better way for this? Yes it's dirty!

Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Victor Grousset/tuxayo <victor@tuxayo.net>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Wainui Witika-Park <wainuiwitikapark@catalyst.net.nz>
C4/Auth.pm
t/db_dependent/Auth.t