View Javadoc

1   package com.atlassian.plugin;
2   
3   import org.junit.Test;
4   
5   import static org.mockito.Mockito.mock;
6   import static org.mockito.Mockito.verify;
7   
8   public class TestPluginResolvableDefault
9   {
10      private interface ResolvablePlugin extends Plugin, Plugin.Resolvable
11      {
12      }
13  
14      @Test
15      public void resolveIsForwardedForResolvables()
16      {
17          final ResolvablePlugin resolvablePlugin = mock(ResolvablePlugin.class);
18          Plugin.Resolvable.Default.resolve(resolvablePlugin);
19          verify(resolvablePlugin).resolve();
20      }
21  
22      @Test
23      public void resolveDoesNotFailForNonResolvable()
24      {
25          final Plugin plugin = mock(Plugin.class);
26          Plugin.Resolvable.Default.resolve(plugin);
27          // The test here is that we didn't throw, for example a ClassCastException by not checking if resolve() was
28          // present on the plugin. There's no underlying Plugin#resolve() here to verify(plugin, never()).resolve() on.
29      }
30  }