Skip to content

Commit 9328a8a

Browse files
authored
Polish autoconfigure-kotlin module
Signed-off-by: Taeik Lim <[email protected]>
1 parent b89c08e commit 9328a8a

File tree

2 files changed

+60
-59
lines changed

2 files changed

+60
-59
lines changed

spring-boot-autoconfigure-batch-plus-kotlin/build.gradle.kts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@ dependencies {
1515
testImplementation(libs.spring.boot.autoconfigure)
1616
testImplementation(libs.spring.boot.test)
1717
testImplementation(libs.spring.batch.core)
18+
testImplementation(libs.spring.jdbc)
1819

1920
testRuntimeOnly(libs.h2)
2021
}
Lines changed: 59 additions & 59 deletions
Original file line numberDiff line numberDiff line change
@@ -36,84 +36,84 @@ import org.springframework.jdbc.datasource.embedded.EmbeddedDatabaseType
3636
import org.springframework.transaction.TransactionManager
3737
import 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

Comments
 (0)