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 }