Provided by: libtest-net-ldap-perl_0.07-1_all bug

NAME

       Test::Net::LDAP - A Net::LDAP subclass for testing

VERSION

       Version 0.07

SYNOPSIS

       Basic testing utility

           use Test::More tests => 1;
           use Test::Net::LDAP;

           # Create an object, just like Net::LDAP->new()
           my $ldap = Test::Net::LDAP->new(...);

           # Same as $ldap->search(), testing the result to see if it is success
           my $search = $ldap->search_ok(...search args...);

       Mocking (See Test::Net::LDAP::Mock)

           use Test::More tests => 1;
           use Test::Net::LDAP::Util qw(ldap_mockify);

           ldap_mockify {
               # Net::LDAP->new() will invoke Test::Net::LDAP::Mock->new()
               my $ldap = Net::LDAP->new('ldap.example.com');

               # Add entries to in-memory data tree
               $ldap->add('uid=user1, ou=users, dc=example, dc=com');
               $ldap->add('uid=user2, ou=users, dc=example, dc=com');

               # Test your application
               ok my_application_routine();
           };

DESCRIPTION

       This module provides some testing methods for LDAP operations, such as "search", "add",
       and "modify", where each method is suffixed with either "_ok" or "_is".

       "Test::Net::LDAP" is a subclass of "Net::LDAP", so all the methods defined for "Net::LDAP"
       are available in addition to "search_ok", "add_is", etc.

       See Test::Net::LDAP::Mock for in-memory testing with fake data, without connecting to the
       real LDAP servers.

       See Test::Net::LDAP::Util for some helper subroutines.

METHODS

   new
       Creates a new object. The parameters are the same as "Net::LDAP::new".

           my $ldap = Test::Net::LDAP->new('ldap.example.com');

   search_ok
       Available methods: "search_ok", "compare_ok", "add_ok", "modify_ok", "delete_ok",
       "moddn_ok", "bind_ok", "unbind_ok", "abandon_ok"

       Synopsis:

           $ldap->search_ok(@params);
           $ldap->search_ok(\@params, $name);

       Invokes the corresponding method with @params passed as arguments, and tests the result to
       see if the code is "LDAP_SUCCESS".

       Alternatively, @params can be given as an array ref, so that the second argument $name is
       specified as the test name.

       $name is an optional test name, and if it is omitted, the test name is automatically
       configured based on $method and @params.

           my $search = $ldap->search_ok(
               base => 'dc=example, dc=com', scope => 'sub', filter => '(cn=*)',
           );

           my $search = $ldap->search_ok(
               [base => 'dc=example, dc=com', scope => 'sub', filter => '(cn=*)'],
               'Testing search (cn=*)'
           );

   search_is
       Available methods: "search_is", "compare_is", "add_is", "modify_is", "delete_is",
       "moddn_is", "bind_is", "unbind_is", "abandon_is"

       Synopsis:

           $ldap->search_is(\@params, $expect, $name);

       Invokes the corresponding method with @params passed as arguments, and tests the result to
       see if the code is equal to $expect.

       $expect can be a result code such as "LDAP_NO_SUCH_OBJECT" or an object of
       "Net::LDAP::Message" returned by LDAP operations.

       $name is an optional test name, and if it is omitted, the test name is automatically
       configured based on $method and @params.

           use Net::LDAP::Constant qw(LDAP_ALREADY_EXISTS);

           my $mesg = $ldap->add_is(
               ['uid=duplicate, dc=example, dc=com'],
               LDAP_ALREADY_EXISTS
           );

   method_ok
           $ldap->method_ok($method, @params);
           $ldap->method_ok($method, \@params, $name);

       Invokes the method as "$ldap->$method(@params)" and tests the result to see if the code is
       "LDAP_SUCCESS".

       $name is an optional test name, and if it is omitted, the test name is automatically
       configured based on $method and @params.

   method_is
           $ldap->method_is($method, \@params, $expect, $name);

       Invokes the method as "$ldap->$method(@params)" and tests the result to see if the code is
       equal to $expect.

       $expect can be a result code such as "LDAP_NO_SUCH_OBJECT" or an object of
       "Net::LDAP::Message" returned by LDAP operations.

       $name is an optional test name, and if it is omitted, the test name is automatically
       configured based on $method and @params.

SEE ALSO

       •   Test::More

       •   Net::LDAP

       •   Test::Net::LDAP::Mock

       •   Test::Net::LDAP::Util

AUTHOR

       Mahiro Ando, "<mahiro at cpan.org>"

BUGS

       Please report any bugs or feature requests to "bug-test-net-ldap at rt.cpan.org", or
       through the web interface at
       <http://rt.cpan.org/NoAuth/ReportBug.html?Queue=Test-Net-LDAP>.  I will be notified, and
       then you'll automatically be notified of progress on your bug as I make changes.

SUPPORT

       You can find documentation for this module with the perldoc command.

           perldoc Test::Net::LDAP

       You can also look for information at:

       •   GitHub repository (report bugs here)

           <https://github.com/mahiro/perl-Test-Net-LDAP>

       •   RT: CPAN's request tracker (report bugs here, alternatively)

           <http://rt.cpan.org/NoAuth/Bugs.html?Dist=Test-Net-LDAP>

       •   AnnoCPAN: Annotated CPAN documentation

           <http://annocpan.org/dist/Test-Net-LDAP>

       •   CPAN Ratings

           <http://cpanratings.perl.org/d/Test-Net-LDAP>

       •   Search CPAN

           <http://search.cpan.org/dist/Test-Net-LDAP/>

ACKNOWLEDGEMENTS

LICENSE AND COPYRIGHT

       Copyright 2013-2015 Mahiro Ando.

       This program is free software; you can redistribute it and/or modify it under the terms of
       either: the GNU General Public License as published by the Free Software Foundation; or
       the Artistic License.

       See http://dev.perl.org/licenses/ for more information.