diff --git a/plugin-core/src/test/java/org/synyx/plugin/core/PluginRegistryUnitTest.java b/plugin-core/src/test/java/org/synyx/plugin/core/PluginRegistryUnitTest.java new file mode 100644 index 0000000..45dfcba --- /dev/null +++ b/plugin-core/src/test/java/org/synyx/plugin/core/PluginRegistryUnitTest.java @@ -0,0 +1,48 @@ +package org.synyx.plugin.core; + +import java.util.Arrays; +import java.util.List; + +import org.junit.Assert; +import org.junit.Before; +import org.junit.Test; + + +public class PluginRegistryUnitTest { + + private SamplePlugin provider; + + private PluginRegistry registry; + + + /** + * Initializes a {@code PluginRegistry} and equips it with an {@code + * EmailNotificationProvider}. + */ + @Before + public void setUp() { + + provider = new SamplePluginImplementation(); + + registry = new PluginRegistry(); + registry.setPlugins(Arrays.asList(provider)); + } + + + /** + * Asserts asking for a plugin with the {@code PluginMetadata} provided by + * the {@link EmailNotificationProvider}. + */ + @Test + public void assertFindsEmailNotificationProvider() { + + String metadata = "FOO"; + + List plugins = registry.getPluginsFor(metadata); + Assert.assertNotNull(plugins); + Assert.assertEquals(1, plugins.size()); + + SamplePlugin provider = plugins.get(0); + Assert.assertTrue(provider instanceof SamplePluginImplementation); + } +}