Skip to content

Commit 09e19fd

Browse files
committed
Merge branch '3.4.x'
Closes gh-44829
2 parents 07f8c47 + 6280767 commit 09e19fd

File tree

1 file changed

+60
-80
lines changed

1 file changed

+60
-80
lines changed

spring-boot-project/spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/batch/BatchAutoConfigurationTests.java

+60-80
Original file line numberDiff line numberDiff line change
@@ -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

Comments
 (0)