diff --git a/kmip/services/kmip_client.py b/kmip/services/kmip_client.py index 7f72adf7..763ba386 100644 --- a/kmip/services/kmip_client.py +++ b/kmip/services/kmip_client.py @@ -301,10 +301,9 @@ def __del__(self): self.close() def close(self): - # Shutdown and close the socket. + # Close the socket. if self.socket: try: - self.socket.shutdown(socket.SHUT_RDWR) self.socket.close() except (OSError, socket.error): # Can be thrown if the socket is not actually connected to diff --git a/kmip/services/server/server.py b/kmip/services/server/server.py index 534ab61d..d0f05f6e 100644 --- a/kmip/services/server/server.py +++ b/kmip/services/server/server.py @@ -362,12 +362,11 @@ def stop(self): self._logger.info("Shutting down server socket handler.") try: - self._socket.shutdown(socket.SHUT_RDWR) self._socket.close() except Exception as e: self._logger.exception(e) raise exceptions.NetworkingError( - "Server failed to shutdown socket handler." + "Server failed to close socket handler." ) if hasattr(self, "policy_monitor"): diff --git a/kmip/services/server/session.py b/kmip/services/server/session.py index c6a5f70c..d45629d2 100644 --- a/kmip/services/server/session.py +++ b/kmip/services/server/session.py @@ -15,7 +15,6 @@ import binascii import logging -import socket import struct import threading import time @@ -113,7 +112,6 @@ def run(self): self._logger.info("Failure handling message loop") self._logger.exception(e) - self._connection.shutdown(socket.SHUT_RDWR) self._connection.close() self._logger.info("Stopping session: {0}".format(self.name)) diff --git a/kmip/tests/unit/services/server/test_server.py b/kmip/tests/unit/services/server/test_server.py index a9e9f194..14e9eb61 100644 --- a/kmip/tests/unit/services/server/test_server.py +++ b/kmip/tests/unit/services/server/test_server.py @@ -338,7 +338,6 @@ def test_stop(self, logging_mock, engine_mock): s._logger.info.assert_any_call( "Shutting down server socket handler." ) - s._socket.shutdown.assert_called_once_with(socket.SHUT_RDWR) s._socket.close.assert_called_once_with() # Test the expected behavior when stopping multiple server session @@ -366,7 +365,6 @@ def test_stop(self, logging_mock, engine_mock): s._logger.info.assert_any_call( "Shutting down server socket handler." ) - s._socket.shutdown.assert_called_once_with(socket.SHUT_RDWR) s._socket.close.assert_called_once_with() thread_mock.reset_mock() @@ -392,7 +390,6 @@ def test_stop(self, logging_mock, engine_mock): s._logger.info.assert_any_call( "Shutting down server socket handler." ) - s._socket.shutdown.assert_called_once_with(socket.SHUT_RDWR) s._socket.close.assert_called_once_with() # Test that the right errors and log messages are generated when @@ -403,7 +400,7 @@ def test_stop(self, logging_mock, engine_mock): test_exception = Exception() s._socket.close = mock.MagicMock(side_effect=test_exception) - regex = "Server failed to shutdown socket handler." + regex = "Server failed to close socket handler." self.assertRaisesRegex( exceptions.NetworkingError, regex, @@ -415,7 +412,6 @@ def test_stop(self, logging_mock, engine_mock): s._logger.info.assert_any_call( "Shutting down server socket handler." ) - s._socket.shutdown.assert_called_once_with(socket.SHUT_RDWR) s._socket.close.assert_called_once_with() s._logger.exception(test_exception) @@ -456,7 +452,6 @@ def test_stop_with_monitor_shutdown_error(self, logging_mock, engine_mock): s._logger.info.assert_any_call( "Shutting down server socket handler." ) - s._socket.shutdown.assert_called_once_with(socket.SHUT_RDWR) s._socket.close.assert_called_once_with() s.policy_monitor.stop.assert_called_once_with() diff --git a/kmip/tests/unit/services/server/test_session.py b/kmip/tests/unit/services/server/test_session.py index b6661c5b..9c8df198 100644 --- a/kmip/tests/unit/services/server/test_session.py +++ b/kmip/tests/unit/services/server/test_session.py @@ -21,7 +21,6 @@ import datetime import mock -import socket import testtools import time @@ -149,9 +148,6 @@ def test_run(self): kmip_session._logger.info.assert_any_call("Starting session: name") self.assertTrue(kmip_session._handle_message_loop.called) - kmip_session._connection.shutdown.assert_called_once_with( - socket.SHUT_RDWR - ) kmip_session._connection.close.assert_called_once_with() kmip_session._logger.info.assert_called_with("Stopping session: name") @@ -180,9 +176,6 @@ def test_run_with_failure(self): "Failure handling message loop" ) kmip_session._logger.exception.assert_called_once_with(test_exception) - kmip_session._connection.shutdown.assert_called_once_with( - socket.SHUT_RDWR - ) kmip_session._connection.close.assert_called_once_with() kmip_session._logger.info.assert_called_with("Stopping session: name") diff --git a/kmip/tests/unit/services/test_kmip_client.py b/kmip/tests/unit/services/test_kmip_client.py index fa13a204..2c5407d2 100644 --- a/kmip/tests/unit/services/test_kmip_client.py +++ b/kmip/tests/unit/services/test_kmip_client.py @@ -170,7 +170,6 @@ def test_close(self): c.close() self.assertEqual(None, c.socket) - c_socket.shutdown.assert_called_once_with(socket.SHUT_RDWR) c_socket.close.assert_called_once() def test_close_with_shutdown_error(self): @@ -193,7 +192,6 @@ def test_close_with_shutdown_error(self): c.close() self.assertEqual(None, c.socket) - c_socket.shutdown.assert_called_once_with(socket.SHUT_RDWR) c_socket.close.assert_not_called() # TODO (peter-hamilton) Modify for credential type and/or add new test