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.test.PluginJarBuilder;
9   
10  import java.io.File;
11  import java.util.Collections;
12  
13  import junit.framework.TestCase;
14  
15  public class TestAddBundleOverridesStage extends TestCase
16  {
17      public void testTransform() throws Exception
18      {
19          final File plugin = new PluginJarBuilder("plugin").addFormattedResource("atlassian-plugin.xml",
20              "<atlassian-plugin name='Test Bundle instruction plugin 2' key='test.plugin'>", "    <plugin-info>", "        <version>1.0</version>",
21              "        <bundle-instructions>", "            <Export-Package>!*.internal.*,*</Export-Package>", "        </bundle-instructions>",
22              "    </plugin-info>", "</atlassian-plugin>").build();
23  
24          final AddBundleOverridesStage stage = new AddBundleOverridesStage();
25          final TransformContext context = new TransformContext(Collections.<HostComponentRegistration> emptyList(), SystemExports.NONE, new JarPluginArtifact(plugin),
26              null, PluginAccessor.Descriptor.FILENAME);
27          stage.execute(context);
28          assertEquals("!*.internal.*,*", context.getBndInstructions().get("Export-Package"));
29      }
30  }