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