Bug 15253: Move subs to a new module, allow unit tests to function

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
This commit is contained in:
Kyle M Hall 2019-04-22 11:02:42 -04:00 committed by Martin Renvoize
parent 315f544cdc
commit 4bc14ef052
No known key found for this signature in database
GPG Key ID: 422B469130441A0F
3 changed files with 54 additions and 58 deletions

47
C4/SIP/Logger.pm Normal file
View File

@ -0,0 +1,47 @@
#!/usr/bin/perl
package C4::SIP::Logger;
use Modern::Perl;
our $activeSIPServer;
our $activeLogger;
=head2 get_SIPServer
my $sipServer = C4::SIP::SIPServer::get_SIPServer()
@RETURNS C4::SIP::SIPServer, the current server's child-process used to handle this SIP-transaction
=cut
sub get_SIPServer {
return $activeSIPServer;
}
sub _set_SIPServer {
my ($sipServer) = @_;
$activeSIPServer = $sipServer;
return $activeSIPServer;
}
=head2 get_logger
my $logger = C4::SIP::SIPServer::get_logger()
@RETURNS Koha::Logger, the logger used to log this SIP-transaction
=cut
sub get_logger {
return $activeLogger;
}
sub set_logger {
my ($logger) = @_;
$activeLogger = $logger;
return $activeLogger;
}
1;
__END__

View File

@ -17,6 +17,8 @@ use C4::SIP::Sip::Constants qw(:all);
use C4::SIP::Sip::Configuration;
use C4::SIP::Sip::Checksum qw(checksum verify_cksum);
use C4::SIP::Sip::MsgType qw( handle login_core );
use C4::SIP::Logger qw(set_logger);
use Koha::Caches;
use Koha::Logger;
@ -86,9 +88,6 @@ __PACKAGE__ ->run(@parms);
# Child
#
my $activeSIPServer;
my $activeLogger;
# process_request is the callback used by Net::Server to handle
# an incoming connection request.
@ -104,7 +103,7 @@ sub process_request {
Koha::Caches->flush_L1_caches();
$self->{account} = undef; # Clear out the account from the last request, it may be different
$self->{logger} = _set_logger( Koha::Logger->get( { interface => 'sip' } ) );
$self->{logger} = set_logger( Koha::Logger->get( { interface => 'sip' } ) );
# Flush previous MDCs to prevent accidentally leaking incorrect MDC-entries
Log::Log4perl::MDC->put( "accountid", undef );
@ -175,7 +174,7 @@ sub raw_transport {
}
alarm 0;
$self->{logger} = _set_logger(
$self->{logger} = set_logger(
Koha::Logger->get(
{
interface => 'sip',
@ -425,58 +424,6 @@ sub get_timeout {
}
}
=head2 get_SIPServer
my $sipServer = C4::SIP::SIPServer::get_SIPServer()
@RETURNS C4::SIP::SIPServer, the current server's child-process used to handle this SIP-transaction
=cut
sub get_SIPServer {
unless($activeSIPServer) {
my @cc = caller(1);
die "$cc[3]() asks for \$activeSIPServer, but he is not defined yet";
}
return $activeSIPServer;
}
sub _set_SIPServer {
my ($sipServer) = @_;
unless (blessed($sipServer) && $sipServer->isa('C4::SIP::SIPServer')) {
my @cc = caller(0);
die "$cc[3]():> \$sipServer '$sipServer' is not a C4::SIP::SIPServer-object";
}
$activeSIPServer = $sipServer;
return $activeSIPServer;
}
=head2 get_logger
my $logger = C4::SIP::SIPServer::get_logger()
@RETURNS Koha::Logger, the logger used to log this SIP-transaction
=cut
sub get_logger {
unless($activeLogger) {
my @cc = caller(1);
die "$cc[3]() asks for \$activeLogger, but he is not defined yet";
}
return $activeLogger;
}
sub _set_logger {
my ($logger) = @_;
unless (blessed($logger) && $logger->isa('Koha::Logger')) {
my @cc = caller(0);
die "$cc[3]():> \$logger '$logger' is not a Koha::Logger-object";
}
$activeLogger = $logger;
return $activeLogger;
}
1;
__END__

View File

@ -15,6 +15,7 @@ use List::Util qw(first);
use C4::SIP::Sip::Constants qw(SIP_DATETIME FID_SCREEN_MSG);
use C4::SIP::Sip::Checksum qw(checksum);
use C4::SIP::Logger qw(get_logger);
use base qw(Exporter);
@ -215,7 +216,8 @@ sub syslog {
my $message = @args ? sprintf($mask, @args) : $mask;
C4::SIP::SIPServer::get_logger()->$method($message);
my $logger = C4::SIP::Logger::get_logger();
$logger->$method($message) if $logger;
}
1;