1 package it.com.atlassian.plugin.osgi.factory;
2
3 import java.util.Collections;
4
5 import com.atlassian.plugin.Plugin;
6 import com.atlassian.plugin.osgi.PluginInContainerTestBase;
7 import com.atlassian.plugin.test.PluginJarBuilder;
8
9 public class TestOsgiPluginInstalledHelperGetRequiredPluginsFromExports extends PluginInContainerTestBase
10 {
11 public void testEnablingDisabledDependentPluginRecursivelyEnablesDependency() throws Exception
12 {
13 new PluginJarBuilder("osgi")
14 .addFormattedResource("META-INF/MANIFEST.MF",
15 "Manifest-Version: 1.0",
16 "Bundle-SymbolicName: myA",
17 "Bundle-Version: 1.0",
18 "Export-Package: testpackage",
19 "")
20 .addFormattedResource("atlassian-plugin.xml",
21 "<atlassian-plugin name='Test' key='myA-1.0' pluginsVersion='2' state='disabled'>",
22 " <plugin-info>",
23 " <version>1.0</version>",
24 " </plugin-info>",
25 "</atlassian-plugin>")
26 .build(pluginsDir);
27
28 new PluginJarBuilder("osgi")
29 .addFormattedResource("atlassian-plugin.xml",
30 "<atlassian-plugin name='Test' key='consumer' pluginsVersion='2' state='disabled'>",
31 " <plugin-info>",
32 " <version>1.0</version>",
33 " <bundle-instructions><Import-Package>testpackage</Import-Package></bundle-instructions>",
34 " </plugin-info>",
35 "</atlassian-plugin>")
36 .build(pluginsDir);
37
38 initPluginManager();
39
40 Plugin plugin = pluginManager.getPlugin("consumer");
41 assertEquals(Collections.singleton("myA-1.0"), plugin.getRequiredPlugins());
42 }
43 }