Skip to content

Commit 76dde7b

Browse files
committed
parameterize socket_class for testing
1 parent b856806 commit 76dde7b

File tree

1 file changed

+10
-1
lines changed

1 file changed

+10
-1
lines changed

lib/net/ldap/connection.rb

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,15 @@ def initialize(server = {})
1313
yield self if block_given?
1414
end
1515

16+
# Allows tests to parameterize what socket class to use
17+
def socket_class
18+
@socket_class || TCPSocket
19+
end
20+
21+
def socket_class=(socket_class)
22+
@socket_class = socket_class
23+
end
24+
1625
def prepare_socket(server)
1726
socket = server[:socket]
1827
encryption = server[:encryption]
@@ -28,7 +37,7 @@ def open_connection(server)
2837
errors = []
2938
hosts.each do |host, port|
3039
begin
31-
prepare_socket(server.merge(socket: TCPSocket.new(host, port)))
40+
prepare_socket(server.merge(socket: socket_class.new(host, port)))
3241
return
3342
rescue Net::LDAP::Error, SocketError, SystemCallError,
3443
OpenSSL::SSL::SSLError => e

0 commit comments

Comments
 (0)