From aa3c4d7c315b6a66951d1fe90259ce5f54dc81c1 Mon Sep 17 00:00:00 2001 From: Jonathan Druart Date: Wed, 14 Feb 2024 08:49:33 +0100 Subject: [PATCH] Bug 36034: Add test Signed-off-by: Jonathan Druart --- t/db_dependent/Auth.t | 32 +++++++++++++++++++++++++++++++- 1 file changed, 31 insertions(+), 1 deletion(-) diff --git a/t/db_dependent/Auth.t b/t/db_dependent/Auth.t index df79b09e54b..e60b1f6e6ae 100755 --- a/t/db_dependent/Auth.t +++ b/t/db_dependent/Auth.t @@ -41,7 +41,7 @@ $schema->storage->txn_begin; subtest 'checkauth() tests' => sub { - plan tests => 9; + plan tests => 10; my $patron = $builder->build_object({ class => 'Koha::Patrons', value => { flags => undef } }); @@ -111,6 +111,36 @@ subtest 'checkauth() tests' => sub { is( $userid, undef, 'If librarian user is used and password with GET, they should not be logged in' ); }; + subtest 'cas_ticket must be empty in session' => sub { + + plan tests => 2; + + my $patron = $builder->build_object( + { class => 'Koha::Patrons', value => { flags => 1 } } ); + my $password = 'password'; + t::lib::Mocks::mock_preference( 'RequireStrongPassword', 0 ); + $patron->set_password( { password => $password } ); + $cgi = Test::MockObject->new(); + $cgi->mock( 'cookie', sub { return; } ); + $cgi->mock( + 'param', + sub { + my ( $self, $param ) = @_; + if ( $param eq 'userid' ) { return $patron->userid; } + elsif ( $param eq 'password' ) { return $password; } + else { return; } + } + ); + + $cgi->mock( 'request_method', sub { return 'POST' } ); + ( $userid, $cookie, $sessionID, $flags ) = C4::Auth::checkauth( $cgi, 'authrequired' ); + is( $userid, $patron->userid, 'If librarian user is used and password with POST, they should be logged in' ); + my $session = C4::Auth::get_session($sessionID); + is( $session->param('cas_ticket'), undef ); + + }; + + subtest 'Template params tests (password_expired)' => sub { plan tests => 1; -- 2.34.1