|
18 | 18 | package io.microsphere.spring.context; |
19 | 19 |
|
20 | 20 |
|
| 21 | +import io.microsphere.spring.beans.factory.support.ListenableAutowireCandidateResolverInitializer; |
| 22 | +import io.microsphere.spring.context.annotation.AutoRegistrationBeanInitializer; |
| 23 | +import io.microsphere.spring.context.event.EventPublishingBeanInitializer; |
| 24 | +import io.microsphere.spring.core.env.ListenableConfigurableEnvironmentInitializer; |
21 | 25 | import org.junit.jupiter.api.BeforeEach; |
22 | 26 | import org.junit.jupiter.api.Test; |
| 27 | +import org.springframework.context.ApplicationContextInitializer; |
23 | 28 | import org.springframework.context.ConfigurableApplicationContext; |
24 | 29 | import org.springframework.context.support.GenericApplicationContext; |
25 | 30 | import org.springframework.core.env.ConfigurableEnvironment; |
26 | 31 | import org.springframework.mock.env.MockEnvironment; |
27 | 32 |
|
| 33 | +import java.util.Set; |
| 34 | + |
| 35 | +import static io.microsphere.spring.core.io.support.SpringFactoriesLoaderUtils.loadFactoryClasses; |
28 | 36 | import static org.junit.jupiter.api.Assertions.assertEquals; |
29 | 37 | import static org.junit.jupiter.api.Assertions.assertFalse; |
30 | 38 | import static org.junit.jupiter.api.Assertions.assertSame; |
@@ -80,6 +88,18 @@ void testGetEnabledPropertyName() { |
80 | 88 | getEnabledPropertyName()); |
81 | 89 | } |
82 | 90 |
|
| 91 | + @Test |
| 92 | + void testSpringFactories() { |
| 93 | + Set<Class<ApplicationContextInitializer>> factoryClasses = loadFactoryClasses(ApplicationContextInitializer.class); |
| 94 | + assertEquals(4, factoryClasses.size()); |
| 95 | + factoryClasses.forEach(factoryClass -> |
| 96 | + assertTrue(ConfigurableApplicationContextInitializer.class.isAssignableFrom(factoryClass))); |
| 97 | + assertTrue(factoryClasses.contains(AutoRegistrationBeanInitializer.class)); |
| 98 | + assertTrue(factoryClasses.contains(EventPublishingBeanInitializer.class)); |
| 99 | + assertTrue(factoryClasses.contains(ListenableAutowireCandidateResolverInitializer.class)); |
| 100 | + assertTrue(factoryClasses.contains(ListenableConfigurableEnvironmentInitializer.class)); |
| 101 | + } |
| 102 | + |
83 | 103 | @Override |
84 | 104 | protected void initialize(ConfigurableApplicationContext context, ConfigurableEnvironment environment) { |
85 | 105 | this.context = context; |
|
0 commit comments