Dancer2-Plugin-Auth-Extensible-Provider-LDAP

 view release on metacpan or  search on metacpan

t/plugin-provider-ldap.t  view on Meta::CPAN

use strict;
use warnings;

use Test::Fatal;
use Test::More;
use Dancer2::Plugin::Auth::Extensible::Test;
use lib 't/lib';

BEGIN {
    $ENV{DANCER_ENVDIR}      = 't/environments';
    $ENV{DANCER_ENVIRONMENT} = 'provider-ldap';
}

use Test::Net::LDAP::Mock;

Test::Net::LDAP::Mock->mock_target('ldap://127.0.0.1:389');
Test::Net::LDAP::Mock->mock_target(
    'localhost',
    port   => 389,
    schema => 'ldap'
);

BEGIN {
    my $ldap = Test::Net::LDAP::Mock->new( '127.0.0.1', port => 389 );

    $ldap->mock_root_dse( namingContexts => 'dc=localnet' );

    $ldap->add( 'cn=admin, dc=localnet', attrs => [], );
    $ldap->mock_password( 'cn=admin, dc=localnet', 'Eec8aireiZ0bo7Shooxe' );

    $ldap->add(
        'uid=dave, ou=People, dc=localnet',
        attrs => [
            objectClass =>
              [ 'inetOrgPerson', 'organizationalPerson', 'person', 'top' ],
            cn  => 'David Precious',
            sn  => 'Precious',
            uid => 'dave',
        ]
    );
    $ldap->mock_password( 'uid=dave, ou=People, dc=localnet', 'beer' );
    $ldap->add(
        'cn=BeerDrinker, ou=Groups, dc=localnet',
        attrs => [
            objectClass => [ 'groupOfNames', 'top' ],
            cn          => 'BeerDrinker',
            member      => 'uid=dave, ou=People, dc=localnet',
        ]
    );
    $ldap->add(
        'cn=Motorcyclist, ou=Groups, dc=localnet',
        attrs => [
            objectClass => [ 'groupOfNames', 'top' ],
            cn          => 'Motorcyclist',
            member      => 'uid=dave, ou=People, dc=localnet',
        ]
    );

    $ldap->add(
        'uid=bob, ou=People, dc=localnet',
        attrs => [
            objectClass =>
              [ 'inetOrgPerson', 'organizationalPerson', 'person', 'top' ],
            cn  => 'Bob Smith',



( run in 1.531 second using v1.01-cache-2.11-cpan-54e63673c56 )