View Javadoc

1   package com.atlassian.plugin.osgi.factory.transform.stage;
2   
3   import com.atlassian.plugin.PluginAccessor;
4   import com.atlassian.plugin.JarPluginArtifact;
5   import com.atlassian.plugin.osgi.factory.transform.TransformContext;
6   import com.atlassian.plugin.osgi.factory.transform.model.SystemExports;
7   import com.atlassian.plugin.osgi.hostcomponents.HostComponentRegistration;
8   import com.atlassian.plugin.osgi.container.OsgiContainerManager;
9   import com.atlassian.plugin.test.PluginJarBuilder;
10  
11  import java.io.File;
12  import java.util.Collections;
13  
14  import junit.framework.TestCase;
15  import static org.mockito.Mockito.mock;
16  import static org.mockito.Mockito.when;
17  import org.osgi.framework.ServiceReference;
18  
19  public class TestAddBundleOverridesStage extends TestCase
20  {
21      public void testTransform() throws Exception
22      {
23          final File plugin = new PluginJarBuilder("plugin").addFormattedResource("atlassian-plugin.xml",
24              "<atlassian-plugin name='Test Bundle instruction plugin 2' key='test.plugin'>", "    <plugin-info>", "        <version>1.0</version>",
25              "        <bundle-instructions>", "            <Export-Package>!*.internal.*,*</Export-Package>", "        </bundle-instructions>",
26              "    </plugin-info>", "</atlassian-plugin>").build();
27  
28          final AddBundleOverridesStage stage = new AddBundleOverridesStage();
29          OsgiContainerManager osgiContainerManager = mock(OsgiContainerManager.class);
30          when(osgiContainerManager.getRegisteredServices()).thenReturn(new ServiceReference[0]);
31          final TransformContext context = new TransformContext(Collections.<HostComponentRegistration> emptyList(), SystemExports.NONE, new JarPluginArtifact(plugin),
32              null, PluginAccessor.Descriptor.FILENAME, osgiContainerManager);
33          stage.execute(context);
34          assertEquals("!*.internal.*,*", context.getBndInstructions().get("Export-Package"));
35      }
36  }