Example #1
0
def test_app_initialisation_with_config():
    current_dir = os.path.dirname(os.path.abspath(__file__))
    config = os.path.join(current_dir, "static", "config.py")
    app = groundwork.App([config])

    assert app.path == os.getcwd()
    assert app.config.PLUGINS == ["PluginA", "PluginB", "NoPlugin"]
Example #2
0
def test_app_plugin_deactivation(BasicPlugin):
    app = groundwork.App(plugins=[BasicPlugin], strict=True)
    app.plugins.activate(["BasicPlugin"])
    plugin = app.plugins.get("BasicPlugin")
    assert plugin is not None
    assert plugin.active is True
    app.plugins.deactivate(["BasicPlugin"])
    assert plugin.active is False
Example #3
0
def test_multi_app(BasicPlugin):
    app = groundwork.App(plugins=[BasicPlugin], strict=True)
    plugin_class = app.plugins.classes.get("BasicPlugin")

    app2 = groundwork.App(plugins=[BasicPlugin], strict=True)
    plugin2_class = app2.plugins.classes.get("BasicPlugin")

    assert app is not app2
    assert plugin_class is not plugin2_class  # Checks, if reference is not the same

    app.plugins.activate(["BasicPlugin"])
    plugin = app.plugins.get("BasicPlugin")

    app2.plugins.activate(["BasicPlugin"])
    plugin2 = app2.plugins.get("BasicPlugin")

    assert plugin is not plugin2
Example #4
0
def test_app_initialisation_with_config2():
    current_dir = os.path.dirname(os.path.abspath(__file__))
    config = os.path.join(current_dir, "static", "config2.py")
    app = groundwork.App([config])

    assert app.path == os.path.join(current_dir, "static")
    with pytest.raises(AttributeError):
        app.config.PLUGINS != ["PluginA", "PluginB", "NoPlugin"]
Example #5
0
def test_app_initialisation():
    """
    .. test:: Additional test 1
        :id: TC_LE_GROUNDWORK_0_1_12_0404

        This test case checks
        - if a groundwork app can be instantiated
        - if the app path is set to the current working directory (APP_PATH is unset because no configuration is given)
    """
    app = groundwork.App()
    assert app.path == os.getcwd()
Example #6
0
def test_app_initialisation_with_config():
    """
    This test case checks
    - if a groundwork app can be instantiated with a configuration file
    - if the app correctly reads the PLUGINS variable from configuration
    """
    current_dir = os.path.dirname(os.path.abspath(__file__))
    config = os.path.join(current_dir, "static", "config.py")
    app = groundwork.App([config])

    assert app.path == os.getcwd()
    assert app.config.PLUGINS == ["PluginA", "PluginB", "NoPlugin"]
Example #7
0
def test_app_strict():
    class MyBadPlugin():
        pass

    my_app = groundwork.App(strict=True)
    with pytest.raises(AttributeError):
        my_app.plugins.classes.register([MyBadPlugin
                                         ])  # will throw an exception

    my_app.strict = False
    my_app.plugins.classes.register([MyBadPlugin])  # will log a warning only

    assert len(my_app.plugins.get()) == 0
Example #8
0
def test_app_plugin_multi_status_change(BasicPlugin):
    app = groundwork.App(plugins=[BasicPlugin], strict=True)

    # De/Activation via app
    app.plugins.activate(["BasicPlugin"])
    plugin = app.plugins.get("BasicPlugin")
    assert plugin.active is True
    app.plugins.deactivate(["BasicPlugin"])
    assert plugin.active is False
    app.plugins.activate(["BasicPlugin"])
    assert plugin.active is True
    # De/Activation via plugin itself
    plugin = app.plugins.get("BasicPlugin")
    plugin.deactivate()
    assert plugin.active is False
Example #9
0
def test_app_plugin_registration(BasicPlugin):
    app = groundwork.App(plugins=[BasicPlugin], strict=True)
    plugin_class = app.plugins.classes.get("BasicPlugin")
    assert plugin_class is not None
Example #10
0
def test_app_initialisation():
    app = groundwork.App()
    assert app.path == os.getcwd()