View Javadoc

1   package 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  }