View Javadoc
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  }