summaryrefslogtreecommitdiffstats
path: root/vendor/gems/net-ldap-0.2.2/test/test_rename.rb
diff options
context:
space:
mode:
authorJean-Philippe Lang <jp_lang@yahoo.fr>2012-02-02 19:30:01 +0000
committerJean-Philippe Lang <jp_lang@yahoo.fr>2012-02-02 19:30:01 +0000
commit73f9b825f08b0a197497acffd4437a34ff5e1e8c (patch)
tree2a233ff646b0087f7bf6afc7b4c07a30e1fc5ee9 /vendor/gems/net-ldap-0.2.2/test/test_rename.rb
parentd02f6a8e32d1e09e5303d36f09788a2d19ac413a (diff)
downloadredmine-73f9b825f08b0a197497acffd4437a34ff5e1e8c.tar.gz
redmine-73f9b825f08b0a197497acffd4437a34ff5e1e8c.zip
Replaced ruby-net-ldap with net-ldap 0.2.2 gem.
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@8751 e93f8b46-1217-0410-a6f0-8f06a7374b81
Diffstat (limited to 'vendor/gems/net-ldap-0.2.2/test/test_rename.rb')
-rw-r--r--vendor/gems/net-ldap-0.2.2/test/test_rename.rb77
1 files changed, 77 insertions, 0 deletions
diff --git a/vendor/gems/net-ldap-0.2.2/test/test_rename.rb b/vendor/gems/net-ldap-0.2.2/test/test_rename.rb
new file mode 100644
index 000000000..db82340a3
--- /dev/null
+++ b/vendor/gems/net-ldap-0.2.2/test/test_rename.rb
@@ -0,0 +1,77 @@
+require 'common'
+
+# Commented out since it assumes you have a live LDAP server somewhere. This
+# will be migrated to the integration specs, as soon as they are ready.
+=begin
+class TestRename < Test::Unit::TestCase
+ HOST= '10.10.10.71'
+ PORT = 389
+ BASE = "o=test"
+ AUTH = { :method => :simple, :username => "cn=testadmin,#{BASE}", :password => 'password' }
+ BASIC_USER = "cn=jsmith,ou=sales,#{BASE}"
+ RENAMED_USER = "cn=jbrown,ou=sales,#{BASE}"
+ MOVED_USER = "cn=jsmith,ou=marketing,#{BASE}"
+ RENAMED_MOVED_USER = "cn=jjones,ou=marketing,#{BASE}"
+
+ def setup
+ # create the entries we're going to manipulate
+ Net::LDAP::open(:host => HOST, :port => PORT, :auth => AUTH) do |ldap|
+ if ldap.add(:dn => "ou=sales,#{BASE}", :attributes => { :ou => "sales", :objectclass => "organizationalUnit" })
+ puts "Add failed: #{ldap.get_operation_result.message} - code: #{ldap.get_operation_result.code}"
+ end
+ ldap.add(:dn => "ou=marketing,#{BASE}", :attributes => { :ou => "marketing", :objectclass => "organizationalUnit" })
+ ldap.add(:dn => BASIC_USER, :attributes => { :cn => "jsmith", :objectclass => "inetOrgPerson", :sn => "Smith" })
+ end
+ end
+
+ def test_rename_entry
+ dn = nil
+ Net::LDAP::open(:host => HOST, :port => PORT, :auth => AUTH) do |ldap|
+ ldap.rename(:olddn => BASIC_USER, :newrdn => "cn=jbrown")
+
+ ldap.search(:base => RENAMED_USER) do |entry|
+ dn = entry.dn
+ end
+ end
+ assert_equal(RENAMED_USER, dn)
+ end
+
+ def test_move_entry
+ dn = nil
+ Net::LDAP::open(:host => HOST, :port => PORT, :auth => AUTH) do |ldap|
+ ldap.rename(:olddn => BASIC_USER, :newrdn => "cn=jsmith", :new_superior => "ou=marketing,#{BASE}")
+
+ ldap.search(:base => MOVED_USER) do |entry|
+ dn = entry.dn
+ end
+ end
+ assert_equal(MOVED_USER, dn)
+ end
+
+ def test_move_and_rename_entry
+ dn = nil
+ Net::LDAP::open(:host => HOST, :port => PORT, :auth => AUTH) do |ldap|
+ ldap.rename(:olddn => BASIC_USER, :newrdn => "cn=jjones", :new_superior => "ou=marketing,#{BASE}")
+
+ ldap.search(:base => RENAMED_MOVED_USER) do |entry|
+ dn = entry.dn
+ end
+ end
+ assert_equal(RENAMED_MOVED_USER, dn)
+ end
+
+ def teardown
+ # delete the entries
+ # note: this doesn't always completely clear up on eDirectory as objects get locked while
+ # the rename/move is being completed on the server and this prevents the delete from happening
+ Net::LDAP::open(:host => HOST, :port => PORT, :auth => AUTH) do |ldap|
+ ldap.delete(:dn => BASIC_USER)
+ ldap.delete(:dn => RENAMED_USER)
+ ldap.delete(:dn => MOVED_USER)
+ ldap.delete(:dn => RENAMED_MOVED_USER)
+ ldap.delete(:dn => "ou=sales,#{BASE}")
+ ldap.delete(:dn => "ou=marketing,#{BASE}")
+ end
+ end
+end
+=end