@@ -122,23 +122,22 @@ class BatchAutoConfigurationTests {
122
122
123
123
@ Test
124
124
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
+ });
137
136
}
138
137
139
138
@ Test
140
139
void autoconfigurationBacksOffEntirelyIfSpringJdbcAbsent () {
141
- this .contextRunner .withUserConfiguration (TestConfiguration . class , EmbeddedDataSourceConfiguration .class )
140
+ this .contextRunner .withUserConfiguration (EmbeddedDataSourceConfiguration .class )
142
141
.withClassLoader (new FilteredClassLoader (DatabasePopulator .class ))
143
142
.run ((context ) -> {
144
143
assertThat (context ).doesNotHaveBean (JobLauncherApplicationRunner .class );
@@ -262,7 +261,7 @@ void testDisableLaunchesJob() {
262
261
263
262
@ Test
264
263
void testDisableSchemaLoader () {
265
- this .contextRunner .withUserConfiguration (TestConfiguration . class , EmbeddedDataSourceConfiguration .class )
264
+ this .contextRunner .withUserConfiguration (EmbeddedDataSourceConfiguration .class )
266
265
.withPropertyValues ("spring.datasource.generate-unique-name=true" ,
267
266
"spring.batch.jdbc.initialize-schema:never" )
268
267
.run ((context ) -> {
@@ -279,7 +278,7 @@ void testDisableSchemaLoader() {
279
278
@ Test
280
279
void testUsingJpa () {
281
280
this .contextRunner
282
- .withUserConfiguration (TestConfiguration .class , EmbeddedDataSourceConfiguration .class ,
281
+ .withUserConfiguration (TestJpaConfiguration .class , EmbeddedDataSourceConfiguration .class ,
283
282
HibernateJpaAutoConfiguration .class )
284
283
.run ((context ) -> {
285
284
PlatformTransactionManager transactionManager = context .getBean (PlatformTransactionManager .class );
@@ -297,11 +296,9 @@ void testUsingJpa() {
297
296
@ Test
298
297
@ WithPackageResources ("custom-schema.sql" )
299
298
void testRenamePrefix () {
300
- this .contextRunner
301
- .withUserConfiguration (TestConfiguration .class , EmbeddedDataSourceConfiguration .class ,
302
- HibernateJpaAutoConfiguration .class )
299
+ this .contextRunner .withUserConfiguration (EmbeddedDataSourceConfiguration .class )
303
300
.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_" )
305
302
.run ((context ) -> {
306
303
assertThat (context ).hasSingleBean (JobLauncher .class );
307
304
assertThat (context .getBean (BatchProperties .class ).getJdbc ().getInitializeSchema ())
@@ -318,7 +315,7 @@ void testRenamePrefix() {
318
315
@ Test
319
316
void testCustomizeJpaTransactionManagerUsingProperties () {
320
317
this .contextRunner
321
- .withUserConfiguration (TestConfiguration .class , EmbeddedDataSourceConfiguration .class ,
318
+ .withUserConfiguration (TestJpaConfiguration .class , EmbeddedDataSourceConfiguration .class ,
322
319
HibernateJpaAutoConfiguration .class )
323
320
.withPropertyValues ("spring.transaction.default-timeout:30" ,
324
321
"spring.transaction.rollback-on-commit-failure:true" )
@@ -333,7 +330,7 @@ void testCustomizeJpaTransactionManagerUsingProperties() {
333
330
334
331
@ Test
335
332
void testCustomizeDataSourceTransactionManagerUsingProperties () {
336
- this .contextRunner .withUserConfiguration (TestConfiguration . class , EmbeddedDataSourceConfiguration .class )
333
+ this .contextRunner .withUserConfiguration (EmbeddedDataSourceConfiguration .class )
337
334
.withPropertyValues ("spring.transaction.default-timeout:30" ,
338
335
"spring.transaction.rollback-on-commit-failure:true" )
339
336
.run ((context ) -> {
@@ -347,36 +344,32 @@ void testCustomizeDataSourceTransactionManagerUsingProperties() {
347
344
348
345
@ Test
349
346
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
+ });
361
356
}
362
357
363
358
@ Test
364
359
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
+ });
373
367
}
374
368
375
369
@ Test
376
370
void testBatchTaskExecutor () {
377
371
this .contextRunner
378
- .withUserConfiguration (TestConfiguration .class , BatchTaskExecutorConfiguration .class ,
379
- EmbeddedDataSourceConfiguration .class )
372
+ .withUserConfiguration (BatchTaskExecutorConfiguration .class , EmbeddedDataSourceConfiguration .class )
380
373
.run ((context ) -> {
381
374
assertThat (context ).hasSingleBean (SpringBootBatchConfiguration .class ).hasBean ("batchTaskExecutor" );
382
375
TaskExecutor batchTaskExecutor = context .getBean ("batchTaskExecutor" , TaskExecutor .class );
@@ -390,22 +383,20 @@ void testBatchTaskExecutor() {
390
383
391
384
@ Test
392
385
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
+ });
403
395
}
404
396
405
397
@ Test
406
398
void jobRepositoryBeansDependOnFlyway () {
407
- this .contextRunner .withUserConfiguration (TestConfiguration .class , EmbeddedDataSourceConfiguration .class )
408
- .withUserConfiguration (FlywayAutoConfiguration .class )
399
+ this .contextRunner .withUserConfiguration (EmbeddedDataSourceConfiguration .class , FlywayAutoConfiguration .class )
409
400
.withPropertyValues ("spring.batch.initialize-schema=never" )
410
401
.run ((context ) -> {
411
402
ConfigurableListableBeanFactory beanFactory = context .getBeanFactory ();
@@ -421,8 +412,8 @@ void jobRepositoryBeansDependOnFlyway() {
421
412
@ Test
422
413
@ WithResource (name = "db/changelog/db.changelog-master.yaml" , content = "databaseChangeLog:" )
423
414
void jobRepositoryBeansDependOnLiquibase () {
424
- this .contextRunner . withUserConfiguration ( TestConfiguration . class , EmbeddedDataSourceConfiguration . class )
425
- .withUserConfiguration (LiquibaseAutoConfiguration .class )
415
+ this .contextRunner
416
+ .withUserConfiguration (EmbeddedDataSourceConfiguration . class , LiquibaseAutoConfiguration .class )
426
417
.withPropertyValues ("spring.batch.initialize-schema=never" )
427
418
.run ((context ) -> {
428
419
ConfigurableListableBeanFactory beanFactory = context .getBeanFactory ();
@@ -436,8 +427,7 @@ void jobRepositoryBeansDependOnLiquibase() {
436
427
437
428
@ Test
438
429
void whenTheUserDefinesTheirOwnBatchDatabaseInitializerThenTheAutoConfiguredInitializerBacksOff () {
439
- this .contextRunner
440
- .withUserConfiguration (TestConfiguration .class , CustomBatchDatabaseInitializerConfiguration .class )
430
+ this .contextRunner .withUserConfiguration (CustomBatchDatabaseInitializerConfiguration .class )
441
431
.withConfiguration (AutoConfigurations .of (DataSourceAutoConfiguration .class ,
442
432
DataSourceTransactionManagerAutoConfiguration .class ))
443
433
.run ((context ) -> assertThat (context ).hasSingleBean (BatchDataSourceScriptDatabaseInitializer .class )
@@ -447,7 +437,7 @@ void whenTheUserDefinesTheirOwnBatchDatabaseInitializerThenTheAutoConfiguredInit
447
437
448
438
@ Test
449
439
void whenTheUserDefinesTheirOwnDatabaseInitializerThenTheAutoConfiguredBatchInitializerRemains () {
450
- this .contextRunner .withUserConfiguration (TestConfiguration . class , CustomDatabaseInitializerConfiguration .class )
440
+ this .contextRunner .withUserConfiguration (CustomDatabaseInitializerConfiguration .class )
451
441
.withConfiguration (AutoConfigurations .of (DataSourceAutoConfiguration .class ,
452
442
DataSourceTransactionManagerAutoConfiguration .class ))
453
443
.run ((context ) -> assertThat (context ).hasSingleBean (BatchDataSourceScriptDatabaseInitializer .class )
@@ -456,8 +446,9 @@ void whenTheUserDefinesTheirOwnDatabaseInitializerThenTheAutoConfiguredBatchInit
456
446
457
447
@ Test
458
448
void conversionServiceCustomizersAreCalled () {
459
- this .contextRunner .withUserConfiguration (TestConfiguration .class , EmbeddedDataSourceConfiguration .class )
460
- .withUserConfiguration (ConversionServiceCustomizersConfiguration .class )
449
+ this .contextRunner
450
+ .withUserConfiguration (EmbeddedDataSourceConfiguration .class ,
451
+ ConversionServiceCustomizersConfiguration .class )
461
452
.run ((context ) -> {
462
453
BatchConversionServiceCustomizer customizer = context .getBean ("batchConversionServiceCustomizer" ,
463
454
BatchConversionServiceCustomizer .class );
@@ -506,8 +497,8 @@ void whenTheUserDefinesAJobNameThatDoesNotExistWithRegisteredJobFailsFast() {
506
497
507
498
@ Test
508
499
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 )
511
502
.run ((context ) -> {
512
503
assertThat (context ).hasSingleBean (Jackson2ExecutionContextStringSerializer .class );
513
504
assertThat (context .getBean (SpringBootBatchConfiguration .class ).getExecutionContextSerializer ())
@@ -517,12 +508,11 @@ void customExecutionContextSerializerIsUsed() {
517
508
518
509
@ Test
519
510
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
+ });
526
516
}
527
517
528
518
@ Test
@@ -634,7 +624,7 @@ static class EmptyConfiguration {
634
624
}
635
625
636
626
@ TestAutoConfigurationPackage (City .class )
637
- static class TestConfiguration {
627
+ static class TestJpaConfiguration {
638
628
639
629
}
640
630
@@ -912,14 +902,4 @@ BatchConversionServiceCustomizer anotherBatchConversionServiceCustomizer() {
912
902
913
903
}
914
904
915
- @ Configuration (proxyBeanMethods = false )
916
- static class CustomExecutionContextConfiguration {
917
-
918
- @ Bean
919
- ExecutionContextSerializer executionContextSerializer () {
920
- return new Jackson2ExecutionContextStringSerializer ();
921
- }
922
-
923
- }
924
-
925
905
}
0 commit comments