Exemplo n.º 1
0
 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)
Exemplo n.º 2
0
        def start_listeners(self):
            ports = self._global_config.get_ports()
            for port in ports:
                plugin_config = self._global_config.get_plugin_config(port)
                module = plugin_config['module']
                clsname = plugin_config['moduleClass']
                self.create_import_entry(port, module, clsname)

                address = self._global_config['Framework']['listeningAddress']
                listener = NetworkListener(address, plugin_config, self)
                listener.start()
                self._listener_list[port] = listener
Exemplo n.º 3
0
 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.")
Exemplo n.º 4
0
    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)
Exemplo n.º 5
0
 def test_plugins_enabled(self, mock_start_listening):
     mock_config = make_mock_config(8082, "HTTPPlugin", "HTTPPlugin")
     listener = NetworkListener("", mock_config, None)
     listener.start()
     while listener.connection_count == 0:
         pass
     listener._session_socket = None
     listener.shutdown()
     self.assertTrue(mock_start_listening.called)
Exemplo n.º 6
0
 def test_connection_count(self):
     mock_config = make_mock_config(8082, "HTTPPlugin", "HTTPPlugin")
     listener = NetworkListener("", mock_config, None)
     self.assertEqual(0, listener.connection_count)
     listener.connection_count = 5
     self.assertEqual(5, listener.connection_count)
Exemplo n.º 7
0
    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)