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