1 package com.atlassian.plugin.manager;
2
3 import com.atlassian.plugin.ModuleDescriptorFactory;
4 import com.atlassian.plugin.Plugin;
5 import com.atlassian.plugin.PluginRegistry;
6 import com.atlassian.plugin.classloader.PluginsClassLoader;
7 import com.atlassian.plugin.descriptors.UnrecognisedModuleDescriptor;
8 import com.atlassian.plugin.event.PluginEventManager;
9 import com.google.common.collect.ImmutableList;
10 import com.atlassian.plugin.scope.ScopeManager;
11 import org.junit.Rule;
12 import org.junit.Test;
13 import org.mockito.InjectMocks;
14 import org.mockito.Mock;
15 import org.mockito.junit.MockitoJUnit;
16 import org.mockito.junit.MockitoRule;
17
18 import static org.hamcrest.MatcherAssert.assertThat;
19 import static org.hamcrest.Matchers.hasSize;
20 import static org.hamcrest.Matchers.instanceOf;
21 import static org.hamcrest.Matchers.is;
22 import static org.mockito.Mockito.when;
23
24 public class TestProductPluginAccessorBase {
25 @Rule
26 public MockitoRule mockitoRule = MockitoJUnit.rule();
27
28 @Mock
29 private PluginRegistry.ReadOnly pluginRegistry;
30 @Mock
31 private PluginPersistentStateStore pluginsPersistentStateStore;
32 @Mock
33 private ModuleDescriptorFactory moduleDescriptorFactory;
34 @Mock
35 private PluginEventManager pluginEventManager;
36 @Mock
37 private Plugin plugin;
38
39 @InjectMocks
40 private ProductPluginAccessorBase pluginAccessor;
41
42 @Mock
43 private ScopeManager scopeManager;
44
45 @Test
46 public void classLoderIsPluginsClassLoader() {
47 ProductPluginAccessorBase pluginAccessor = new ProductPluginAccessorBase(pluginRegistry,
48 pluginsPersistentStateStore, moduleDescriptorFactory, pluginEventManager, scopeManager);
49
50
51 assertThat(pluginAccessor.getClassLoader(), is(instanceOf(PluginsClassLoader.class)));
52 }
53
54 @Test
55 public void testUnrecognizedNotHidden() throws Exception {
56 when(pluginRegistry.getAll()).thenReturn(ImmutableList.of(plugin));
57 when(plugin.getModuleDescriptors()).thenReturn(ImmutableList.of(new UnrecognisedModuleDescriptor()));
58
59 assertThat(pluginAccessor.getModuleDescriptors(d -> true), hasSize(1));
60 }
61 }