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