示例#1
0
def process_workspaces(mappers_manager, plugin_manager, query, disable_polling):
    report_managers = []
    controllers = []
    for workspace in query.all():
        pending_actions = Queue()
        plugin_controller = PluginController(
            'PluginController',
            plugin_manager,
            mappers_manager,
            pending_actions
        )
        mappers_manager.createMappers(workspace.name)
        controller = ModelController(mappers_manager, pending_actions)
        workspace_manager = WorkspaceManager(mappers_manager)
        setUpAPIs(controller, workspace_manager, hostname=None, port=None)
        controller.start()
        controllers.append(controller)
        report_manager = ReportManager(
            0.1,
            workspace.name,
            plugin_controller,
            polling=not disable_polling
        )
        report_managers.append(report_manager)
        report_manager.start()

    for report_manager in report_managers:
        report_manager.stop()

    for controller in controllers:
        controller.stop()
    def setUpClass(cls):
        cls.model_controller = mock(controller.ModelController)
        cls.workspace_manager = mock()
        api.setUpAPIs(cls.model_controller, cls.workspace_manager)
        cls.couch_uri = CONF.getCouchURI()

        # cls.cdm = CouchdbManager(uri=cls.couch_uri)

        class NotificationTest(NotificationCenter):
            def __init__(self, ui):
                self.changes = []

            def changeFromInstance(self, change):
                self.changes.append(change)

        cls.notifier = NotificationTest(None)
        model.guiapi.notification_center = cls.notifier
        cls._couchdb_workspaces = []
        cls.wm = WorkspaceManager(cls.model_controller,
                                  mock(plcore.PluginController))
        cls.workspace = cls.wm.createWorkspace(new_random_workspace_name(),
                                               workspaceClass=WorkspaceOnCouch)
        when(cls.workspace).load().thenReturn(True)
        cls._couchdb_workspaces.append(cls.workspace.name)
        cls.wm.setActiveWorkspace(cls.workspace)
示例#3
0
    def setUp(self):
        """
        Generic test to verify that the object exists and can be
        instantiated without problems.
        """
        self.dbManager = mock()
        self.changesController = mock()
        self.reportManager = mock()

        self.dbManager = DbManager()
        self.mappersManager = MapperManager()

        self.model_controller = controller.ModelController(
            mock(), self.mappersManager)
        self.workspace_manager = WorkspaceManager(self.dbManager,
                                                  self.mappersManager,
                                                  self.changesController,
                                                  self.reportManager)
        self.workspace_manager.createWorkspace('temp_workspace', 'desc',
                                               DBTYPE.FS)
        self.workspace_manager.openWorkspace('temp_workspace')

        self._plugin_controller = PluginControllerForApi(
            "test", {
                "nmap": nmap_plugin.NmapPlugin(),
                "nessus": nessus_plugin.NessusPlugin()
            }, mock())

        api.setUpAPIs(self.model_controller, self.workspace_manager)
示例#4
0
    def setUp(self):
        self._model_controller = controller.ModelController(mock())
        self.cm = mock(CommandManager)
        when(self.cm).saveCommand().thenReturn(True)
        self._plugin_controller = PluginController("test", {}, self.cm)

        class PluginTest(PluginBase):
            def __init__(self):
                PluginBase.__init__(self)
                self.id = "Test"
                self.name = "Test"

            def parseOutputString(self, output, debug=False):
                pass

        self.workspace = mock(Workspace)
        when(self.workspace).getContainee().thenReturn(ModelObjectContainer())
        self._model_controller.setWorkspace(self.workspace)

        self.plugin = PluginTest()
        api.setUpAPIs(self._model_controller)

        self._plugin_controller.setActivePlugin(self.plugin)
        self.cmdinfo = CommandRunInformation(
                **{'workspace': 'test',
                    'itime': time(),
                    'command': 'test',
                    'params': 'test'})
示例#5
0
    def setUp(self):
        self._model_controller = controller.ModelController(mock())
        self.cm = mock(CommandManager)
        when(self.cm).saveCommand().thenReturn(True)
        self._plugin_controller = PluginController("test", {}, self.cm)

        class PluginTest(PluginBase):
            def __init__(self):
                PluginBase.__init__(self)
                self.id = "Test"
                self.name = "Test"

            def parseOutputString(self, output, debug=False):
                pass

        self.workspace = mock(Workspace)
        when(self.workspace).getContainee().thenReturn(ModelObjectContainer())
        self._model_controller.setWorkspace(self.workspace)

        self.plugin = PluginTest()
        api.setUpAPIs(self._model_controller)

        self._plugin_controller.setActivePlugin(self.plugin)
        self.cmdinfo = CommandRunInformation(
                **{'workspace': 'test',
                    'itime': time(),
                    'command': 'test',
                    'params': 'test'})
