File tree Expand file tree Collapse file tree 3 files changed +34
-4
lines changed Expand file tree Collapse file tree 3 files changed +34
-4
lines changed Original file line number Diff line number Diff line change @@ -5,8 +5,7 @@ module Net::BER::Extensions::TrueClass
5
5
##
6
6
# Converts +true+ to the BER wireline representation of +true+.
7
7
def to_ber
8
- # 20100319 AZ: Note that this may not be the completely correct value,
9
- # per some test documentation. We need to determine the truth of this.
10
- "\001 \001 \001 "
8
+ # http://tools.ietf.org/html/rfc4511#section-5.1
9
+ "\001 \001 \xFF " . force_encoding ( "ASCII-8BIT" )
11
10
end
12
11
end
Original file line number Diff line number Diff line change @@ -12,8 +12,9 @@ def test_array
12
12
assert_equal ary , encoded_ary . read_ber
13
13
end
14
14
15
+ # http://tools.ietf.org/html/rfc4511#section-5.1
15
16
def test_true
16
- assert_equal "\x01 \x01 \x01 " , true . to_ber
17
+ assert_equal "\x01 \x01 \xFF " . b , true . to_ber
17
18
end
18
19
19
20
def test_false
Original file line number Diff line number Diff line change
1
+ require_relative '../test_helper'
2
+
3
+ class TestBERIntegration < LDAPIntegrationTestCase
4
+ # Test whether the TRUE boolean value is encoded correctly by performing a
5
+ # search operation.
6
+ def test_true_ber_encoding
7
+ # request these attrs to simplify test; use symbols to match Entry#attribute_names
8
+ attrs = [ :dn , :uid , :cn , :mail ]
9
+
10
+ assert types_entry = @ldap . search (
11
+ base : "dc=rubyldap,dc=com" ,
12
+ filter : "(uid=user1)" ,
13
+ size : 1 ,
14
+ attributes : attrs ,
15
+ attributes_only : true
16
+ ) . first
17
+
18
+ # matches attributes we requested
19
+ assert_equal attrs , types_entry . attribute_names
20
+
21
+ # assert values are empty
22
+ types_entry . each do |name , values |
23
+ next if name == :dn
24
+ assert values . empty?
25
+ end
26
+
27
+ assert_includes Net ::LDAP ::ResultCodesSearchSuccess ,
28
+ @ldap . get_operation_result . code , "should be a successful search operation"
29
+ end
30
+ end
You can’t perform that action at this time.
0 commit comments