1 package com.atlassian.plugin.manager;
2
3 import com.atlassian.plugin.ModuleDescriptorFactory;
4 import com.atlassian.plugin.PluginAccessor;
5 import com.atlassian.plugin.classloader.PluginsClassLoader;
6 import com.atlassian.plugin.event.PluginEventManager;
7 import org.junit.Rule;
8 import org.junit.Test;
9 import org.mockito.Mock;
10 import org.mockito.junit.MockitoJUnit;
11 import org.mockito.junit.MockitoRule;
12
13 import static org.hamcrest.MatcherAssert.assertThat;
14 import static org.hamcrest.Matchers.is;
15 import static org.hamcrest.Matchers.isA;
16 import static org.mockito.Mockito.when;
17
18 public class TestDefaultPluginManagerBuilder {
19 @Rule
20 public final MockitoRule mockitoRule = MockitoJUnit.rule();
21
22 @Mock
23 private PluginAccessor pluginAccessor;
24 @Mock
25 private PluginsClassLoader pluginsClassLoader;
26 @Mock
27 private PluginPersistentStateStore pluginsPersistentStateStore;
28 @Mock
29 private ModuleDescriptorFactory moduleDescriptorFactory;
30 @Mock
31 private PluginEventManager pluginEventManager;
32
33 @Test
34 public void pluginsClassLoaderFromPluginAccessor() {
35 when(pluginAccessor.getClassLoader()).thenReturn(pluginsClassLoader);
36
37 DefaultPluginManager dpm = new DefaultPluginManager(DefaultPluginManager.newBuilder()
38 .withPluginAccessor(pluginAccessor)
39 .withStore(pluginsPersistentStateStore)
40 .withModuleDescriptorFactory(moduleDescriptorFactory)
41 .withPluginEventManager(pluginEventManager)
42 );
43
44 assertThat(dpm.getClassLoader(), is(pluginsClassLoader));
45 }
46
47 @Test
48 public void pluginsClassLoaderCreatedInConstructor() {
49 when(pluginAccessor.getClassLoader()).thenReturn(pluginsClassLoader);
50
51 DefaultPluginManager dpm = new DefaultPluginManager(DefaultPluginManager.newBuilder()
52 .withStore(pluginsPersistentStateStore)
53 .withModuleDescriptorFactory(moduleDescriptorFactory)
54 .withPluginEventManager(pluginEventManager)
55 );
56
57 assertThat(dpm.getClassLoader(), isA(PluginsClassLoader.class));
58 }
59 }