@@ -122,23 +122,22 @@ class BatchAutoConfigurationTests {
122122
123123 @ Test
124124 void testDefaultContext () {
125- this .contextRunner .withUserConfiguration (TestConfiguration .class , EmbeddedDataSourceConfiguration .class )
126- .run ((context ) -> {
127- assertThat (context ).hasSingleBean (JobRepository .class );
128- assertThat (context ).hasSingleBean (JobLauncher .class );
129- assertThat (context ).hasSingleBean (JobExplorer .class );
130- assertThat (context ).hasSingleBean (JobRegistry .class );
131- assertThat (context ).hasSingleBean (JobOperator .class );
132- assertThat (context .getBean (BatchProperties .class ).getJdbc ().getInitializeSchema ())
133- .isEqualTo (DatabaseInitializationMode .EMBEDDED );
134- assertThat (new JdbcTemplate (context .getBean (DataSource .class ))
135- .queryForList ("select * from BATCH_JOB_EXECUTION" )).isEmpty ();
136- });
125+ this .contextRunner .withUserConfiguration (EmbeddedDataSourceConfiguration .class ).run ((context ) -> {
126+ assertThat (context ).hasSingleBean (JobRepository .class );
127+ assertThat (context ).hasSingleBean (JobLauncher .class );
128+ assertThat (context ).hasSingleBean (JobExplorer .class );
129+ assertThat (context ).hasSingleBean (JobRegistry .class );
130+ assertThat (context ).hasSingleBean (JobOperator .class );
131+ assertThat (context .getBean (BatchProperties .class ).getJdbc ().getInitializeSchema ())
132+ .isEqualTo (DatabaseInitializationMode .EMBEDDED );
133+ assertThat (new JdbcTemplate (context .getBean (DataSource .class ))
134+ .queryForList ("select * from BATCH_JOB_EXECUTION" )).isEmpty ();
135+ });
137136 }
138137
139138 @ Test
140139 void autoconfigurationBacksOffEntirelyIfSpringJdbcAbsent () {
141- this .contextRunner .withUserConfiguration (TestConfiguration . class , EmbeddedDataSourceConfiguration .class )
140+ this .contextRunner .withUserConfiguration (EmbeddedDataSourceConfiguration .class )
142141 .withClassLoader (new FilteredClassLoader (DatabasePopulator .class ))
143142 .run ((context ) -> {
144143 assertThat (context ).doesNotHaveBean (JobLauncherApplicationRunner .class );
@@ -262,7 +261,7 @@ void testDisableLaunchesJob() {
262261
263262 @ Test
264263 void testDisableSchemaLoader () {
265- this .contextRunner .withUserConfiguration (TestConfiguration . class , EmbeddedDataSourceConfiguration .class )
264+ this .contextRunner .withUserConfiguration (EmbeddedDataSourceConfiguration .class )
266265 .withPropertyValues ("spring.datasource.generate-unique-name=true" ,
267266 "spring.batch.jdbc.initialize-schema:never" )
268267 .run ((context ) -> {
@@ -279,7 +278,7 @@ void testDisableSchemaLoader() {
279278 @ Test
280279 void testUsingJpa () {
281280 this .contextRunner
282- .withUserConfiguration (TestConfiguration .class , EmbeddedDataSourceConfiguration .class ,
281+ .withUserConfiguration (TestJpaConfiguration .class , EmbeddedDataSourceConfiguration .class ,
283282 HibernateJpaAutoConfiguration .class )
284283 .run ((context ) -> {
285284 PlatformTransactionManager transactionManager = context .getBean (PlatformTransactionManager .class );
@@ -297,11 +296,9 @@ void testUsingJpa() {
297296 @ Test
298297 @ WithPackageResources ("custom-schema.sql" )
299298 void testRenamePrefix () {
300- this .contextRunner
301- .withUserConfiguration (TestConfiguration .class , EmbeddedDataSourceConfiguration .class ,
302- HibernateJpaAutoConfiguration .class )
299+ this .contextRunner .withUserConfiguration (EmbeddedDataSourceConfiguration .class )
303300 .withPropertyValues ("spring.datasource.generate-unique-name=true" ,
304- "spring.batch.jdbc.schema:classpath:custom-schema.sql" , "spring.batch.jdbc.tablePrefix :PREFIX_" )
301+ "spring.batch.jdbc.schema:classpath:custom-schema.sql" , "spring.batch.jdbc.table-prefix :PREFIX_" )
305302 .run ((context ) -> {
306303 assertThat (context ).hasSingleBean (JobLauncher .class );
307304 assertThat (context .getBean (BatchProperties .class ).getJdbc ().getInitializeSchema ())
@@ -318,7 +315,7 @@ void testRenamePrefix() {
318315 @ Test
319316 void testCustomizeJpaTransactionManagerUsingProperties () {
320317 this .contextRunner
321- .withUserConfiguration (TestConfiguration .class , EmbeddedDataSourceConfiguration .class ,
318+ .withUserConfiguration (TestJpaConfiguration .class , EmbeddedDataSourceConfiguration .class ,
322319 HibernateJpaAutoConfiguration .class )
323320 .withPropertyValues ("spring.transaction.default-timeout:30" ,
324321 "spring.transaction.rollback-on-commit-failure:true" )
@@ -333,7 +330,7 @@ void testCustomizeJpaTransactionManagerUsingProperties() {
333330
334331 @ Test
335332 void testCustomizeDataSourceTransactionManagerUsingProperties () {
336- this .contextRunner .withUserConfiguration (TestConfiguration . class , EmbeddedDataSourceConfiguration .class )
333+ this .contextRunner .withUserConfiguration (EmbeddedDataSourceConfiguration .class )
337334 .withPropertyValues ("spring.transaction.default-timeout:30" ,
338335 "spring.transaction.rollback-on-commit-failure:true" )
339336 .run ((context ) -> {
@@ -347,36 +344,32 @@ void testCustomizeDataSourceTransactionManagerUsingProperties() {
347344
348345 @ Test
349346 void testBatchDataSource () {
350- this .contextRunner .withUserConfiguration (TestConfiguration .class , BatchDataSourceConfiguration .class )
351- .run ((context ) -> {
352- assertThat (context ).hasSingleBean (SpringBootBatchConfiguration .class )
353- .hasSingleBean (BatchDataSourceScriptDatabaseInitializer .class )
354- .hasBean ("batchDataSource" );
355- DataSource batchDataSource = context .getBean ("batchDataSource" , DataSource .class );
356- assertThat (context .getBean (SpringBootBatchConfiguration .class ).getDataSource ())
357- .isEqualTo (batchDataSource );
358- assertThat (context .getBean (BatchDataSourceScriptDatabaseInitializer .class ))
359- .hasFieldOrPropertyWithValue ("dataSource" , batchDataSource );
360- });
347+ this .contextRunner .withUserConfiguration (BatchDataSourceConfiguration .class ).run ((context ) -> {
348+ assertThat (context ).hasSingleBean (SpringBootBatchConfiguration .class )
349+ .hasSingleBean (BatchDataSourceScriptDatabaseInitializer .class )
350+ .hasBean ("batchDataSource" );
351+ DataSource batchDataSource = context .getBean ("batchDataSource" , DataSource .class );
352+ assertThat (context .getBean (SpringBootBatchConfiguration .class ).getDataSource ()).isEqualTo (batchDataSource );
353+ assertThat (context .getBean (BatchDataSourceScriptDatabaseInitializer .class ))
354+ .hasFieldOrPropertyWithValue ("dataSource" , batchDataSource );
355+ });
361356 }
362357
363358 @ Test
364359 void testBatchTransactionManager () {
365- this .contextRunner .withUserConfiguration (TestConfiguration .class , BatchTransactionManagerConfiguration .class )
366- .run ((context ) -> {
367- assertThat (context ).hasSingleBean (SpringBootBatchConfiguration .class );
368- PlatformTransactionManager batchTransactionManager = context .getBean ("batchTransactionManager" ,
369- PlatformTransactionManager .class );
370- assertThat (context .getBean (SpringBootBatchConfiguration .class ).getTransactionManager ())
371- .isEqualTo (batchTransactionManager );
372- });
360+ this .contextRunner .withUserConfiguration (BatchTransactionManagerConfiguration .class ).run ((context ) -> {
361+ assertThat (context ).hasSingleBean (SpringBootBatchConfiguration .class );
362+ PlatformTransactionManager batchTransactionManager = context .getBean ("batchTransactionManager" ,
363+ PlatformTransactionManager .class );
364+ assertThat (context .getBean (SpringBootBatchConfiguration .class ).getTransactionManager ())
365+ .isEqualTo (batchTransactionManager );
366+ });
373367 }
374368
375369 @ Test
376370 void testBatchTaskExecutor () {
377371 this .contextRunner
378- .withUserConfiguration (TestConfiguration .class , BatchTaskExecutorConfiguration .class ,
379- EmbeddedDataSourceConfiguration .class )
372+ .withUserConfiguration (BatchTaskExecutorConfiguration .class , EmbeddedDataSourceConfiguration .class )
380373 .run ((context ) -> {
381374 assertThat (context ).hasSingleBean (SpringBootBatchConfiguration .class ).hasBean ("batchTaskExecutor" );
382375 TaskExecutor batchTaskExecutor = context .getBean ("batchTaskExecutor" , TaskExecutor .class );
@@ -390,22 +383,20 @@ void testBatchTaskExecutor() {
390383
391384 @ Test
392385 void jobRepositoryBeansDependOnBatchDataSourceInitializer () {
393- this .contextRunner .withUserConfiguration (TestConfiguration .class , EmbeddedDataSourceConfiguration .class )
394- .run ((context ) -> {
395- ConfigurableListableBeanFactory beanFactory = context .getBeanFactory ();
396- String [] jobRepositoryNames = beanFactory .getBeanNamesForType (JobRepository .class );
397- assertThat (jobRepositoryNames ).isNotEmpty ();
398- for (String jobRepositoryName : jobRepositoryNames ) {
399- assertThat (beanFactory .getBeanDefinition (jobRepositoryName ).getDependsOn ())
400- .contains ("batchDataSourceInitializer" );
401- }
402- });
386+ this .contextRunner .withUserConfiguration (EmbeddedDataSourceConfiguration .class ).run ((context ) -> {
387+ ConfigurableListableBeanFactory beanFactory = context .getBeanFactory ();
388+ String [] jobRepositoryNames = beanFactory .getBeanNamesForType (JobRepository .class );
389+ assertThat (jobRepositoryNames ).isNotEmpty ();
390+ for (String jobRepositoryName : jobRepositoryNames ) {
391+ assertThat (beanFactory .getBeanDefinition (jobRepositoryName ).getDependsOn ())
392+ .contains ("batchDataSourceInitializer" );
393+ }
394+ });
403395 }
404396
405397 @ Test
406398 void jobRepositoryBeansDependOnFlyway () {
407- this .contextRunner .withUserConfiguration (TestConfiguration .class , EmbeddedDataSourceConfiguration .class )
408- .withUserConfiguration (FlywayAutoConfiguration .class )
399+ this .contextRunner .withUserConfiguration (EmbeddedDataSourceConfiguration .class , FlywayAutoConfiguration .class )
409400 .withPropertyValues ("spring.batch.initialize-schema=never" )
410401 .run ((context ) -> {
411402 ConfigurableListableBeanFactory beanFactory = context .getBeanFactory ();
@@ -421,8 +412,8 @@ void jobRepositoryBeansDependOnFlyway() {
421412 @ Test
422413 @ WithResource (name = "db/changelog/db.changelog-master.yaml" , content = "databaseChangeLog:" )
423414 void jobRepositoryBeansDependOnLiquibase () {
424- this .contextRunner . withUserConfiguration ( TestConfiguration . class , EmbeddedDataSourceConfiguration . class )
425- .withUserConfiguration (LiquibaseAutoConfiguration .class )
415+ this .contextRunner
416+ .withUserConfiguration (EmbeddedDataSourceConfiguration . class , LiquibaseAutoConfiguration .class )
426417 .withPropertyValues ("spring.batch.initialize-schema=never" )
427418 .run ((context ) -> {
428419 ConfigurableListableBeanFactory beanFactory = context .getBeanFactory ();
@@ -436,8 +427,7 @@ void jobRepositoryBeansDependOnLiquibase() {
436427
437428 @ Test
438429 void whenTheUserDefinesTheirOwnBatchDatabaseInitializerThenTheAutoConfiguredInitializerBacksOff () {
439- this .contextRunner
440- .withUserConfiguration (TestConfiguration .class , CustomBatchDatabaseInitializerConfiguration .class )
430+ this .contextRunner .withUserConfiguration (CustomBatchDatabaseInitializerConfiguration .class )
441431 .withConfiguration (AutoConfigurations .of (DataSourceAutoConfiguration .class ,
442432 DataSourceTransactionManagerAutoConfiguration .class ))
443433 .run ((context ) -> assertThat (context ).hasSingleBean (BatchDataSourceScriptDatabaseInitializer .class )
@@ -447,7 +437,7 @@ void whenTheUserDefinesTheirOwnBatchDatabaseInitializerThenTheAutoConfiguredInit
447437
448438 @ Test
449439 void whenTheUserDefinesTheirOwnDatabaseInitializerThenTheAutoConfiguredBatchInitializerRemains () {
450- this .contextRunner .withUserConfiguration (TestConfiguration . class , CustomDatabaseInitializerConfiguration .class )
440+ this .contextRunner .withUserConfiguration (CustomDatabaseInitializerConfiguration .class )
451441 .withConfiguration (AutoConfigurations .of (DataSourceAutoConfiguration .class ,
452442 DataSourceTransactionManagerAutoConfiguration .class ))
453443 .run ((context ) -> assertThat (context ).hasSingleBean (BatchDataSourceScriptDatabaseInitializer .class )
@@ -456,8 +446,9 @@ void whenTheUserDefinesTheirOwnDatabaseInitializerThenTheAutoConfiguredBatchInit
456446
457447 @ Test
458448 void conversionServiceCustomizersAreCalled () {
459- this .contextRunner .withUserConfiguration (TestConfiguration .class , EmbeddedDataSourceConfiguration .class )
460- .withUserConfiguration (ConversionServiceCustomizersConfiguration .class )
449+ this .contextRunner
450+ .withUserConfiguration (EmbeddedDataSourceConfiguration .class ,
451+ ConversionServiceCustomizersConfiguration .class )
461452 .run ((context ) -> {
462453 BatchConversionServiceCustomizer customizer = context .getBean ("batchConversionServiceCustomizer" ,
463454 BatchConversionServiceCustomizer .class );
@@ -506,8 +497,8 @@ void whenTheUserDefinesAJobNameThatDoesNotExistWithRegisteredJobFailsFast() {
506497
507498 @ Test
508499 void customExecutionContextSerializerIsUsed () {
509- this .contextRunner .withUserConfiguration (TestConfiguration . class , EmbeddedDataSourceConfiguration .class )
510- .withUserConfiguration ( CustomExecutionContextConfiguration .class )
500+ this .contextRunner .withUserConfiguration (EmbeddedDataSourceConfiguration .class )
501+ .withBean ( ExecutionContextSerializer .class , Jackson2ExecutionContextStringSerializer :: new )
511502 .run ((context ) -> {
512503 assertThat (context ).hasSingleBean (Jackson2ExecutionContextStringSerializer .class );
513504 assertThat (context .getBean (SpringBootBatchConfiguration .class ).getExecutionContextSerializer ())
@@ -517,12 +508,11 @@ void customExecutionContextSerializerIsUsed() {
517508
518509 @ Test
519510 void defaultExecutionContextSerializerIsUsed () {
520- this .contextRunner .withUserConfiguration (TestConfiguration .class , EmbeddedDataSourceConfiguration .class )
521- .run ((context ) -> {
522- assertThat (context ).doesNotHaveBean (ExecutionContextSerializer .class );
523- assertThat (context .getBean (SpringBootBatchConfiguration .class ).getExecutionContextSerializer ())
524- .isInstanceOf (DefaultExecutionContextSerializer .class );
525- });
511+ this .contextRunner .withUserConfiguration (EmbeddedDataSourceConfiguration .class ).run ((context ) -> {
512+ assertThat (context ).doesNotHaveBean (ExecutionContextSerializer .class );
513+ assertThat (context .getBean (SpringBootBatchConfiguration .class ).getExecutionContextSerializer ())
514+ .isInstanceOf (DefaultExecutionContextSerializer .class );
515+ });
526516 }
527517
528518 @ Test
@@ -634,7 +624,7 @@ static class EmptyConfiguration {
634624 }
635625
636626 @ TestAutoConfigurationPackage (City .class )
637- static class TestConfiguration {
627+ static class TestJpaConfiguration {
638628
639629 }
640630
@@ -912,14 +902,4 @@ BatchConversionServiceCustomizer anotherBatchConversionServiceCustomizer() {
912902
913903 }
914904
915- @ Configuration (proxyBeanMethods = false )
916- static class CustomExecutionContextConfiguration {
917-
918- @ Bean
919- ExecutionContextSerializer executionContextSerializer () {
920- return new Jackson2ExecutionContextStringSerializer ();
921- }
922-
923- }
924-
925905}
0 commit comments