File tree Expand file tree Collapse file tree 3 files changed +35
-2
lines changed Expand file tree Collapse file tree 3 files changed +35
-2
lines changed Original file line number Diff line number Diff line change @@ -14,7 +14,7 @@ def initialize(server)
14
14
rescue SocketError
15
15
raise Net ::LDAP ::Error , "No such address or other socket error."
16
16
rescue Errno ::ECONNREFUSED
17
- raise Net ::LDAP ::Error , "Server #{ server [ :host ] } refused connection on port #{ server [ :port ] } ."
17
+ raise Net ::LDAP ::ConnectionRefusedError , "Server #{ server [ :host ] } refused connection on port #{ server [ :port ] } ."
18
18
rescue Errno ::EHOSTUNREACH => error
19
19
raise Net ::LDAP ::Error , "Host #{ server [ :host ] } was unreachable (#{ error . message } )"
20
20
rescue Errno ::ETIMEDOUT
Original file line number Diff line number Diff line change @@ -9,7 +9,22 @@ class Error < StandardError; end
9
9
10
10
class AlreadyOpenedError < Error ; end
11
11
class SocketError < Error ; end
12
- class ConnectionRefusedError < Error ; end
12
+ class ConnectionRefusedError < Error ;
13
+ def initialize ( *args )
14
+ warn_deprecation_message
15
+ super
16
+ end
17
+
18
+ def message
19
+ warn_deprecation_message
20
+ super
21
+ end
22
+
23
+ private
24
+ def warn_deprecation_message
25
+ warn "Deprecation warning: Net::LDAP::ConnectionRefused will be deprecated. Use Errno::ECONNREFUSED instead."
26
+ end
27
+ end
13
28
class NoOpenSSLError < Error ; end
14
29
class NoStartTLSResultError < Error ; end
15
30
class NoSearchBaseError < Error ; end
Original file line number Diff line number Diff line change 1
1
require_relative 'test_helper'
2
2
3
3
class TestLDAPConnection < Test ::Unit ::TestCase
4
+ def capture_stderr
5
+ stderr , $stderr = $stderr, StringIO . new
6
+ yield
7
+ $stderr. string
8
+ ensure
9
+ $stderr = stderr
10
+ end
11
+
4
12
def test_unresponsive_host
5
13
assert_raise Net ::LDAP ::Error do
6
14
Net ::LDAP ::Connection . new ( :host => 'test.mocked.com' , :port => 636 )
@@ -14,6 +22,16 @@ def test_blocked_port
14
22
end
15
23
end
16
24
25
+ def test_connection_refused
26
+ flexmock ( TCPSocket ) . should_receive ( :new ) . and_raise ( Errno ::ECONNREFUSED )
27
+ stderr = capture_stderr do
28
+ assert_raise Net ::LDAP ::ConnectionRefusedError do
29
+ Net ::LDAP ::Connection . new ( :host => 'test.mocked.com' , :port => 636 )
30
+ end
31
+ end
32
+ assert_equal ( "Deprecation warning: Net::LDAP::ConnectionRefused will be deprecated. Use Errno::ECONNREFUSED instead.\n " , stderr )
33
+ end
34
+
17
35
def test_raises_unknown_exceptions
18
36
error = Class . new ( StandardError )
19
37
flexmock ( TCPSocket ) . should_receive ( :new ) . and_raise ( error )
You can’t perform that action at this time.
0 commit comments