View | Details | Raw Unified | Return to bug 35890
Collapse All | Expand All

(-)a/t/db_dependent/Auth.t (-2 / +52 lines)
Lines 7-13 use CGI qw ( -utf8 ); Link Here
7
use Test::MockObject;
7
use Test::MockObject;
8
use Test::MockModule;
8
use Test::MockModule;
9
use List::MoreUtils qw/all any none/;
9
use List::MoreUtils qw/all any none/;
10
use Test::More tests => 18;
10
use Test::More tests => 19;
11
use Test::Warn;
11
use Test::Warn;
12
use t::lib::Mocks;
12
use t::lib::Mocks;
13
use t::lib::TestBuilder;
13
use t::lib::TestBuilder;
Lines 1024-1029 subtest 'get_cataloguing_page_permissions() tests' => sub { Link Here
1024
    $schema->storage->txn_rollback;
1024
    $schema->storage->txn_rollback;
1025
};
1025
};
1026
1026
1027
subtest 'AutoLocation' => sub {
1028
1029
    plan tests => 6;
1030
1031
    $schema->storage->txn_begin;
1032
1033
    t::lib::Mocks::mock_preference( 'AutoLocation', 0 );
1034
1035
    my $patron   = $builder->build_object( { class => 'Koha::Patrons', value => { flags => 1 } } );
1036
    my $password = 'password';
1037
    t::lib::Mocks::mock_preference( 'RequireStrongPassword', 0 );
1038
    $patron->set_password( { password => $password } );
1039
1040
    my $cgi_mock = Test::MockModule->new('CGI');
1041
    $cgi_mock->mock( 'request_method', sub { return 'POST' } );
1042
    my $cgi  = CGI->new;
1043
    my $auth = Test::MockModule->new('C4::Auth');
1044
1045
    # Simulating the login form submission
1046
    $cgi->param( 'userid',   $patron->userid );
1047
    $cgi->param( 'password', $password );
1048
1049
    $ENV{REMOTE_ADDR} = '127.0.0.1';
1050
    my ( $userid, $cookie, $sessionID, $flags ) = C4::Auth::checkauth( $cgi, 0, { catalogue => 1 }, 'intranet' );
1051
    is( $userid, $patron->userid );
1052
1053
    my $template;
1054
    t::lib::Mocks::mock_preference( 'AutoLocation', 1 );
1055
1056
    # AutoLocation: "Require staff to log in from a computer in the IP address range specified by their library (if any)"
1057
    $patron->library->branchip('')->store;    # There is none, allow access from anywhere
1058
    ( $userid, $cookie, $sessionID, $flags, $template ) =
1059
        C4::Auth::checkauth( $cgi, 0, { catalogue => 1 }, 'intranet' );
1060
    is( $userid,   $patron->userid );
1061
    is( $template, undef );
1062
1063
    $patron->library->branchip('1.2.3.4')->store;
1064
    ( $userid, $cookie, $sessionID, $flags, $template ) =
1065
        C4::Auth::checkauth( $cgi, 0, { catalogue => 1 }, 'intranet', undef, undef, { do_not_print => 1 } );
1066
    is( $template->{VARS}->{wrongip}, 1 );
1067
1068
    $patron->library->branchip('127.0.0.1')->store;
1069
    ( $userid, $cookie, $sessionID, $flags, $template ) =
1070
        C4::Auth::checkauth( $cgi, 0, { catalogue => 1 }, 'intranet' );
1071
    is( $userid,   $patron->userid );
1072
    is( $template, undef );
1073
1074
    $schema->storage->txn_rollback;
1075
1076
};
1077
1027
sub set_weak_password {
1078
sub set_weak_password {
1028
    my ($patron) = @_;
1079
    my ($patron) = @_;
1029
    my $password = 'password';
1080
    my $password = 'password';
1030
- 

Return to bug 35890