From aa5249068a018ed87b2e69ade110523990633cd1 Mon Sep 17 00:00:00 2001 From: Bernie Hackett Date: Wed, 1 Feb 2017 12:25:31 -0800 Subject: [PATCH] PYTHON-1235 - Fix auto reconnect test under Jython --- test/test_replica_set_client.py | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/test/test_replica_set_client.py b/test/test_replica_set_client.py index 03b64b1ee..bff779870 100644 --- a/test/test_replica_set_client.py +++ b/test/test_replica_set_client.py @@ -172,15 +172,20 @@ class TestReplicaSetClient(TestReplicaSetClientBase): def raise_socket_error(*args, **kwargs): raise socket.error - old_sendall = socket.socket.sendall - socket.socket.sendall = raise_socket_error + # In Jython socket.socket is a function, not a class. + sock = socket.socket() + klass = sock.__class__ + old_sendall = klass.sendall + klass.sendall = raise_socket_error try: cursor = db.get_collection( "test", read_preference=ReadPreference.SECONDARY).find() self.assertRaises(AutoReconnect, cursor.next) finally: - socket.socket.sendall = old_sendall + klass.sendall = old_sendall + # Silence resource warnings. + sock.close() @client_context.require_secondaries_count(1) def test_timeout_does_not_mark_member_down(self):