def test_load_and_filter(caplog): caplog.set_level(logging.INFO) with splice_extension_in("test_module_path"): ibl = InmantaBootloader() plugin_pkgs = ibl._discover_plugin_packages() assert "inmanta_ext.core" in plugin_pkgs assert len(plugin_pkgs) == 1 # When extensions are available but not enabled, log a message with the correct option log_contains(caplog, "inmanta.server.bootloader", logging.INFO, "Load extensions by setting configuration option") with pytest.raises(PluginLoadFailed): config.server_enabled_extensions.set("unknown") plugin_pkgs = ibl._discover_plugin_packages()
def test_discover_and_load(): with splice_extension_in("test_module_path"): config.server_enabled_extensions.set("testplugin") ibl = InmantaBootloader() print("plugins: ", ibl._discover_plugin_packages()) assert "inmanta_ext.testplugin" in ibl._discover_plugin_packages() tpl = ibl._load_extension("inmanta_ext.testplugin") assert tpl == inmanta_ext.testplugin.extension.setup with pytest.raises(PluginLoadFailed): ibl._load_extension("inmanta_ext.noext") with pytest.raises(PluginLoadFailed): ibl._load_extension("inmanta_ext.noinit")