1 package com.atlassian.plugin.osgi.factory.descriptor;
2
3 import com.atlassian.plugin.Permissions;
4 import com.google.common.collect.ImmutableSet;
5 import junit.framework.TestCase;
6 import org.dom4j.DocumentHelper;
7 import org.dom4j.Element;
8 import static org.mockito.Mockito.mock;
9 import static org.mockito.Mockito.when;
10 import static org.mockito.Matchers.anyObject;
11 import com.atlassian.plugin.Plugin;
12
13 public class TestComponentModuleDescriptor extends TestCase
14 {
15 public void testEnableDoesNotLoadClass() throws ClassNotFoundException
16 {
17 ComponentModuleDescriptor desc = new ComponentModuleDescriptor();
18
19 Element e = DocumentHelper.createElement("foo");
20 e.addAttribute("key", "foo");
21 e.addAttribute("class", Foo.class.getName());
22
23 Plugin plugin = mock(Plugin.class);
24 when(plugin.getActivePermissions()).thenReturn(ImmutableSet.of(Permissions.EXECUTE_JAVA));
25 when(plugin.<Foo>loadClass((String) anyObject(), (Class<?>) anyObject())).thenReturn(Foo.class);
26 desc.init(plugin, e);
27
28 Foo.called = false;
29 desc.enabled();
30 assertFalse(Foo.called);
31 }
32
33 public static class Foo
34 {
35 public static boolean called;
36
37 public Foo()
38 {
39 called = true;
40 }
41 }
42 }