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)
1414 rescue SocketError
1515 raise Net ::LDAP ::Error , "No such address or other socket error."
1616 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 ] } ."
1818 rescue Errno ::EHOSTUNREACH => error
1919 raise Net ::LDAP ::Error , "Host #{ server [ :host ] } was unreachable (#{ error . message } )"
2020 rescue Errno ::ETIMEDOUT
Original file line number Diff line number Diff line change @@ -9,7 +9,22 @@ class Error < StandardError; end
99
1010 class AlreadyOpenedError < Error ; end
1111 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
1328 class NoOpenSSLError < Error ; end
1429 class NoStartTLSResultError < Error ; end
1530 class NoSearchBaseError < Error ; end
Original file line number Diff line number Diff line change 11require_relative 'test_helper'
22
33class 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+
412 def test_unresponsive_host
513 assert_raise Net ::LDAP ::Error do
614 Net ::LDAP ::Connection . new ( :host => 'test.mocked.com' , :port => 636 )
@@ -14,6 +22,16 @@ def test_blocked_port
1422 end
1523 end
1624
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+
1735 def test_raises_unknown_exceptions
1836 error = Class . new ( StandardError )
1937 flexmock ( TCPSocket ) . should_receive ( :new ) . and_raise ( error )
You can’t perform that action at this time.
0 commit comments