1 package com.atlassian.plugin.loaders;
2
3 import com.atlassian.plugin.DefaultModuleDescriptorFactory;
4 import com.atlassian.plugin.Plugin;
5 import com.atlassian.plugin.hostcontainer.DefaultHostContainer;
6 import com.atlassian.plugin.mock.MockAnimalModuleDescriptor;
7 import com.atlassian.plugin.mock.MockMineralModuleDescriptor;
8 import junit.framework.TestCase;
9
10 import java.util.Collection;
11
12 public class TestClassPathPluginLoader extends TestCase
13 {
14 public void testAtlassianPlugin() throws Exception
15 {
16 ClassPathPluginLoader loader = new ClassPathPluginLoader("test-atlassian-plugin.xml");
17 DefaultModuleDescriptorFactory moduleDescriptorFactory = new DefaultModuleDescriptorFactory(new DefaultHostContainer());
18 moduleDescriptorFactory.addModuleDescriptor("animal", MockAnimalModuleDescriptor.class);
19 moduleDescriptorFactory.addModuleDescriptor("mineral", MockMineralModuleDescriptor.class);
20 moduleDescriptorFactory.addModuleDescriptor("vegetable", MockMineralModuleDescriptor.class);
21
22 Iterable plugins = loader.loadAllPlugins(moduleDescriptorFactory);
23
24 Plugin plugin = (Plugin) plugins.iterator().next();
25 assertEquals("Test Plugin", plugin.getName());
26 assertEquals("test.atlassian.plugin", plugin.getKey());
27 assertEquals("This plugin descriptor is just used for test purposes!", plugin.getPluginInformation().getDescription());
28 assertEquals(4, plugin.getModuleDescriptors().size());
29
30 assertEquals("Bear Animal", plugin.getModuleDescriptor("bear").getName());
31 }
32 }