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