test/test_base.rb in activeldap-0.9.0 vs test/test_base.rb in activeldap-0.10.0
- old
+ new
@@ -1,13 +1,52 @@
+# -*- coding: utf-8 -*-
require 'al-test-utils'
class TestBase < Test::Unit::TestCase
include AlTestUtils
priority :must
+ def test_excluded_classes
+ mapping = {:classes => ["person"]}
+ person_class = Class.new(@user_class)
+ person_class.ldap_mapping(mapping)
+ no_organizational_person_class = Class.new(@user_class)
+ no_organizational_person_mapping =
+ mapping.merge(:excluded_classes => ["organizationalPerson"])
+ no_organizational_person_class.ldap_mapping(no_organizational_person_mapping)
+
+ no_simple_person_class = Class.new(@user_class)
+ no_simple_person_mapping =
+ mapping.merge(:excluded_classes => ['shadowAccount', 'inetOrgPerson',
+ "organizationalPerson"])
+ no_simple_person_class.ldap_mapping(no_simple_person_mapping)
+
+ make_temporary_user do |user1,|
+ make_temporary_user(:simple => true) do |user2,|
+ assert_equal([user1.dn, user2.dn].sort,
+ person_class.find(:all).collect(&:dn).sort)
+
+ no_organizational_people = no_organizational_person_class.find(:all)
+ assert_equal([user2.dn].sort,
+ no_organizational_people.collect(&:dn).sort)
+
+ assert_equal([user2.dn].sort,
+ no_simple_person_class.find(:all).collect(&:dn).sort)
+ end
+ end
+ end
+
priority :normal
+ def test_new_with_dn
+ cn = "XXX"
+ dn = "cn=#{cn},#{@user_class.base}"
+ user = @user_class.new(ActiveLdap::DN.parse(dn))
+ assert_equal(cn, user.cn)
+ assert_equal(dn, user.dn)
+ end
+
def test_dn_attribute_per_instance_with_invalid_value
user = @user_class.new
assert_equal("uid", user.dn_attribute)
user.dn = nil
@@ -132,10 +171,19 @@
ou_class.required_classes += ["organization"]
assert_equal([],
ou_class.search(:value => name).collect {|dn, attrs| dn})
end
+ def test_search_with_attributes_without_object_class
+ make_temporary_user do |user, password|
+ entries = @user_class.search(:filter => "#{user.dn_attribute}=#{user.id}",
+ :attributes => ["uidNumber"])
+ assert_equal([[user.dn, {"uidNumber" => [user.uid_number.to_s]}]],
+ entries)
+ end
+ end
+
def test_new_without_argument
user = @user_class.new
assert_equal(@user_class_classes, user.classes)
assert(user.respond_to?(:cn))
end
@@ -341,10 +389,12 @@
assert_not_equal(user1.attributes, user2.attributes)
assert_equal(user1.attributes.reject {|k, v| k == "cn"},
user2.attributes.reject {|k, v| k == "cn"})
user2.reload
- assert_equal(user1.attributes, user2.attributes)
+ assert_equal(user1.cn, user2.cn)
+ assert_equal(user1.attributes.reject {|k, v| k == "cn"},
+ user2.attributes.reject {|k, v| k == "cn"})
end
end
def test_delete
make_temporary_user do |user1,|