Skip to content

Commit 39fdf34

Browse files
committed
Merge pull request #137 from ruby-ldap/search-integration-tests
Search integration tests
2 parents f40c46e + 55845c2 commit 39fdf34

File tree

1 file changed

+28
-4
lines changed

1 file changed

+28
-4
lines changed

test/integration/test_search.rb

Lines changed: 28 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ class TestSearchIntegration < LDAPIntegrationTestCase
44
def test_search
55
entries = []
66

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|
88
assert_kind_of Net::LDAP::Entry, entry
99
entries << entry
1010
end
@@ -16,7 +16,7 @@ def test_search
1616
def test_search_without_result
1717
entries = []
1818

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|
2020
assert_kind_of Net::LDAP::Entry, entry
2121
entries << entry
2222
end
@@ -25,6 +25,29 @@ def test_search_without_result
2525
refute_equal entries, result
2626
end
2727

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+
2851
def test_search_timeout
2952
entries = []
3053
events = @service.subscribe "search.net_ldap_connection"
@@ -39,15 +62,16 @@ def test_search_timeout
3962
assert_equal entries, result
4063
end
4164

65+
# http://tools.ietf.org/html/rfc4511#section-4.5.1.4
4266
def test_search_with_size
4367
entries = []
4468

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|
4670
assert_kind_of Net::LDAP::Entry, entry
4771
entries << entry
4872
end
4973

50-
refute entries.empty?
74+
assert_equal 1, result.size
5175
assert_equal entries, result
5276
end
5377
end

0 commit comments

Comments
 (0)