View Javadoc

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          Collection 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  }