示例#6
0
    def setUpClass(cls):
        cls.model_controller = controller.ModelController(mock())
        api.setUpAPIs(cls.model_controller)
        cls.wm = WorkspaceManager(cls.model_controller,
                                  mock(plcore.PluginController))
        cls.temp_workspace = cls.wm.createWorkspace(
            test_utils.new_random_workspace_name(),
            workspaceClass=WorkspaceOnCouch)

        cls.wm.setActiveWorkspace(cls.temp_workspace)
        WorkspacePersister.stopThreads()
示例#7
0
文件: updates.py 项目: raum01/faraday
    def setUpClass(cls):
        cls.model_controller = controller.ModelController(mock())
        api.setUpAPIs(cls.model_controller)
        cls.wm = WorkspaceManager(cls.model_controller,
                                  mock(plcore.PluginController))
        cls.temp_workspace = cls.wm.createWorkspace(
            test_utils.new_random_workspace_name(),
            workspaceClass=WorkspaceOnCouch)

        cls.wm.setActiveWorkspace(cls.temp_workspace)
        WorkspacePersister.stopThreads()
 def setUp(self):
     """
     Generic test to verify that the object exists and can be
     instantiated without problems.
     """
     self.model_controller = controller.ModelController(mock())
     self.workspace = mock(Workspace)
     when(self.workspace).getContainee().thenReturn(ModelObjectContainer())
     self.cm = mock(CommandManager)
     when(self.cm).saveCommand().thenReturn(True)
     self.model_controller.setWorkspace(self.workspace)
     self._plugin_controller = PluginControllerForApi("test", {"netsparker": plugin.NetsparkerPlugin()}, self.cm)
     api.setUpAPIs(self.model_controller)
示例#9
0
 def setUp(self):
     """
     Generic test to verify that the object exists and can be
     instantiated without problems.
     """
     self.model_controller = controller.ModelController(mock())
     self.workspace = mock(Workspace)
     when(self.workspace).getContainee().thenReturn(ModelObjectContainer())
     self.cm = mock(CommandManager)
     when(self.cm).saveCommand().thenReturn(True)
     self.model_controller.setWorkspace(self.workspace)
     self._plugin_controller = PluginControllerForApi("test", {"netsparker": plugin.NessusPlugin()}, self.cm)
     api.setUpAPIs(self.model_controller)
    def setUpClass(cls):
        cls.model_controller = mock(controller.ModelController)
        api.setUpAPIs(cls.model_controller)
        cls.couch_uri = CONF.getCouchURI()
        cls.cdm = CouchdbManager(uri=cls.couch_uri)

        class NotificationTest(NotificationCenter):
            def __init__(self, ui):
                self.changes = []

            def changeFromInstance(self, change):
                self.changes.append(change)

        cls.notifier = NotificationTest(None)
        model.guiapi.notification_center = cls.notifier
        cls._couchdb_workspaces = []
        cls.wm = WorkspaceManager(cls.model_controller,
                                  mock(plcore.PluginController))
        cls.workspace = cls.wm.createWorkspace(new_random_workspace_name(),
                                               workspaceClass=WorkspaceOnCouch)
        when(cls.workspace).load().thenReturn(True)
        cls._couchdb_workspaces.append(cls.workspace.name)
        cls.wm.setActiveWorkspace(cls.workspace)
    def setUp(self):
        """
        Generic test to verify that the object exists and can be
        instantiated without problems.
        """
        self.dbManager = mock()
        self.changesController = mock()
        self.reportManager = mock()

        self.dbManager = DbManager()
        self.mappersManager = MapperManager()

        self.model_controller = controller.ModelController(mock(), self.mappersManager)
        self.workspace_manager = WorkspaceManager(self.dbManager,
                                             self.mappersManager,
                                             self.changesController,
                                             self.reportManager)
        self.workspace_manager.createWorkspace('temp_workspace', 'desc', DBTYPE.FS)
        self.workspace_manager.openWorkspace('temp_workspace')

        self._plugin_controller = PluginControllerForApi("test", {"nmap": nmap_plugin.NmapPlugin(),
                                                                    "nessus": nessus_plugin.NessusPlugin()}, mock())

        api.setUpAPIs(self.model_controller, self.workspace_manager)
示例#12
0
 def setUpClass(cls):
     cls.model_controller = controller.ModelController(mock())
     api.setUpAPIs(cls.model_controller)
示例#13
0
 def setUpClass(cls):
     cls.model_controller = controller.ModelController(mock())
     api.setUpAPIs(cls.model_controller)
示例#14
0
 def setUpClass(cls):
     cls.model_controller = controller.ModelController(mock())
     api.setUpAPIs(cls.model_controller)
     cls.couch_uri = CONF.getCouchURI()
     cls.cdm = CouchdbManager(uri=cls.couch_uri)
示例#15
0
 def setUpClass(cls):
     cls.model_controller = controller.ModelController(mock())
     api.setUpAPIs(cls.model_controller)
     cls.couch_uri = CONF.getCouchURI()
     cls.cdm = CouchdbManager(uri=cls.couch_uri)