@@ -36,84 +36,84 @@ import org.springframework.jdbc.datasource.embedded.EmbeddedDatabaseType
3636import org.springframework.transaction.TransactionManager
3737import javax.sql.DataSource
3838
39- internal class BatchPlusAutoConfigurationTest {
39+ private class BatchPlusAutoConfigurationIT {
4040
4141 private val contextRunner = ApplicationContextRunner ()
4242 .withConfiguration(AutoConfigurations .of(BatchPlusAutoConfiguration ::class .java))
4343
4444 @Test
45- fun testRegister () {
45+ fun autoConfigure () {
46+ @EnableBatchProcessing(
47+ dataSourceRef = " metadataDataSource" ,
48+ transactionManagerRef = " metadataTransactionManager" ,
49+ )
50+ class BatchConfiguration {
51+
52+ @Bean
53+ fun metadataTransactionManager (): TransactionManager {
54+ return DataSourceTransactionManager (metadataDataSource())
55+ }
56+
57+ @Bean
58+ fun metadataDataSource (): DataSource {
59+ return EmbeddedDatabaseBuilder ()
60+ .setType(EmbeddedDatabaseType .H2 )
61+ .addScript(" /org/springframework/batch/core/schema-h2.sql" )
62+ .generateUniqueName(true )
63+ .build()
64+ }
65+ }
66+
4667 contextRunner.withUserConfiguration(BatchConfiguration ::class .java)
47- .run { context: AssertableApplicationContext ? ->
68+ .run { context: AssertableApplicationContext ->
4869 assertThat(context).hasSingleBean(BatchDsl ::class .java)
4970 }
5071 }
5172
5273 @Test
53- fun testNotRegisterWhenAlreadyRegistered () {
54- contextRunner.withUserConfiguration(BatchDslConfiguration ::class .java)
55- .run { context: AssertableApplicationContext ? ->
74+ fun autoConfigureShouldNotRegisterWhenAlreadyRegisteredOneExists () {
75+ @EnableBatchProcessing(
76+ dataSourceRef = " metadataDataSource" ,
77+ transactionManagerRef = " metadataTransactionManager" ,
78+ )
79+ class BatchConfiguration {
80+ @Bean
81+ fun batchDsl (
82+ beanFactory : BeanFactory ,
83+ jobRepository : JobRepository ,
84+ ): BatchDsl {
85+ return BatchDsl (
86+ beanFactory,
87+ jobRepository,
88+ )
89+ }
90+
91+ @Bean
92+ fun metadataTransactionManager (): TransactionManager {
93+ return DataSourceTransactionManager (metadataDataSource())
94+ }
95+
96+ @Bean
97+ fun metadataDataSource (): DataSource {
98+ return EmbeddedDatabaseBuilder ()
99+ .setType(EmbeddedDatabaseType .H2 )
100+ .addScript(" /org/springframework/batch/core/schema-h2.sql" )
101+ .generateUniqueName(true )
102+ .build()
103+ }
104+ }
105+
106+ contextRunner.withUserConfiguration(BatchConfiguration ::class .java)
107+ .run { context: AssertableApplicationContext ->
56108 assertThat(context).hasSingleBean(BatchDsl ::class .java)
57109 }
58110 }
59111
60112 @Test
61- fun testNotRegisterOnNoRequiredBeans () {
113+ fun autoConfigureShouldNotRegisterWhenNoRequiredBeans () {
62114 contextRunner.run { context: AssertableApplicationContext ->
63115 assertThatThrownBy { context.getBean<BatchDsl >() }
64116 .hasMessageContaining(" No qualifying bean" )
65117 }
66118 }
67-
68- @EnableBatchProcessing(
69- dataSourceRef = " metadataDataSource" ,
70- transactionManagerRef = " metadataTransactionManager" ,
71- )
72- class BatchConfiguration {
73-
74- @Bean
75- fun metadataTransactionManager (): TransactionManager {
76- return DataSourceTransactionManager (metadataDataSource())
77- }
78-
79- @Bean
80- fun metadataDataSource (): DataSource {
81- return EmbeddedDatabaseBuilder ()
82- .setType(EmbeddedDatabaseType .H2 )
83- .addScript(" /org/springframework/batch/core/schema-h2.sql" )
84- .generateUniqueName(true )
85- .build()
86- }
87- }
88-
89- @EnableBatchProcessing(
90- dataSourceRef = " metadataDataSource" ,
91- transactionManagerRef = " metadataTransactionManager" ,
92- )
93- class BatchDslConfiguration {
94- @Bean
95- fun batchDsl (
96- beanFactory : BeanFactory ,
97- jobRepository : JobRepository ,
98- ): BatchDsl {
99- return BatchDsl (
100- beanFactory,
101- jobRepository,
102- )
103- }
104-
105- @Bean
106- fun metadataTransactionManager (): TransactionManager {
107- return DataSourceTransactionManager (metadataDataSource())
108- }
109-
110- @Bean
111- fun metadataDataSource (): DataSource {
112- return EmbeddedDatabaseBuilder ()
113- .setType(EmbeddedDatabaseType .H2 )
114- .addScript(" /org/springframework/batch/core/schema-h2.sql" )
115- .generateUniqueName(true )
116- .build()
117- }
118- }
119119}
0 commit comments