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,|