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

(-)a/t/db_dependent/Auth_with_ldap.t (-3 / +63 lines)
Lines 51-56 my $auth_by_bind = 1; Link Here
51
my $anonymous_bind = 1;
51
my $anonymous_bind = 1;
52
my $user           = 'cn=Manager,dc=metavore,dc=com';
52
my $user           = 'cn=Manager,dc=metavore,dc=com';
53
my $pass           = 'metavore';
53
my $pass           = 'metavore';
54
my $attrs          = {};
54
55
55
# Variables controlling LDAP behaviour
56
# Variables controlling LDAP behaviour
56
my $desired_authentication_result = 'success';
57
my $desired_authentication_result = 'success';
Lines 137-143 can_ok( Link Here
137
138
138
subtest 'checkpw_ldap tests' => sub {
139
subtest 'checkpw_ldap tests' => sub {
139
140
140
    plan tests => 4;
141
    plan tests => 5;
141
142
142
    ## Connection fail tests
143
    ## Connection fail tests
143
    $desired_connection_result = 'error';
144
    $desired_connection_result = 'error';
Lines 372-377 qr/LDAP Auth rejected : invalid password for user 'hola'./, Link Here
372
        is( $ret, -1, 'checkpw_ldap returns -1 if bind fails (Bug 8148)' );
373
        is( $ret, -1, 'checkpw_ldap returns -1 if bind fails (Bug 8148)' );
373
374
374
    };
375
    };
376
377
    subtest "'update' config tets" => sub {
378
379
        plan tests => 4;
380
381
        $schema->storage->txn_begin;
382
383
        my $cardnumber = '123456789';
384
        my $userid     = '987654321';
385
386
        # test safety cleanup
387
        Koha::Patrons->search( [ { cardnumber => $cardnumber }, { userid => $userid } ] )->delete;
388
389
        my $patron = $builder->build_object(
390
            {
391
                class => 'Koha::Patrons',
392
                value => { cardnumber => $cardnumber, userid => $userid },
393
            }
394
        );
395
396
        # avoid noise
397
        t::lib::Mocks::mock_preference( 'ExtendedPatronAttributes', 0 );
398
        $welcome   = 0;
399
        $replicate = 0;
400
401
        # the scenario
402
        $update = 1;
403
404
        $anonymous_bind                = 0;
405
        $desired_count_result          = 1;
406
        $desired_authentication_result = 'success';
407
        $desired_admin_bind_result     = 'success';
408
        $desired_search_result         = 'success';
409
        $desired_bind_result           = 'success';
410
411
        $attrs = {
412
            branch        => [ $patron->branchcode ],
413
            employeetype  => [ $patron->categorycode ],
414
            givenname     => [ $patron->firstname ],
415
            mail          => [ $patron->email ],
416
            postaladdress => [ $patron->address ],
417
            sn            => [ $patron->surname ],
418
            uid           => [ $patron->userid ],
419
            userpassword  => ['some password'],
420
        };
421
422
        reload_ldap_module();
423
424
        my ( $ret_val, $ret_cardnumber, $ret_userid ) =
425
            C4::Auth_with_ldap::checkpw_ldap( $patron->userid, password => 'hey' );
426
427
        ok( $ret_val, 'Authentication success returns 1' );
428
        is( $ret_cardnumber, $cardnumber, "The correct 'cardnumber' is returned" );
429
        is( $ret_userid,     $userid,     "The correct 'userid' is returned" );
430
431
        $patron->discard_changes;
432
        is( $patron->cardnumber, $cardnumber, 'The cardnumber is not mistakenly changed to userid when not mapped' );
433
434
        $schema->storage->txn_rollback;
435
    };
375
};
436
};
376
437
377
subtest 'search_method tests' => sub {
438
subtest 'search_method tests' => sub {
Lines 542-548 sub mock_net_ldap_message { Link Here
542
sub mock_net_ldap_entry {
603
sub mock_net_ldap_entry {
543
    my ( $dn, $exists ) = @_;
604
    my ( $dn, $exists ) = @_;
544
605
545
    my $mocked_entry = Test::MockObject->new();
606
    my $mocked_entry = Test::MockObject->new( { attrs => $attrs } );
546
    $mocked_entry->mock( 'dn',     sub { return $dn; } );
607
    $mocked_entry->mock( 'dn',     sub { return $dn; } );
547
    $mocked_entry->mock( 'exists', sub { return $exists } );
608
    $mocked_entry->mock( 'exists', sub { return $exists } );
548
609
549
- 

Return to bug 29930