We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
1 parent b856806 commit 76dde7bCopy full SHA for 76dde7b
1 file changed
lib/net/ldap/connection.rb
@@ -13,6 +13,15 @@ def initialize(server = {})
13
yield self if block_given?
14
end
15
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
24
25
def prepare_socket(server)
26
socket = server[:socket]
27
encryption = server[:encryption]
@@ -28,7 +37,7 @@ def open_connection(server)
28
37
errors = []
29
38
hosts.each do |host, port|
30
39
begin
31
- prepare_socket(server.merge(socket: TCPSocket.new(host, port)))
40
+ prepare_socket(server.merge(socket: socket_class.new(host, port)))
32
41
return
33
42
rescue Net::LDAP::Error, SocketError, SystemCallError,
34
43
OpenSSL::SSL::SSLError => e
0 commit comments