Net-DSML

 view release on metacpan or  search on metacpan

t/30.dsml.t  view on Meta::CPAN

use Test::More tests => 32;

BEGIN {
  require "t/common.pl";
}

use Net::DSML;
use Net::DSML::Filter;
use Net::DSML::Control;


diag( " " );
diag( "Testing Net::DSML $Net::DSML::VERSION" );
diag( "Testing Net::DSML::Filter $Net::DSML::Filter::VERSION" );
diag( "Testing Net::DSML::Control $Net::DSML::Control::VERSION" );

my @tests = do { local $/=""; <DATA> };

my $dsml = Net::DSML->new();
my $filter = Net::DSML::Filter->new();
my $control = Net::DSML::Control->new();
ok( defined $dsml);
ok( $dsml->isa('Net::DSML'));
ok( defined $filter);
ok( $filter->isa('Net::DSML::Filter'));
ok( defined $control);
ok( $control->isa('Net::DSML::Control'));

# Delete
$dsml = Net::DSML->new();
$dsml->setProcessId( { id => 1 } );
$dsml->delete( { dn => "uid=bugs,ou=people,dc=company,dc=com"} );
$dsml->send( { debug => 1} );
ok(compare_test($tests[0],$dsml->getOperations()));

# Delete
$dsml = Net::DSML->new();
$dsml->delete( { dn => "uid=bugs,ou=people,dc=company,dc=com"}, id => 1 );
$dsml->send( { debug => 1} );
ok(compare_test($tests[0],$dsml->getOperations()));

# Compare
$dsml = Net::DSML->new();
$dsml->setProcessId( { id => 1 } );
$dsml->compare( { dn => "uid=bugs,ou=people,dc=company,dc=com",
                  attribute => "sn",
                  value => "manager" } );
ok(compare_test($tests[1],$dsml->getOperations()));

# Compare
$dsml = Net::DSML->new();
$dsml->compare( { dn => "uid=bugs,ou=people,dc=company,dc=com",
                  id => 1,
                  attribute => "sn",
                  value => "manager" } );
ok(compare_test($tests[1],$dsml->getOperations()));

# Modrdn
$dsml = Net::DSML->new();
$dsml->setProcessId( { id => 1 } );
$dsml->modrdn( { dn => "uid=bugs,ou=people,dc=company,dc=com",
                  newrdn => "cn=mad man",
                  deleteoldrdn => "true",
                  newsuperior => "ou=people,dc=company,dc=com" } );
ok(compare_test($tests[2],$dsml->getOperations()));

# rootDSE
$dsml = Net::DSML->new();
$dsml->setProcessId( { id => 1 } );
$dsml->rootDSE( { attributes => [ "namingcontext"],
                  newrdn => "cn=mad man",
                  deleteoldrdn => "true",
                  newsuperior => "ou=people,dc=company,dc=com" } );
ok(compare_test($tests[3],$dsml->getOperations()));

# rootDSE
$dsml = Net::DSML->new();



( run in 0.517 second using v1.01-cache-2.11-cpan-364913b4093 )