View Javadoc
1   package com.atlassian.plugin.manager;
2   
3   import com.atlassian.plugin.PluginAccessor;
4   
5   /**
6    * Tests that {@link DefaultPluginManager}'s plugin accessor methods work correctly when wrapped with
7    * {@link EnabledModuleCachingPluginAccessor}.
8    *
9    * @see TestEnabledModuleCachingPluginAccessor for mock-based unit tests of {@link EnabledModuleCachingPluginAccessor}
10   */
11  public class TestDefaultPluginManagerWithCachingPluginAccessor extends TestDefaultPluginManager {
12  
13      private PluginAccessor cachingPluginAccessor;
14  
15      /**
16       * Whenever the plugin manager is recreated, set up the plugin accessor used by the base class tests
17       * to use the caching accessor
18       */
19      @Override
20      protected DefaultPluginManager newDefaultPluginManager(DefaultPluginManager.Builder builder) {
21          manager = super.newDefaultPluginManager(builder);
22  
23          cachingPluginAccessor = new EnabledModuleCachingPluginAccessor(manager, pluginEventManager, manager);
24  
25          return manager;
26      }
27  
28      /**
29       * Make base class tests use our caching plugin accessor
30       */
31      @Override
32      protected PluginAccessor getPluginAccessor() {
33          return cachingPluginAccessor;
34      }
35  }