@@ -113,23 +113,22 @@ class BatchAutoConfigurationTests {
113
113
114
114
@ Test
115
115
void testDefaultContext () {
116
- this .contextRunner .withUserConfiguration (TestConfiguration .class , EmbeddedDataSourceConfiguration .class )
117
- .run ((context ) -> {
118
- assertThat (context ).hasSingleBean (JobRepository .class );
119
- assertThat (context ).hasSingleBean (JobLauncher .class );
120
- assertThat (context ).hasSingleBean (JobExplorer .class );
121
- assertThat (context ).hasSingleBean (JobRegistry .class );
122
- assertThat (context ).hasSingleBean (JobOperator .class );
123
- assertThat (context .getBean (BatchProperties .class ).getJdbc ().getInitializeSchema ())
124
- .isEqualTo (DatabaseInitializationMode .EMBEDDED );
125
- assertThat (new JdbcTemplate (context .getBean (DataSource .class ))
126
- .queryForList ("select * from BATCH_JOB_EXECUTION" )).isEmpty ();
127
- });
116
+ this .contextRunner .withUserConfiguration (EmbeddedDataSourceConfiguration .class ).run ((context ) -> {
117
+ assertThat (context ).hasSingleBean (JobRepository .class );
118
+ assertThat (context ).hasSingleBean (JobLauncher .class );
119
+ assertThat (context ).hasSingleBean (JobExplorer .class );
120
+ assertThat (context ).hasSingleBean (JobRegistry .class );
121
+ assertThat (context ).hasSingleBean (JobOperator .class );
122
+ assertThat (context .getBean (BatchProperties .class ).getJdbc ().getInitializeSchema ())
123
+ .isEqualTo (DatabaseInitializationMode .EMBEDDED );
124
+ assertThat (new JdbcTemplate (context .getBean (DataSource .class ))
125
+ .queryForList ("select * from BATCH_JOB_EXECUTION" )).isEmpty ();
126
+ });
128
127
}
129
128
130
129
@ Test
131
130
void autoconfigurationBacksOffEntirelyIfSpringJdbcAbsent () {
132
- this .contextRunner .withUserConfiguration (TestConfiguration . class , EmbeddedDataSourceConfiguration .class )
131
+ this .contextRunner .withUserConfiguration (EmbeddedDataSourceConfiguration .class )
133
132
.withClassLoader (new FilteredClassLoader (DatabasePopulator .class ))
134
133
.run ((context ) -> {
135
134
assertThat (context ).doesNotHaveBean (JobLauncherApplicationRunner .class );
@@ -253,7 +252,7 @@ void testDisableLaunchesJob() {
253
252
254
253
@ Test
255
254
void testDisableSchemaLoader () {
256
- this .contextRunner .withUserConfiguration (TestConfiguration . class , EmbeddedDataSourceConfiguration .class )
255
+ this .contextRunner .withUserConfiguration (EmbeddedDataSourceConfiguration .class )
257
256
.withPropertyValues ("spring.datasource.generate-unique-name=true" ,
258
257
"spring.batch.jdbc.initialize-schema:never" )
259
258
.run ((context ) -> {
@@ -270,7 +269,7 @@ void testDisableSchemaLoader() {
270
269
@ Test
271
270
void testUsingJpa () {
272
271
this .contextRunner
273
- .withUserConfiguration (TestConfiguration .class , EmbeddedDataSourceConfiguration .class ,
272
+ .withUserConfiguration (TestJpaConfiguration .class , EmbeddedDataSourceConfiguration .class ,
274
273
HibernateJpaAutoConfiguration .class )
275
274
.run ((context ) -> {
276
275
PlatformTransactionManager transactionManager = context .getBean (PlatformTransactionManager .class );
@@ -288,11 +287,9 @@ void testUsingJpa() {
288
287
@ Test
289
288
@ WithPackageResources ("custom-schema.sql" )
290
289
void testRenamePrefix () {
291
- this .contextRunner
292
- .withUserConfiguration (TestConfiguration .class , EmbeddedDataSourceConfiguration .class ,
293
- HibernateJpaAutoConfiguration .class )
290
+ this .contextRunner .withUserConfiguration (EmbeddedDataSourceConfiguration .class )
294
291
.withPropertyValues ("spring.datasource.generate-unique-name=true" ,
295
- "spring.batch.jdbc.schema:classpath:custom-schema.sql" , "spring.batch.jdbc.tablePrefix :PREFIX_" )
292
+ "spring.batch.jdbc.schema:classpath:custom-schema.sql" , "spring.batch.jdbc.table-prefix :PREFIX_" )
296
293
.run ((context ) -> {
297
294
assertThat (context ).hasSingleBean (JobLauncher .class );
298
295
assertThat (context .getBean (BatchProperties .class ).getJdbc ().getInitializeSchema ())
@@ -309,7 +306,7 @@ void testRenamePrefix() {
309
306
@ Test
310
307
void testCustomizeJpaTransactionManagerUsingProperties () {
311
308
this .contextRunner
312
- .withUserConfiguration (TestConfiguration .class , EmbeddedDataSourceConfiguration .class ,
309
+ .withUserConfiguration (TestJpaConfiguration .class , EmbeddedDataSourceConfiguration .class ,
313
310
HibernateJpaAutoConfiguration .class )
314
311
.withPropertyValues ("spring.transaction.default-timeout:30" ,
315
312
"spring.transaction.rollback-on-commit-failure:true" )
@@ -324,7 +321,7 @@ void testCustomizeJpaTransactionManagerUsingProperties() {
324
321
325
322
@ Test
326
323
void testCustomizeDataSourceTransactionManagerUsingProperties () {
327
- this .contextRunner .withUserConfiguration (TestConfiguration . class , EmbeddedDataSourceConfiguration .class )
324
+ this .contextRunner .withUserConfiguration (EmbeddedDataSourceConfiguration .class )
328
325
.withPropertyValues ("spring.transaction.default-timeout:30" ,
329
326
"spring.transaction.rollback-on-commit-failure:true" )
330
327
.run ((context ) -> {
@@ -338,49 +335,44 @@ void testCustomizeDataSourceTransactionManagerUsingProperties() {
338
335
339
336
@ Test
340
337
void testBatchDataSource () {
341
- this .contextRunner .withUserConfiguration (TestConfiguration .class , BatchDataSourceConfiguration .class )
342
- .run ((context ) -> {
343
- assertThat (context ).hasSingleBean (SpringBootBatchConfiguration .class )
344
- .hasSingleBean (BatchDataSourceScriptDatabaseInitializer .class )
345
- .hasBean ("batchDataSource" );
346
- DataSource batchDataSource = context .getBean ("batchDataSource" , DataSource .class );
347
- assertThat (context .getBean (SpringBootBatchConfiguration .class ).getDataSource ())
348
- .isEqualTo (batchDataSource );
349
- assertThat (context .getBean (BatchDataSourceScriptDatabaseInitializer .class ))
350
- .hasFieldOrPropertyWithValue ("dataSource" , batchDataSource );
351
- });
338
+ this .contextRunner .withUserConfiguration (BatchDataSourceConfiguration .class ).run ((context ) -> {
339
+ assertThat (context ).hasSingleBean (SpringBootBatchConfiguration .class )
340
+ .hasSingleBean (BatchDataSourceScriptDatabaseInitializer .class )
341
+ .hasBean ("batchDataSource" );
342
+ DataSource batchDataSource = context .getBean ("batchDataSource" , DataSource .class );
343
+ assertThat (context .getBean (SpringBootBatchConfiguration .class ).getDataSource ()).isEqualTo (batchDataSource );
344
+ assertThat (context .getBean (BatchDataSourceScriptDatabaseInitializer .class ))
345
+ .hasFieldOrPropertyWithValue ("dataSource" , batchDataSource );
346
+ });
352
347
}
353
348
354
349
@ Test
355
350
void testBatchTransactionManager () {
356
- this .contextRunner .withUserConfiguration (TestConfiguration .class , BatchTransactionManagerConfiguration .class )
357
- .run ((context ) -> {
358
- assertThat (context ).hasSingleBean (SpringBootBatchConfiguration .class );
359
- PlatformTransactionManager batchTransactionManager = context .getBean ("batchTransactionManager" ,
360
- PlatformTransactionManager .class );
361
- assertThat (context .getBean (SpringBootBatchConfiguration .class ).getTransactionManager ())
362
- .isEqualTo (batchTransactionManager );
363
- });
351
+ this .contextRunner .withUserConfiguration (BatchTransactionManagerConfiguration .class ).run ((context ) -> {
352
+ assertThat (context ).hasSingleBean (SpringBootBatchConfiguration .class );
353
+ PlatformTransactionManager batchTransactionManager = context .getBean ("batchTransactionManager" ,
354
+ PlatformTransactionManager .class );
355
+ assertThat (context .getBean (SpringBootBatchConfiguration .class ).getTransactionManager ())
356
+ .isEqualTo (batchTransactionManager );
357
+ });
364
358
}
365
359
366
360
@ Test
367
361
void jobRepositoryBeansDependOnBatchDataSourceInitializer () {
368
- this .contextRunner .withUserConfiguration (TestConfiguration .class , EmbeddedDataSourceConfiguration .class )
369
- .run ((context ) -> {
370
- ConfigurableListableBeanFactory beanFactory = context .getBeanFactory ();
371
- String [] jobRepositoryNames = beanFactory .getBeanNamesForType (JobRepository .class );
372
- assertThat (jobRepositoryNames ).isNotEmpty ();
373
- for (String jobRepositoryName : jobRepositoryNames ) {
374
- assertThat (beanFactory .getBeanDefinition (jobRepositoryName ).getDependsOn ())
375
- .contains ("batchDataSourceInitializer" );
376
- }
377
- });
362
+ this .contextRunner .withUserConfiguration (EmbeddedDataSourceConfiguration .class ).run ((context ) -> {
363
+ ConfigurableListableBeanFactory beanFactory = context .getBeanFactory ();
364
+ String [] jobRepositoryNames = beanFactory .getBeanNamesForType (JobRepository .class );
365
+ assertThat (jobRepositoryNames ).isNotEmpty ();
366
+ for (String jobRepositoryName : jobRepositoryNames ) {
367
+ assertThat (beanFactory .getBeanDefinition (jobRepositoryName ).getDependsOn ())
368
+ .contains ("batchDataSourceInitializer" );
369
+ }
370
+ });
378
371
}
379
372
380
373
@ Test
381
374
void jobRepositoryBeansDependOnFlyway () {
382
- this .contextRunner .withUserConfiguration (TestConfiguration .class , EmbeddedDataSourceConfiguration .class )
383
- .withUserConfiguration (FlywayAutoConfiguration .class )
375
+ this .contextRunner .withUserConfiguration (EmbeddedDataSourceConfiguration .class , FlywayAutoConfiguration .class )
384
376
.withPropertyValues ("spring.batch.initialize-schema=never" )
385
377
.run ((context ) -> {
386
378
ConfigurableListableBeanFactory beanFactory = context .getBeanFactory ();
@@ -396,8 +388,8 @@ void jobRepositoryBeansDependOnFlyway() {
396
388
@ Test
397
389
@ WithResource (name = "db/changelog/db.changelog-master.yaml" , content = "databaseChangeLog:" )
398
390
void jobRepositoryBeansDependOnLiquibase () {
399
- this .contextRunner . withUserConfiguration ( TestConfiguration . class , EmbeddedDataSourceConfiguration . class )
400
- .withUserConfiguration (LiquibaseAutoConfiguration .class )
391
+ this .contextRunner
392
+ .withUserConfiguration (EmbeddedDataSourceConfiguration . class , LiquibaseAutoConfiguration .class )
401
393
.withPropertyValues ("spring.batch.initialize-schema=never" )
402
394
.run ((context ) -> {
403
395
ConfigurableListableBeanFactory beanFactory = context .getBeanFactory ();
@@ -411,8 +403,7 @@ void jobRepositoryBeansDependOnLiquibase() {
411
403
412
404
@ Test
413
405
void whenTheUserDefinesTheirOwnBatchDatabaseInitializerThenTheAutoConfiguredInitializerBacksOff () {
414
- this .contextRunner
415
- .withUserConfiguration (TestConfiguration .class , CustomBatchDatabaseInitializerConfiguration .class )
406
+ this .contextRunner .withUserConfiguration (CustomBatchDatabaseInitializerConfiguration .class )
416
407
.withConfiguration (AutoConfigurations .of (DataSourceAutoConfiguration .class ,
417
408
DataSourceTransactionManagerAutoConfiguration .class ))
418
409
.run ((context ) -> assertThat (context ).hasSingleBean (BatchDataSourceScriptDatabaseInitializer .class )
@@ -422,7 +413,7 @@ void whenTheUserDefinesTheirOwnBatchDatabaseInitializerThenTheAutoConfiguredInit
422
413
423
414
@ Test
424
415
void whenTheUserDefinesTheirOwnDatabaseInitializerThenTheAutoConfiguredBatchInitializerRemains () {
425
- this .contextRunner .withUserConfiguration (TestConfiguration . class , CustomDatabaseInitializerConfiguration .class )
416
+ this .contextRunner .withUserConfiguration (CustomDatabaseInitializerConfiguration .class )
426
417
.withConfiguration (AutoConfigurations .of (DataSourceAutoConfiguration .class ,
427
418
DataSourceTransactionManagerAutoConfiguration .class ))
428
419
.run ((context ) -> assertThat (context ).hasSingleBean (BatchDataSourceScriptDatabaseInitializer .class )
@@ -431,8 +422,9 @@ void whenTheUserDefinesTheirOwnDatabaseInitializerThenTheAutoConfiguredBatchInit
431
422
432
423
@ Test
433
424
void conversionServiceCustomizersAreCalled () {
434
- this .contextRunner .withUserConfiguration (TestConfiguration .class , EmbeddedDataSourceConfiguration .class )
435
- .withUserConfiguration (ConversionServiceCustomizersConfiguration .class )
425
+ this .contextRunner
426
+ .withUserConfiguration (EmbeddedDataSourceConfiguration .class ,
427
+ ConversionServiceCustomizersConfiguration .class )
436
428
.run ((context ) -> {
437
429
BatchConversionServiceCustomizer customizer = context .getBean ("batchConversionServiceCustomizer" ,
438
430
BatchConversionServiceCustomizer .class );
@@ -481,8 +473,8 @@ void whenTheUserDefinesAJobNameThatDoesNotExistWithRegisteredJobFailsFast() {
481
473
482
474
@ Test
483
475
void customExecutionContextSerializerIsUsed () {
484
- this .contextRunner .withUserConfiguration (TestConfiguration . class , EmbeddedDataSourceConfiguration .class )
485
- .withUserConfiguration ( CustomExecutionContextConfiguration .class )
476
+ this .contextRunner .withUserConfiguration (EmbeddedDataSourceConfiguration .class )
477
+ .withBean ( ExecutionContextSerializer .class , Jackson2ExecutionContextStringSerializer :: new )
486
478
.run ((context ) -> {
487
479
assertThat (context ).hasSingleBean (Jackson2ExecutionContextStringSerializer .class );
488
480
assertThat (context .getBean (SpringBootBatchConfiguration .class ).getExecutionContextSerializer ())
@@ -492,12 +484,11 @@ void customExecutionContextSerializerIsUsed() {
492
484
493
485
@ Test
494
486
void defaultExecutionContextSerializerIsUsed () {
495
- this .contextRunner .withUserConfiguration (TestConfiguration .class , EmbeddedDataSourceConfiguration .class )
496
- .run ((context ) -> {
497
- assertThat (context ).doesNotHaveBean (ExecutionContextSerializer .class );
498
- assertThat (context .getBean (SpringBootBatchConfiguration .class ).getExecutionContextSerializer ())
499
- .isInstanceOf (DefaultExecutionContextSerializer .class );
500
- });
487
+ this .contextRunner .withUserConfiguration (EmbeddedDataSourceConfiguration .class ).run ((context ) -> {
488
+ assertThat (context ).doesNotHaveBean (ExecutionContextSerializer .class );
489
+ assertThat (context .getBean (SpringBootBatchConfiguration .class ).getExecutionContextSerializer ())
490
+ .isInstanceOf (DefaultExecutionContextSerializer .class );
491
+ });
501
492
}
502
493
503
494
private JobLauncherApplicationRunner createInstance (String ... registeredJobNames ) {
@@ -560,7 +551,7 @@ static class EmptyConfiguration {
560
551
}
561
552
562
553
@ TestAutoConfigurationPackage (City .class )
563
- static class TestConfiguration {
554
+ static class TestJpaConfiguration {
564
555
565
556
}
566
557
@@ -838,14 +829,4 @@ BatchConversionServiceCustomizer anotherBatchConversionServiceCustomizer() {
838
829
839
830
}
840
831
841
- @ Configuration (proxyBeanMethods = false )
842
- static class CustomExecutionContextConfiguration {
843
-
844
- @ Bean
845
- ExecutionContextSerializer executionContextSerializer () {
846
- return new Jackson2ExecutionContextStringSerializer ();
847
- }
848
-
849
- }
850
-
851
832
}
0 commit comments