View Javadoc

1   package com.atlassian.plugins.rest.module;
2   
3   import com.atlassian.plugin.osgi.factory.OsgiPlugin;
4   import com.sun.jersey.api.core.ResourceConfig;
5   import static org.junit.Assert.assertNotNull;
6   import static org.junit.Assert.assertNull;
7   import org.junit.Test;
8   import static org.mockito.Mockito.mock;
9   import static org.mockito.Mockito.when;
10  
11  import java.util.Collections;
12  import java.util.Set;
13  
14  public class OsgiComponentProviderFactoryTest
15  {
16      private OsgiComponentProviderFactory componentProviderFactory;
17  
18      private void initialiseComponentProviderFactory(Set<Class<?>> classes)
19      {
20          final ResourceConfig resourceConfig = mock(ResourceConfig.class);
21          final OsgiPlugin plugin = mock(OsgiPlugin.class);
22  
23          when(resourceConfig.getClasses()).thenReturn(classes);
24  
25          componentProviderFactory = new OsgiComponentProviderFactory(resourceConfig, plugin);
26      }
27  
28      @Test
29      public void testGetComponentProviderWithNoResourceOrProviderClasses()
30      {
31          initialiseComponentProviderFactory(null);
32  
33          assertNull(componentProviderFactory.getComponentProvider(this.getClass()));
34      }
35  
36      @Test
37      public void testGetComponentProviderWithEmptyResourceOrProviderClasses()
38      {
39          initialiseComponentProviderFactory(Collections.<Class<?>>emptySet());
40  
41          assertNull(componentProviderFactory.getComponentProvider(this.getClass()));
42      }
43  
44      @Test
45      public void testGetComponentProviderWithAResourceOrProviderClasses()
46      {
47          initialiseComponentProviderFactory(Collections.<Class<?>>singleton(this.getClass()));
48  
49          assertNotNull(componentProviderFactory.getComponentProvider(this.getClass()));
50          assertNull(componentProviderFactory.getComponentProvider(Object.class));
51      }
52  }