@@ -4,7 +4,7 @@ class TestSearchIntegration < LDAPIntegrationTestCase
4
4
def test_search
5
5
entries = [ ]
6
6
7
- result = @ldap . search ( filter : "(uid=user1)" , base : "dc=rubyldap,dc=com" ) do |entry |
7
+ result = @ldap . search ( base : "dc=rubyldap,dc=com" ) do |entry |
8
8
assert_kind_of Net ::LDAP ::Entry , entry
9
9
entries << entry
10
10
end
@@ -16,7 +16,7 @@ def test_search
16
16
def test_search_without_result
17
17
entries = [ ]
18
18
19
- result = @ldap . search ( filter : "(uid=user1)" , base : "dc=rubyldap,dc=com" , return_result : false ) do |entry |
19
+ result = @ldap . search ( base : "dc=rubyldap,dc=com" , return_result : false ) do |entry |
20
20
assert_kind_of Net ::LDAP ::Entry , entry
21
21
entries << entry
22
22
end
@@ -25,6 +25,29 @@ def test_search_without_result
25
25
refute_equal entries , result
26
26
end
27
27
28
+ def test_search_filter_string
29
+ entries = @ldap . search ( base : "dc=rubyldap,dc=com" , filter : "(uid=user1)" )
30
+ assert_equal 1 , entries . size
31
+ end
32
+
33
+ def test_search_filter_object
34
+ filter = Net ::LDAP ::Filter . eq ( "uid" , "user1" ) | Net ::LDAP ::Filter . eq ( "uid" , "user2" )
35
+ entries = @ldap . search ( base : "dc=rubyldap,dc=com" , filter : filter )
36
+ assert_equal 2 , entries . size
37
+ end
38
+
39
+ def test_search_constrained_attributes
40
+ entry = @ldap . search ( base : "uid=user1,ou=People,dc=rubyldap,dc=com" , attributes : [ "cn" , "sn" ] ) . first
41
+ assert_equal [ :cn , :dn , :sn ] , entry . attribute_names . sort # :dn is always included
42
+ assert_empty entry [ :mail ]
43
+ end
44
+
45
+ def test_search_attributes_only
46
+ entry = @ldap . search ( base : "uid=user1,ou=People,dc=rubyldap,dc=com" , attributes_only : true ) . first
47
+
48
+ assert_empty entry [ :cn ] , "unexpected attribute value: #{ entry [ :cn ] } "
49
+ end
50
+
28
51
def test_search_timeout
29
52
entries = [ ]
30
53
events = @service . subscribe "search.net_ldap_connection"
@@ -39,15 +62,16 @@ def test_search_timeout
39
62
assert_equal entries , result
40
63
end
41
64
65
+ # http://tools.ietf.org/html/rfc4511#section-4.5.1.4
42
66
def test_search_with_size
43
67
entries = [ ]
44
68
45
- result = @ldap . search ( filter : "(uid=user1)" , base : "dc=rubyldap,dc=com" , size : 1 ) do |entry |
69
+ result = @ldap . search ( base : "dc=rubyldap,dc=com" , size : 1 ) do |entry |
46
70
assert_kind_of Net ::LDAP ::Entry , entry
47
71
entries << entry
48
72
end
49
73
50
- refute entries . empty?
74
+ assert_equal 1 , result . size
51
75
assert_equal entries , result
52
76
end
53
77
end
0 commit comments