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 }