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 }