Browse Source

added Testcase for #449 (Plugin Extensions are not detected with ClassLoadingStrategy.APD)

pull/453/head
Wolfram Haussig 3 years ago
parent
commit
4782e12d40

+ 28
- 0
pf4j/src/test/java/org/pf4j/LegacyExtensionFinderTest.java View File

@@ -70,4 +70,32 @@ public class LegacyExtensionFinderTest {
assertFalse(pluginJar.file().exists());
}

@Test
public void shouldFindExtensionsWithApdStrategy() throws Exception {
PluginJar pluginJar = new PluginJar.Builder(pluginsPath.resolve("test-plugin.jar"), "test-plugin").pluginClass(TestPlugin.class.getName()).pluginVersion("1.2.3").extension(TestExtension.class.getName()).build();
assertTrue(pluginJar.file().exists());

PluginManager pluginManager = new JarPluginManager(pluginsPath) {
@Override
protected PluginLoader createPluginLoader() {
return new JarPluginLoader(this) {
@Override
public ClassLoader loadPlugin(Path pluginPath, PluginDescriptor pluginDescriptor) {
PluginClassLoader pluginClassLoader = new PluginClassLoader(pluginManager, pluginDescriptor, getClass().getClassLoader(), ClassLoadingStrategy.APD);
pluginClassLoader.addFile(pluginPath.toFile());

return pluginClassLoader;
}
};
}
};
pluginManager.loadPlugins();
pluginManager.startPlugins();

assertEquals(1, pluginManager.getPlugins().size());

LegacyExtensionFinder extensionFinder = new LegacyExtensionFinder(pluginManager);
assertEquals(1, extensionFinder.find("test-plugin").size());
pluginManager.unloadPlugin(pluginJar.pluginId());
}
}

+ 0
- 0
pf4j/src/test/resources/META-INF/extensions.idx View File


Loading…
Cancel
Save