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_nl_shutdown(self, mock_join): mock_config = make_mock_config(8082, "HTTPPlugin", "HTTPPlugin") mock_socket = Mock() mock_socket.shutdown = Mock() mock_socket.detach = Mock() mock_socket.close = Mock() listener = NetworkListener("", mock_config, None) listener._session_socket = mock_socket listener._running = True with patch("platform.system", return_value="Darwin"): listener.shutdown() self.assertFalse(listener._running) self.assertTrue(mock_socket.close.called) self.assertTrue(mock_join.called) listener.running = True with patch("platform.system", return_value="Linux"): listener.shutdown() self.assertFalse(listener._running) self.assertTrue(mock_socket.shutdown.called) self.assertEqual(2, mock_join.call_count) listener._session_socket = None listener.running = True with patch("platform.system", return_value="Linux") as mock_system: listener.shutdown() self.assertFalse(listener._running) self.assertFalse(mock_system.called) self.assertEqual(3, mock_join.call_count)
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)