This repository was archived by the owner on Nov 15, 2018. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathtest_attributes.rb
94 lines (79 loc) · 3.63 KB
/
test_attributes.rb
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
require 'al-test-utils'
class TestAttributes < Test::Unit::TestCase
include AlTestUtils
priority :must
priority :normal
def test_to_real_attribute_name
user = @user_class.new("user")
assert_equal("objectClass",
user.__send__(:to_real_attribute_name, "objectclass"))
assert_equal("objectClass",
user.__send__(:to_real_attribute_name, "objectclass", true))
assert_nil(user.__send__(:to_real_attribute_name, "objectclass", false))
end
def test_protect_object_class_from_mass_assignment
classes = @user_class.required_classes + ["inetOrgPerson"]
user = @user_class.new(:uid => "XXX", :object_class => classes)
assert_equal(["inetOrgPerson"],
user.classes - @user_class.required_classes)
user = @user_class.new(:uid => "XXX", :object_class => ['inetOrgPerson'])
assert_equal(["inetOrgPerson"],
user.classes - @user_class.required_classes)
user = @user_class.new("XXX")
assert_equal([], user.classes - @user_class.required_classes)
user.attributes = {:object_class => classes}
assert_equal([], user.classes - @user_class.required_classes)
end
def test_normalize_attribute
assert_equal(["usercertificate", [{"binary" => []}]],
ActiveLdap::Base.normalize_attribute("userCertificate", []))
assert_equal(["usercertificate", [{"binary" => []}]],
ActiveLdap::Base.normalize_attribute("userCertificate", nil))
assert_equal(["usercertificate", [{"binary" => "BINARY DATA"}]],
ActiveLdap::Base.normalize_attribute("userCertificate",
"BINARY DATA"))
assert_equal(["usercertificate", [{"binary" => ["BINARY DATA"]}]],
ActiveLdap::Base.normalize_attribute("userCertificate",
{"binary" =>
["BINARY DATA"]}))
end
def test_unnormalize_attribute
assert_equal({"sn" => ["Surname"]},
ActiveLdap::Base.unnormalize_attribute("sn", ["Surname"]))
assert_equal({"userCertificate;binary" => []},
ActiveLdap::Base.unnormalize_attribute("userCertificate",
[{"binary" => []}]))
assert_equal({"userCertificate;binary" => ["BINARY DATA"]},
ActiveLdap::Base.unnormalize_attribute("userCertificate",
[{"binary" =>
["BINARY DATA"]}]))
end
def test_attr_protected
user = @user_class.new(:uid => "XXX")
assert_equal("XXX", user.uid)
user.attributes = {:uid => "ZZZ"}
assert_equal("XXX", user.uid)
user = @user_class.new(:sn => "ZZZ")
assert_equal("ZZZ", user.sn)
user = @user_class.new(:uid => "XXX", :sn => "ZZZ")
assert_equal("XXX", user.uid)
assert_equal("ZZZ", user.sn)
@user_class.attr_protected :sn
user = @user_class.new(:sn => "ZZZ")
assert_nil(user.sn)
sub_user_class = Class.new(@user_class)
sub_user_class.ldap_mapping :dn_attribute => "uid"
user = sub_user_class.new(:uid => "XXX", :sn => "ZZZ")
assert_equal("XXX", user.uid)
assert_nil(user.sn)
sub_user_class.attr_protected :cn
user = sub_user_class.new(:uid => "XXX", :sn => "ZZZ", :cn => "Common Name")
assert_equal("XXX", user.uid)
assert_nil(user.sn)
assert_nil(user.cn)
user = @user_class.new(:uid => "XXX", :sn => "ZZZ", :cn => "Common Name")
assert_equal("XXX", user.uid)
assert_nil(user.sn)
assert_equal("Common Name", user.cn)
end
end