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