def test_start_listening(self, mock_framework): mock_config = make_mock_config(8082, "HTTPPlugin", "HTTPPlugin") with patch("framework.networklistener.socket.socket.accept") as mock_accept: mock_accept.return_value = (socket.socket(), "192.168.1.1") listener = NetworkListener("", mock_config, mock_framework) listener._running = True skt = socket.socket() listener.start_listening(skt) skt.close() self.assertTrue(mock_accept.called) self.assertTrue(mock_framework.spawn.called)
def test_start_listening_connection_aborted(self, mock_framework): mock_config = make_mock_config(8082, "HTTPPlugin", "HTTPPlugin") mock_socket = Mock() mock_socket.accept = Mock() mock_socket.accept.side_effect = ConnectionAbortedError listener = NetworkListener("", mock_config, mock_socket) listener._running = True self.assertRaises(ConnectionAbortedError, listener.start_listening, mock_socket) listener._running = False try: listener.start_listening(mock_socket) except ConnectionAbortedError: self.fail("ConnectionAbortedError should be handled when listener " "is not running.")
def test_start_listening_oserror(self, mock_framework): mock_config = make_mock_config(8082, "HTTPPlugin", "HTTPPlugin") mock_socket = Mock() mock_socket.accept = Mock() mock_socket.accept.side_effect = OSError() mock_socket.accept.side_effect.errno = 22 listener = NetworkListener("", mock_config, mock_socket) try: listener.start_listening(mock_socket) except OSError: self.fail("OSError should be handled when errno == 22.") mock_socket.accept.side_effect.errno = 0 self.assertRaises(OSError, listener.start_listening, mock_socket)