def test_half_wait_get(self):
        result = {'r': None}

        def set_result():
            result['r'] = [{}]

        log_manager = ExecuteLogManager()
        log_manager.get_current_execute_log_details = Mock(side_effect=lambda *a, **ka: result['r'])
        log_manager.is_running = Mock(return_value=True)

        time = TimeMock()
        time.call_on(115, set_result)

        with patch("monitorrent.rest.execute.time", time):
            execute_log_current = ExecuteLogCurrent(log_manager)

            self.api.add_route(self.test_route, execute_log_current)

            body = self.simulate_request(self.test_route, decode='utf-8')

            self.assertEqual(self.srmock.status, falcon.HTTP_OK)

            result = json.loads(body)

            self.assertEqual(result, {'is_running': True, 'logs': [{}]})
示例#2
0
def create_app(secret_key, token, tracker_manager, clients_manager, notifier_manager, settings_manager,
               engine_runner, log_manager):
    AuthMiddleware.init(secret_key, token, lambda: settings_manager.get_is_authentication_enabled())
    app = create_api()
    add_static_route(app, 'webapp')
    app.add_route('/api/login', Login(settings_manager))
    app.add_route('/api/logout', Logout())
    app.add_route('/api/topics', TopicCollection(tracker_manager))
    app.add_route('/api/topics/{id}', Topic(tracker_manager))
    app.add_route('/api/topics/{id}/reset_status', TopicResetStatus(tracker_manager))
    app.add_route('/api/topics/parse', TopicParse(tracker_manager))
    app.add_route('/api/trackers', TrackerCollection(tracker_manager))
    app.add_route('/api/trackers/{tracker}', Tracker(tracker_manager))
    app.add_route('/api/trackers/{tracker}/check', TrackerCheck(tracker_manager))
    app.add_route('/api/clients', ClientCollection(clients_manager))
    app.add_route('/api/clients/{client}', Client(clients_manager))
    app.add_route('/api/clients/{client}/check', ClientCheck(clients_manager))
    app.add_route('/api/clients/{client}/default', ClientDefault(clients_manager))
    app.add_route('/api/notifiers', NotifierCollection(notifier_manager))
    app.add_route('/api/notifiers/{notifier}', Notifier(notifier_manager))
    app.add_route('/api/notifiers/{notifier}/check', NotifierCheck(notifier_manager))
    app.add_route('/api/notifiers/{notifier}/enabled', NotifierEnabled(notifier_manager))
    app.add_route('/api/settings/authentication', SettingsAuthentication(settings_manager))
    app.add_route('/api/settings/password', SettingsPassword(settings_manager))
    app.add_route('/api/settings/developer', SettingsDeveloper(settings_manager))
    app.add_route('/api/settings/logs', SettingsLogs(settings_manager))
    app.add_route('/api/settings/execute', SettingsExecute(engine_runner))
    app.add_route('/api/execute/logs', ExecuteLogs(log_manager))
    app.add_route('/api/execute/logs/{execute_id}/details', ExecuteLogsDetails(log_manager))
    app.add_route('/api/execute/logs/current', ExecuteLogCurrent(log_manager))
    app.add_route('/api/execute/call', ExecuteCall(engine_runner))
    return app
示例#3
0
    def test_execute_logs_failure(self):
        log_manager = ExecuteLogManager()
        log_manager.get_current_execute_log_details = Mock(
            side_effect=Exception)
        log_manager.is_running = Mock(return_value=True)

        execute_log_current = ExecuteLogCurrent(log_manager)
        time = TimeMock()

        with patch("monitorrent.rest.execute.time", time):
            self.api.add_route(self.test_route, execute_log_current)
            self.simulate_request(self.test_route, decode='utf-8')
            self.assertEqual(self.srmock.status,
                             falcon.HTTP_INTERNAL_SERVER_ERROR)
    def test_no_wait_get(self):
        log_manager = ExecuteLogManager()
        log_manager.get_current_execute_log_details = Mock(return_value=[{}])
        log_manager.is_running = Mock(return_value=True)

        time = TimeMock()

        with patch("monitorrent.rest.execute.time", time):
            execute_log_current = ExecuteLogCurrent(log_manager)

            self.api.add_route(self.test_route, execute_log_current)

            body = self.simulate_request(self.test_route, decode='utf-8')

            self.assertEqual(self.srmock.status, falcon.HTTP_OK)

            result = json.loads(body)

            self.assertEqual(result, {'is_running': True, 'logs': [{}]})