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 }