Beispiel #1
0
def test_manager_get_plugin_configuration(plugin_configuration):
    plugins = [
        "tests.extensions.sample_plugins.PluginSample",
        "tests.extensions.sample_plugins.PluginInactive",
    ]
    manager = ExtensionsManager(plugins=plugins)
    plugin = manager.get_plugin("PluginSample")
    configuration_from_db = PluginConfiguration.objects.get(
        name="PluginSample")
    assert plugin.DEFAULT_CONFIGURATION == configuration_from_db.configuration
Beispiel #2
0
def test_plugin_add_new_configuration(
    new_config,
    new_config_structure,
    monkeypatch,
):
    monkeypatch.setattr(PluginInactive, "DEFAULT_ACTIVE", True)
    monkeypatch.setattr(
        PluginInactive,
        "DEFAULT_CONFIGURATION",
        [new_config],
    )
    config_structure = {"Foo": new_config_structure}
    monkeypatch.setattr(PluginInactive, "CONFIG_STRUCTURE", config_structure)
    manager = ExtensionsManager(
        plugins=["tests.extensions.sample_plugins.PluginInactive"])
    plugin = manager.get_plugin("PluginInactive")
    assert len(plugin.configuration) == 1
    assert plugin.configuration[0] == {**new_config, **new_config_structure}
Beispiel #3
0
def test_plugin_updates_configuration_shape(
    new_config,
    new_config_structure,
    plugin_configuration,
    monkeypatch,
):

    config_structure = PluginSample.CONFIG_STRUCTURE.copy()
    config_structure["Foo"] = new_config_structure
    monkeypatch.setattr(PluginSample, "CONFIG_STRUCTURE", config_structure)

    monkeypatch.setattr(
        PluginSample,
        "DEFAULT_CONFIGURATION",
        plugin_configuration.configuration + [new_config],
    )

    manager = ExtensionsManager(
        plugins=["tests.extensions.sample_plugins.PluginSample"])
    plugin = manager.get_plugin("PluginSample")

    assert len(plugin.configuration) == 5
    assert plugin.configuration[-1] == {**new_config, **new_config_structure}