# $Id: tc_conn.rb,v 1.3 2005/03/15 01:43:59 ianmacd Exp $
#
# A suite of unit tests for testing Ruby/LDAP connection functionality.
require 'ldap'
require 'test/unit'
require './setup'
class TC_ConnectionTest < TC_LDAPTest
# Ensure that rebinding works.
#
def test_rebind
id = @@conn.object_id
assert_nothing_raised do
@@conn.unbind
@@conn.bind
end
id2 = @@conn.object_id
assert_equal( id, id2 )
assert_nothing_raised do
@@conn.unbind
@@conn.simple_bind
end
id2 = @@conn.object_id
assert_equal( id, id2 )
end
def test_double_bind
assert_raises( LDAP::Error ) { @@conn.bind }
assert_raises( LDAP::Error ) { @@conn.simple_bind }
end
def test_double_unbind
assert_nothing_raised { @@conn.unbind }
assert_raises( LDAP::InvalidDataError ) { @@conn.unbind }
end
def test_bound?
assert( @@conn.bound? )
@@conn.unbind
assert( ! @@conn.bound? )
end
def test_sasl_bind
@@conn = LDAP::Conn.new( @@host )
@@conn.sasl_quiet = true
assert_nothing_raised { @@conn.sasl_bind( '', '' ) }
@@conn = nil
end
def test_double_sasl_bind
@@conn = LDAP::Conn.new( @@host )
@@conn.sasl_quiet = true
assert_nothing_raised { @@conn.sasl_bind( '', '' ) }
assert_raises( LDAP::Error ) { @@conn.sasl_bind( '', '' ) }
@@conn = nil
end
def test_sasl_rebind
@@conn = LDAP::Conn.new( @@host )
@@conn.sasl_quiet = true
id = @@conn.object_id
assert_nothing_raised do
@@conn.unbind
@@conn.sasl_bind( '', '' )
end
id2 = @@conn.object_id
assert_equal( id, id2 )
@@conn = nil
end
def test_ssl_rebind
@@conn = LDAP::SSLConn.new( @@host, LDAP::LDAPS_PORT )
id = @@conn.object_id
assert_nothing_raised do
@@conn.bind
@@conn.unbind
@@conn.bind
end
id2 = @@conn.object_id
assert_equal( id, id2 )
@@conn = nil
end
def test_ssl_open
assert_raises( NotImplementedError ) { LDAP::SSLConn.open( @@host ) }
end
def test_ssl_starttls_rebind
@@conn = LDAP::SSLConn.new( @@host, LDAP::LDAP_PORT, true )
id = @@conn.object_id
assert_nothing_raised do
@@conn.bind
@@conn.unbind
@@conn.bind
end
id2 = @@conn.object_id
assert_equal( id, id2 )
@@conn = nil
end
end
syntax highlighted by Code2HTML, v. 0.9.1