Example #1
0
    def setUp(self):
        from tomate.app import Application

        self.app = Application(Mock(),
                               view=Mock(),
                               config=Mock(),
                               plugin=Mock())
Example #2
0
def test_from_graph(mocker, graph, mock_plugin, mock_view):
    mocker.patch("tomate.app.dbus.SessionBus")

    from tomate.app import Application

    graph.register_instance("tomate.view", mock_view)
    graph.register_instance("tomate.plugin", mock_plugin)
    graph.register_factory("tomate.app", Application)

    app = Application.from_graph(graph)

    assert isinstance(app, Application)

    with mocker.patch(
            "tomate.app.dbus.SessionBus.return_value.request_name",
            return_value=dbus.bus.REQUEST_NAME_REPLY_EXISTS,
    ):
        dbus_app = Application.from_graph(graph)

        assert isinstance(dbus_app, dbus.Interface)
Example #3
0
class ApplicationTestCase(unittest.TestCase):

    def setUp(self):
        from tomate.app import Application

        self.app = Application(Mock(),
                               view=Mock(),
                               config=Mock(),
                               plugin=Mock())

    def test_run_when_not_running(self):
        self.app.run()
        self.app.view.run.assert_called_once_with()

    def test_run_when_already_running(self):
        self.app.state = State.running
        self.app.run()

        self.app.view.show.assert_called_once_with()

    def test_is_running(self):
        self.assertEqual(False, self.app.is_running())

        self.app.state = State.running

        self.assertEqual(True, self.app.is_running())
Example #4
0
def main():
    try:
        options = parse_options()
        setup_logging(options)

        # Base
        ProxyModule().add_to(graph)
        PluginModule().add_to(graph)
        EventModule().add_to(graph)
        ConfigModule().add_to(graph)
        TimerModule().add_to(graph)
        SessionModule().add_to(graph)

        # Dialogs
        AboutDialogModule().add_to(graph)
        PreferenceDialogModule().add_to(graph)

        # Main window
        AppmenuModule().add_to(graph)
        ToolbarModule().add_to(graph)
        TimerFrameModule().add_to(graph)
        TaskButtonModule().add_to(graph)
        MenuModule().add_to(graph)
        ViewModule().add_to(graph)

        # App
        ApplicationModule().add_to(graph)

        dbus.mainloop.glib.DBusGMainLoop(set_as_default=True)

        app = Application.from_graph(graph)

        graph.validate()

        app.run()

        if app.is_running():
            Gdk.notify_startup_complete()

    except Exception as ex:
        logger.error(ex, exc_info=True)

        six.reraise(*sys.exc_info())
Example #5
0
def main():
    try:
        options = parse_options()
        setup_logging(options)

        scan_to_graph(["tomate", "tomate_gtk"], graph)

        dbus.mainloop.glib.DBusGMainLoop(set_as_default=True)

        app = Application.from_graph(graph)

        app.run()

        if app.is_running():
            Gdk.notify_startup_complete()

    except Exception as ex:
        logger.error(ex, exc_info=True)

        raise ex
Example #6
0
def subject(mocker, mock_view, mock_plugin):
    from tomate.app import Application

    return Application(bus=mocker.Mock(), view=mock_view, plugin=mock_plugin)