View Javadoc

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.getPermissions()).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  }