summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorJeff Forcier <jeff@bitprophet.org>2022-06-03 19:55:51 -0400
committerJeff Forcier <jeff@bitprophet.org>2022-06-03 19:55:51 -0400
commit92920c113740d768ccb311b103fdd744389304b1 (patch)
tree0a80b9f0c963d228da5cc9e06c647c6561c719fa /tests
parent47162b7c71fbf25ac0a31d1bac3d1166778e20d4 (diff)
parent05add162f9484387f1a075dbf4dac58300e3adae (diff)
downloadparamiko-92920c113740d768ccb311b103fdd744389304b1.tar.gz
Merge branch '2.9' into 2.10
Diffstat (limited to 'tests')
-rw-r--r--tests/test_client.py18
1 files changed, 18 insertions, 0 deletions
diff --git a/tests/test_client.py b/tests/test_client.py
index 21694e28..42487529 100644
--- a/tests/test_client.py
+++ b/tests/test_client.py
@@ -33,6 +33,7 @@ import warnings
import weakref
from tempfile import mkstemp
+import pytest
from pytest_relaxed import raises
from mock import patch, Mock
@@ -462,6 +463,23 @@ class SSHClientTest(ClientTest):
assert p() is None
+ @patch("paramiko.client.socket.socket")
+ @patch("paramiko.client.socket.getaddrinfo")
+ def test_closes_socket_on_socket_errors(self, getaddrinfo, mocket):
+ getaddrinfo.return_value = (
+ ("irrelevant", None, None, None, "whatever"),
+ )
+
+ class SocksToBeYou(socket.error):
+ pass
+
+ my_socket = mocket.return_value
+ my_socket.connect.side_effect = SocksToBeYou
+ client = SSHClient()
+ with pytest.raises(SocksToBeYou):
+ client.connect(hostname="nope")
+ my_socket.close.assert_called_once_with()
+
def test_client_can_be_used_as_context_manager(self):
"""
verify that an SSHClient can be used a context manager