View Javadoc

1   package com.atlassian.plugin.osgi.factory;
2   
3   import com.atlassian.plugin.ModuleDescriptor;
4   import com.atlassian.plugin.ModuleDescriptorFactory;
5   import com.atlassian.plugin.PluginParseException;
6   import junit.framework.TestCase;
7   import org.dom4j.Element;
8   import org.dom4j.tree.DefaultElement;
9   import static org.mockito.Mockito.mock;
10  import static org.mockito.Mockito.verify;
11  import static org.mockito.Mockito.when;
12  
13  import java.io.ByteArrayInputStream;
14  
15  public class TestOsgiPluginXmlDescriptorParser extends TestCase
16  {
17  
18      public void testCreateModuleDescriptor() throws PluginParseException, IllegalAccessException, ClassNotFoundException, InstantiationException
19      {
20          OsgiPluginXmlDescriptorParser parser = new OsgiPluginXmlDescriptorParser(new ByteArrayInputStream("<foo/>".getBytes()));
21  
22          ModuleDescriptor desc = mock(ModuleDescriptor.class);
23          when(desc.getKey()).thenReturn("foo");
24          ModuleDescriptorFactory factory = mock(ModuleDescriptorFactory.class);
25          when(factory.getModuleDescriptor("foo")).thenReturn(desc);
26  
27          OsgiPlugin plugin = mock(OsgiPlugin.class);
28          Element fooElement = new DefaultElement("foo");
29          fooElement.addAttribute("key", "bob");
30          assertNotNull(parser.createModuleDescriptor(plugin, fooElement,factory));
31          verify(plugin).addModuleDescriptorElement("foo", fooElement);
32      }
33  }