#!/usr/bin/perl use strict; use warnings; use utf8; use LDV::LDAP; use File::Slurp; use Data::Dumper; use Test::More tests => 16; my $hash = read_file('conf/ldv.conf'); my $config = eval "$hash"; SKIP: { skip "Can't load config", 16 unless (ref($config) eq 'HASH'); my $ldap = LDV::LDAP->new($config->{ldap}); isa_ok($ldap, "LDV::LDAP", "LDV::LDAP->new"); can_ok($ldap, qw(create delete get update)); is($ldap->get("test20"), undef, "get non-existing user"); is($ldap->create("test20"), undef, "creating user"); my $attrs = {uid => 'test20', cn => 'just', sn => 'created'}; is_deeply($ldap->get("test20"), $attrs, "getting data of newly created user"); $attrs = {uid => 'test20', cn => 'Полиграф', sn => 'Шариков'}; is($ldap->update("test20", $attrs), undef, "updating user data"); is($ldap->update("test20", {mail => 'abigvalg@example.com'}), undef, "updating user data"); $attrs->{mail} = 'abigvalg@example.com'; is_deeply($ldap->get("test20"), $attrs, "getting data of updated user"); my $pass = '{SSHA}K/LOxZB1fnNtQuRc1mApdoL7CGR2Akn/'; # 'test' is($ldap->update("test20", {userPassword => $pass}), undef, "updating user password"); is($ldap->auth("test20", "test"), 1, "check auth success"); is($ldap->auth("test20", "test1"), undef, "check auth falure (wrong pass)"); is($ldap->auth("test20", undef), undef, "check auth falure (empty pass)"); is($ldap->chpass("test20", "test2"), undef, "change password"); is($ldap->auth("test20", "test2"), 1, "check auth success (new pass)"); is($ldap->auth("test20", "test"), undef, "check auth falure (old pass)"); is($ldap->delete("test20"), undef, "deleting user"); }; exit 0;