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 org.dom4j.DocumentHelper;
7   import org.dom4j.Element;
8   import org.junit.Test;
9   
10  import static org.junit.Assert.assertFalse;
11  import static org.mockito.ArgumentMatchers.any;
12  import static org.mockito.ArgumentMatchers.anyString;
13  import static org.mockito.Mockito.mock;
14  import static org.mockito.Mockito.when;
15  
16  public class TestComponentModuleDescriptor {
17  
18      @Test
19      public void testEnableDoesNotLoadClass() throws ClassNotFoundException {
20          ComponentModuleDescriptor desc = new ComponentModuleDescriptor();
21  
22          Element e = DocumentHelper.createElement("foo");
23          e.addAttribute("key", "foo");
24          e.addAttribute("class", Foo.class.getName());
25  
26          Plugin plugin = mock(Plugin.class);
27          when(plugin.getActivePermissions()).thenReturn(ImmutableSet.of(Permissions.EXECUTE_JAVA));
28          when(plugin.<Foo>loadClass(anyString(), any())).thenReturn(Foo.class);
29          desc.init(plugin, e);
30  
31          Foo.called = false;
32          desc.enabled();
33          assertFalse(Foo.called);
34      }
35  
36      public static class Foo {
37          static boolean called;
38  
39          public Foo() {
40              called = true;
41          }
42      }
43  }