def test_plugin_system_after_window_finished(session):
    config_plugins = loadfixture("workspacebuilder/plugin_awf.yaml")

    sconfig = kaptan.Kaptan(handler='yaml')
    sconfig = sconfig.import_config(config_plugins).get()
    sconfig = config.expand(sconfig)

    builder = WorkspaceBuilder(sconf=sconfig, plugins=load_plugins(sconfig))
    assert len(builder.plugins) > 0

    builder.build(session=session)

    proc = session.cmd('display-message', '-p', "'#W'")
    assert proc.stdout[0] == "'plugin_test_awf'"
def test_plugin_system_on_window_create(monkeypatch_plugin_test_packages, session):
    config_plugins = loadfixture("workspacebuilder/plugin_owc.yaml")

    sconfig = kaptan.Kaptan(handler='yaml')
    sconfig = sconfig.import_config(config_plugins).get()
    sconfig = config.expand(sconfig)

    builder = WorkspaceBuilder(sconf=sconfig, plugins=load_plugins(sconfig))
    assert len(builder.plugins) > 0

    builder.build(session=session)

    proc = session.cmd('display-message', '-p', "'#W'")
    assert proc.stdout[0] == "'plugin_test_owc'"
Exemple #3
0
def test_plugin_system_after_window_finished_multiple_windows(session):
    config_plugins = loadfixture("workspacebuilder/plugin_awf_multiple_windows.yaml")

    sconfig = kaptan.Kaptan(handler='yaml')
    sconfig = sconfig.import_config(config_plugins).get()
    sconfig = config.expand(sconfig)

    builder = WorkspaceBuilder(sconf=sconfig, plugins=load_plugins(sconfig))
    assert len(builder.plugins) > 0

    builder.build(session=session)

    proc = session.cmd('list-windows', '-F', "'#W'")
    assert "'plugin_test_awf_mw'" in proc.stdout
    assert "'plugin_test_awf_mw_2'" in proc.stdout
Exemple #4
0
def test_load_plugins():
    plugins_config = loadfixture("workspacebuilder/plugin_bwb.yaml")

    sconfig = kaptan.Kaptan(handler='yaml')
    sconfig = sconfig.import_config(plugins_config).get()
    sconfig = config.expand(sconfig)

    plugins = load_plugins(sconfig)

    assert len(plugins) == 1

    test_plugin_class_types = [
        PluginBeforeWorkspaceBuilder().__class__,
    ]
    for plugin in plugins:
        assert plugin.__class__ in test_plugin_class_types
Exemple #5
0
def test_reattach_plugins(server):
    config_plugins = loadfixture("workspacebuilder/plugin_r.yaml")

    sconfig = kaptan.Kaptan(handler='yaml')
    sconfig = sconfig.import_config(config_plugins).get()
    sconfig = config.expand(sconfig)

    # open it detached
    builder = WorkspaceBuilder(sconf=sconfig,
                               plugins=load_plugins(sconfig),
                               server=server)
    builder.build()

    try:
        _reattach(builder)
    except libtmux.exc.LibTmuxException:
        pass

    proc = builder.session.cmd('display-message', '-p', "'#S'")

    assert proc.stdout[0] == "'plugin_test_r'"
Exemple #6
0
def test_plugin_system_multiple_plugins(session):
    config_plugins = loadfixture("workspacebuilder/plugin_multiple_plugins.yaml")

    sconfig = kaptan.Kaptan(handler='yaml')
    sconfig = sconfig.import_config(config_plugins).get()
    sconfig = config.expand(sconfig)

    builder = WorkspaceBuilder(sconf=sconfig, plugins=load_plugins(sconfig))
    assert len(builder.plugins) > 0

    builder.build(session=session)

    # Drop through to the before_script plugin hook
    proc = session.cmd('display-message', '-p', "'#S'")
    assert proc.stdout[0] == "'plugin_test_bwb'"

    # Drop through to the after_window_finished. This won't succeed
    # unless on_window_create succeeds because of how the test plugin
    # override methods are currently written
    proc = session.cmd('display-message', '-p', "'#W'")
    assert proc.stdout[0] == "'mp_test_awf'"