コード例 #1
0
ファイル: test_hooks.py プロジェクト: tadeu/hookman
def test_remove_plugin(datadir, simple_plugin, simple_plugin_2):
    plugins_dirs = [simple_plugin['path'], simple_plugin_2['path']]
    hm = HookMan(specs=simple_plugin['specs'], plugin_dirs=plugins_dirs)

    assert len(hm.get_plugins_available()) == 2
    assert len(list((datadir / 'plugins').iterdir())) == 2
    hm.remove_plugin('Simple Plugin 2')
    assert len(hm.get_plugins_available()) == 1
    assert len(list((datadir / 'plugins').iterdir())) == 1
コード例 #2
0
ファイル: test_hooks.py プロジェクト: williamjamir/hookman
def test_remove_plugin(datadir, simple_plugin, simple_plugin_2):
    plugins_dirs = [simple_plugin["path"], simple_plugin_2["path"]]
    hm = HookMan(specs=simple_plugin["specs"], plugin_dirs=plugins_dirs)

    assert len(hm.get_plugins_available()) == 2
    assert len(list((datadir / "plugins").iterdir())) == 2
    hm.remove_plugin("simple_plugin_2")
    assert len(hm.get_plugins_available()) == 1
    assert len(list((datadir / "plugins").iterdir())) == 1
コード例 #3
0
ファイル: test_hooks.py プロジェクト: ESSS/hookman
def test_remove_plugin(datadir, simple_plugin, simple_plugin_2):
    plugins_dirs = [simple_plugin["path"], simple_plugin_2["path"]]
    hm = HookMan(specs=simple_plugin["specs"], plugin_dirs=plugins_dirs)

    assert _get_plugin_id_set(
        hm.get_plugins_available()) == {"simple_plugin", "simple_plugin_2"}
    assert _get_names_inside_folder(
        datadir / "plugins") == {"simple_plugin", "simple_plugin_2"}
    hm.remove_plugin("simple_plugin_2")
    assert _get_plugin_id_set(hm.get_plugins_available()) == {"simple_plugin"}
    assert _get_names_inside_folder(datadir /
                                    "plugins") == {"simple_plugin", ".trash"}
    assert _get_names_inside_folder(datadir / "plugins" / ".trash") == set()
コード例 #4
0
ファイル: test_hooks.py プロジェクト: ESSS/hookman
def test_plugins_available_ignore_trash(datadir, simple_plugin,
                                        simple_plugin_2):
    plugin_dirs = [simple_plugin["path"], simple_plugin_2["path"]]
    hm = HookMan(specs=simple_plugin["specs"], plugin_dirs=plugin_dirs)

    plugins = hm.get_plugins_available()
    assert {p.id for p in plugins} == {"simple_plugin", "simple_plugin_2"}

    hm._move_to_trash(datadir / "plugins", "simple_plugin")
    plugins = hm.get_plugins_available()
    assert {p.id for p in plugins} == {"simple_plugin_2"}

    hm._move_to_trash(datadir / "plugins", "simple_plugin_2")
    plugins = hm.get_plugins_available()
    assert {p.id for p in plugins} == set()
コード例 #5
0
ファイル: test_hooks.py プロジェクト: tadeu/hookman
def test_plugins_available(simple_plugin, simple_plugin_2):
    plugin_dirs = [simple_plugin['path'], simple_plugin_2['path']]
    hm = HookMan(specs=simple_plugin['specs'], plugin_dirs=plugin_dirs)
    plugins = hm.get_plugins_available()
    assert len(plugins) == 2
    import attr
    assert list(attr.asdict(plugins[0]).keys()) == [
        'yaml_location',
        'hooks_available',
        'author',
        'description',
        'email',
        'hooks_implemented',
        'name',
        'shared_lib_name',
        'shared_lib_path',
        'version',
    ]

    plugins = hm.get_plugins_available(ignored_plugins=['Simple Plugin 2'])
    assert len(plugins) == 1
コード例 #6
0
def test_get_hook_caller_passing_ignored_plugins(datadir, simple_plugin, simple_plugin_2):
    plugins_dirs = [simple_plugin['path'], simple_plugin_2['path']]
    hm = HookMan(specs=simple_plugin['specs'], plugin_dirs=plugins_dirs)

    assert len(hm.get_plugins_available()) == 2
    assert len(list((datadir / 'plugins').iterdir())) == 2

    hook_caller = hm.get_hook_caller(ignored_plugins=['Simple Plugin 2'])
    env_temperature = hook_caller.env_temperature()

    # Plugin2 implements the Hook env_temperature
    assert env_temperature is None
コード例 #7
0
ファイル: test_hooks.py プロジェクト: williamjamir/hookman
def test_plugins_available(simple_plugin, simple_plugin_2):
    plugin_dirs = [simple_plugin["path"], simple_plugin_2["path"]]
    hm = HookMan(specs=simple_plugin["specs"], plugin_dirs=plugin_dirs)
    plugins = hm.get_plugins_available()
    assert len(plugins) == 2
    import attr

    assert list(attr.asdict(plugins[0]).keys()) == [
        "yaml_location",
        "hooks_available",
        "author",
        "description",
        "email",
        "hooks_implemented",
        "caption",
        "shared_lib_name",
        "shared_lib_path",
        "version",
    ]

    plugins = hm.get_plugins_available(ignored_plugins=["simple_plugin_2"])
    assert len(plugins) == 1
コード例 #8
0
ファイル: test_hooks.py プロジェクト: williamjamir/hookman
def test_get_hook_caller_passing_ignored_plugins(datadir, simple_plugin,
                                                 simple_plugin_2):
    plugins_dirs = [simple_plugin["path"], simple_plugin_2["path"]]
    hm = HookMan(specs=simple_plugin["specs"], plugin_dirs=plugins_dirs)

    assert len(hm.get_plugins_available()) == 2
    assert len(list((datadir / "plugins").iterdir())) == 2

    hook_caller = hm.get_hook_caller(ignored_plugins=["simple_plugin_2"])
    env_temperatures = hook_caller.env_temperature_impls()

    # Plugin2 implements the Hook env_temperature
    assert len(env_temperatures) == 0
コード例 #9
0
def test_get_status(datadir, simple_plugin, simple_plugin_2):
    plugins_dirs = [simple_plugin['path'], simple_plugin_2['path']]
    hm = HookMan(specs=simple_plugin['specs'], plugin_dirs=plugins_dirs)
    assert len(hm.get_plugins_available()) == 2

    plugin_status = hm.get_status()

    assert plugin_status[0].plugins == ['Simple Plugin', 'Simple Plugin 2']
    assert plugin_status[0].hook == 'friction_factor'

    plugin_status = hm.get_status(ignored_plugins=['Simple Plugin 2'])

    assert not plugin_status