1 package it.com.atlassian.plugin.osgi;
2
3 import com.atlassian.plugin.osgi.PluginInContainerTestBase;
4 import com.atlassian.plugin.osgi.StaticBooleanFlag;
5 import com.atlassian.plugin.test.PluginJarBuilder;
6 import org.junit.Test;
7
8 import static org.junit.Assert.assertFalse;
9 import static org.junit.Assert.assertTrue;
10
11
12
13
14 public class TestPluginWithJaxp extends PluginInContainerTestBase {
15 @Test
16 public void testDisposable() throws Exception {
17 StaticBooleanFlag.flag.set(false);
18 new PluginJarBuilder("testDisposable")
19 .addFormattedResource("atlassian-plugin.xml",
20 "<atlassian-plugin name='Test' key='test.plugin' pluginsVersion='2'>",
21 " <plugin-info>",
22 " <version>1.0</version>",
23 " </plugin-info>",
24 " <component key='obj' class='my.Foo'/>",
25 "</atlassian-plugin>")
26 .addFormattedJava("my.Foo",
27 "package my;",
28 "public class Foo implements org.springframework.beans.factory.DisposableBean{",
29 " public void destroy() {",
30 " com.atlassian.plugin.osgi.StaticBooleanFlag.flag.set(true);",
31 " }",
32 "}")
33 .build(pluginsDir);
34
35 initPluginManager();
36 assertFalse(StaticBooleanFlag.flag.get());
37
38
39 pluginController.disablePlugin("test.plugin");
40 assertTrue(StaticBooleanFlag.flag.get());
41 pluginController.enablePlugins("test.plugin");
42
43
44 StaticBooleanFlag.flag.set(false);
45 osgiContainerManager.stop();
46 assertTrue(StaticBooleanFlag.flag.get());
47 }
48 }