예제 #1
0
def test_wildcard_plugins():
    """Wildcard plugins process instances without family"""
    context = pyblish.plugin.Context()

    for type in ('selectors', 'validators'):
        for plugin in pyblish.plugin.discover(type=type):
            plugin().process_all(context)
예제 #2
0
def test_wildcard_plugins():
    """Wildcard plugins process instances without family"""
    context = pyblish.plugin.Context()

    for type in ('selectors', 'validators'):
        for plugin in pyblish.plugin.discover(type=type):
            plugin().process_all(context)
예제 #3
0
def test_plugin_interface():
    """All plugins share interface"""

    ctx = pyblish.plugin.Context()

    for plugin in pyblish.plugin.discover():
        for instance, error in plugin().process(ctx):
            assert (error is None) or isinstance(error, Exception)
예제 #4
0
def test_plugin_interface():
    """All plugins share interface"""

    ctx = pyblish.plugin.Context()

    for plugin in pyblish.plugin.discover():
        for instance, error in plugin().process(ctx):
            assert (error is None) or isinstance(error, Exception)
예제 #5
0
    def my_process(plugin, context, instance=None):
        result = {
            "success": False,
            "plugin": plugin,
            "instance": None,
            "error": None,
            "records": list(),
            "duration": None
        }

        plugin = plugin()
        provider = pyblish.plugin.Provider()
        provider.inject("context", context)
        provider.invoke(plugin.process)
        return result
예제 #6
0
def test_limited_to_instances():
    """Only process instances specified in argument `instances`"""
    ctx = pyblish.plugin.Context()

    for name in ("Instance01", "Instance02", "Instance03"):
        inst = ctx.create_instance(name=name)
        inst.set_data("family", "full")

    plugin = pyblish.plugin.discover(regex="ValidateInstance")[0]
    assert plugin

    for inst, err in plugin().process(ctx, instances=["Instance01",
                                                      "Instance03"]):
        assert err is None

    for inst in ctx:
        name = inst.data("name")
        if name in ["Instance01", "Instance03"]:
            assert inst.data('validated', False) is True
        if name == "Instance02":
            assert inst.data('validated', False) is False
예제 #7
0
def test_print_plugin():
    """Printing plugin returns name of class"""
    plugins = pyblish.plugin.discover('validators')
    plugin = plugins[0]
    assert plugin.__name__ in repr(plugin())
    assert plugin.__name__ == str(plugin())
예제 #8
0
def test_print_plugin():
    """Printing plugin returns name of class"""
    plugins = pyblish.plugin.discover('validators')
    plugin = plugins[0]
    assert plugin.__name__ in repr(plugin())
    assert plugin.__name__ == str(plugin())