Changed LDAP#search to return T/F instead of numeric LDAP code,

and adjusted the tests accordingly.
This commit is contained in:
blackhedd 2006-04-23 01:17:49 +00:00
parent 030bb9c6d4
commit f8649bc54e
2 changed files with 12 additions and 11 deletions

View file

@ -199,22 +199,21 @@ module Net
# #
def search args def search args
if @open_connection if @open_connection
result_code = @open_connection.search( args ) {|values| @result = @open_connection.search( args ) {|values|
block_given? and yield( values ) block_given? and yield( values )
} }
result_code
else else
result_code = 0 @result = 0
conn = Connection.new( :host => @host, :port => @port ) conn = Connection.new( :host => @host, :port => @port )
if (result_code = conn.bind( args[:auth] || @auth )) == 0 if (@result = conn.bind( args[:auth] || @auth )) == 0
result_code = conn.search( args ) {|values| @result = conn.search( args ) {|values|
block_given? and yield( values ) block_given? and yield( values )
} }
end end
conn.close conn.close
result_code
end end
@result == 0
end end
# #

View file

@ -88,10 +88,12 @@ class TestLdapClient < Test::Unit::TestCase
ldap = Net::LDAP.new :host => @host, :port => @port, :auth => @auth ldap = Net::LDAP.new :host => @host, :port => @port, :auth => @auth
search = {:base => "dc=smalldomain,dc=com"} search = {:base => "dc=smalldomain,dc=com"}
assert_equal( 32, ldap.search( search )) assert_equal( false, ldap.search( search ))
assert_equal( 32, ldap.get_operation_result.code )
search = {:base => "dc=bayshorenetworks,dc=com"} search = {:base => "dc=bayshorenetworks,dc=com"}
assert_equal( 0, ldap.search( search )) assert_equal( true, ldap.search( search ))
assert_equal( 0, ldap.get_operation_result.code )
ldap.search( search ) {|res| ldap.search( search ) {|res|
assert_equal( res, @ldif ) assert_equal( res, @ldif )
@ -118,7 +120,7 @@ class TestLdapClient < Test::Unit::TestCase
} }
} }
assert_equal( 0, ldap.search( search )) assert_equal( true, ldap.search( search ))
ldap.search( search ) {|res| ldap.search( search ) {|res|
res_keys = res.keys.sort res_keys = res.keys.sort
ldif_keys = ldif.keys.sort ldif_keys = ldif.keys.sort
@ -164,7 +166,7 @@ class TestLdapClient < Test::Unit::TestCase
ldap.open {|ldap| ldap.open {|ldap|
10.times { 10.times {
rc = ldap.search( :base => "dc=bayshorenetworks,dc=com" ) rc = ldap.search( :base => "dc=bayshorenetworks,dc=com" )
assert_equal( 0, rc ) assert_equal( true, rc )
} }
} }
end end
@ -174,7 +176,7 @@ class TestLdapClient < Test::Unit::TestCase
Net::LDAP.open( :host => @host, :port => @port, :auth => @auth ) {|ldap| Net::LDAP.open( :host => @host, :port => @port, :auth => @auth ) {|ldap|
10.times { 10.times {
rc = ldap.search( :base => "dc=bayshorenetworks,dc=com" ) rc = ldap.search( :base => "dc=bayshorenetworks,dc=com" )
assert_equal( 0, rc ) assert_equal( true, rc )
} }
} }
end end