1 package com.atlassian.plugin.osgi.spring;
2
3 import com.atlassian.plugin.osgi.spring.external.ApplicationContextPreProcessor;
4 import org.eclipse.gemini.blueprint.extender.support.ApplicationContextConfiguration;
5 import org.junit.Test;
6 import org.osgi.framework.Bundle;
7
8 import java.util.Collections;
9
10 import static org.junit.Assert.assertFalse;
11 import static org.junit.Assert.assertTrue;
12 import static org.mockito.Mockito.mock;
13 import static org.mockito.Mockito.when;
14
15 public class TestNonValidatingOsgiApplicationContextCreator {
16
17 @Test
18 public void testIsSpringPoweredNormal() {
19 ApplicationContextConfiguration config = mock(ApplicationContextConfiguration.class);
20 Bundle bundle = mock(Bundle.class);
21
22 NonValidatingOsgiApplicationContextCreator creator = new NonValidatingOsgiApplicationContextCreator(Collections.emptyList());
23 when(config.isSpringPoweredBundle()).thenReturn(true);
24 assertTrue(creator.isSpringPoweredBundle(bundle, config));
25 }
26
27 @Test
28 public void testIsSpringPoweredFalseNoProcessors() {
29 ApplicationContextConfiguration config = mock(ApplicationContextConfiguration.class);
30 Bundle bundle = mock(Bundle.class);
31
32 NonValidatingOsgiApplicationContextCreator creator = new NonValidatingOsgiApplicationContextCreator(Collections.emptyList());
33 when(config.isSpringPoweredBundle()).thenReturn(false);
34 assertFalse(creator.isSpringPoweredBundle(bundle, config));
35 }
36
37 @Test
38 public void testIsSpringPoweredFromPreProcessor() {
39 ApplicationContextConfiguration config = mock(ApplicationContextConfiguration.class);
40 Bundle bundle = mock(Bundle.class);
41 ApplicationContextPreProcessor processor = mock(ApplicationContextPreProcessor.class);
42
43 NonValidatingOsgiApplicationContextCreator creator = new NonValidatingOsgiApplicationContextCreator(Collections.singletonList(processor));
44 when(config.isSpringPoweredBundle()).thenReturn(false);
45 when(processor.isSpringPoweredBundle(bundle)).thenReturn(true);
46 assertTrue(creator.isSpringPoweredBundle(bundle, config));
47 }
48
49 @Test
50 public void testIsSpringPoweredFalseWithPreProcessor() {
51 ApplicationContextConfiguration config = mock(ApplicationContextConfiguration.class);
52 Bundle bundle = mock(Bundle.class);
53 ApplicationContextPreProcessor processor = mock(ApplicationContextPreProcessor.class);
54
55 NonValidatingOsgiApplicationContextCreator creator = new NonValidatingOsgiApplicationContextCreator(Collections.singletonList(processor));
56 when(config.isSpringPoweredBundle()).thenReturn(false);
57 when(processor.isSpringPoweredBundle(bundle)).thenReturn(false);
58 assertFalse(creator.isSpringPoweredBundle(bundle, config));
59 }
60 }