View Javadoc
1   package com.atlassian.plugin.osgi.factory.transform.stage;
2   
3   import com.atlassian.plugin.JarPluginArtifact;
4   import com.atlassian.plugin.PluginAccessor;
5   import com.atlassian.plugin.osgi.container.OsgiContainerManager;
6   import com.atlassian.plugin.osgi.factory.transform.TransformContext;
7   import com.atlassian.plugin.osgi.factory.transform.model.SystemExports;
8   import com.atlassian.plugin.test.PluginJarBuilder;
9   import org.junit.Test;
10  import org.osgi.framework.ServiceReference;
11  
12  import java.io.File;
13  import java.util.Collections;
14  
15  import static org.junit.Assert.assertEquals;
16  import static org.mockito.Mockito.mock;
17  import static org.mockito.Mockito.when;
18  
19  public class TestAddBundleOverridesStage {
20  
21      @Test
22      public void testTransform() throws Exception {
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.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  }