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 => 19;
10
use Test::More tests => 20;
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 1268-1273 subtest 'checkpw() return values tests' => sub { Link Here
1268
    };
1268
    };
1269
};
1269
};
1270
1270
1271
subtest 'AutoLocation' => sub {
1272
1273
    plan tests => 6;
1274
1275
    $schema->storage->txn_begin;
1276
1277
    t::lib::Mocks::mock_preference( 'AutoLocation', 0 );
1278
1279
    my $patron   = $builder->build_object( { class => 'Koha::Patrons', value => { flags => 1 } } );
1280
    my $password = 'password';
1281
    t::lib::Mocks::mock_preference( 'RequireStrongPassword', 0 );
1282
    $patron->set_password( { password => $password } );
1283
1284
    my $cgi_mock = Test::MockModule->new('CGI');
1285
    $cgi_mock->mock( 'request_method', sub { return 'POST' } );
1286
    my $cgi  = CGI->new;
1287
    my $auth = Test::MockModule->new('C4::Auth');
1288
1289
    # Simulating the login form submission
1290
    $cgi->param( 'userid',   $patron->userid );
1291
    $cgi->param( 'password', $password );
1292
1293
    $ENV{REMOTE_ADDR} = '127.0.0.1';
1294
    my ( $userid, $cookie, $sessionID, $flags ) = C4::Auth::checkauth( $cgi, 0, { catalogue => 1 }, 'intranet' );
1295
    is( $userid, $patron->userid );
1296
1297
    my $template;
1298
    t::lib::Mocks::mock_preference( 'AutoLocation', 1 );
1299
1300
    # AutoLocation: "Require staff to log in from a computer in the IP address range specified by their library (if any)"
1301
    $patron->library->branchip('')->store;    # There is none, allow access from anywhere
1302
    ( $userid, $cookie, $sessionID, $flags, $template ) =
1303
        C4::Auth::checkauth( $cgi, 0, { catalogue => 1 }, 'intranet' );
1304
    is( $userid,   $patron->userid );
1305
    is( $template, undef );
1306
1307
    $patron->library->branchip('1.2.3.4')->store;
1308
    ( $userid, $cookie, $sessionID, $flags, $template ) =
1309
        C4::Auth::checkauth( $cgi, 0, { catalogue => 1 }, 'intranet', undef, undef, { do_not_print => 1 } );
1310
    is( $template->{VARS}->{wrongip}, 1 );
1311
1312
    $patron->library->branchip('127.0.0.1')->store;
1313
    ( $userid, $cookie, $sessionID, $flags, $template ) =
1314
        C4::Auth::checkauth( $cgi, 0, { catalogue => 1 }, 'intranet' );
1315
    is( $userid,   $patron->userid );
1316
    is( $template, undef );
1317
1318
    $schema->storage->txn_rollback;
1319
1320
};
1321
1271
sub set_weak_password {
1322
sub set_weak_password {
1272
    my ($patron) = @_;
1323
    my ($patron) = @_;
1273
    my $password = 'password';
1324
    my $password = 'password';
1274
- 

Return to bug 35890