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)
committerLucas Gass <lucas@bywatersolutions.com>
Wed, 21 Feb 2024 20:55:50 +0000 (20:55 +0000)
commit9da4e2a6c8d0a9eab5ba915d7cee963915cb5875
tree089502a3c529a9965880d363118e6227e771c908
parent80822f768978853fd661a53cd721c512aa74add2
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>
C4/Auth.pm
t/db_dependent/Auth.t