Commit 05adf02a authored by Andy Wilkinson's avatar Andy Wilkinson

Include SQL init auto-config in JDBC-based test slices

Closes gh-25323
parent e2252c78
/* /*
* Copyright 2012-2020 the original author or authors. * Copyright 2012-2021 the original author or authors.
* *
* Licensed under the Apache License, Version 2.0 (the "License"); * Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License. * you may not use this file except in compliance with the License.
...@@ -16,7 +16,8 @@ ...@@ -16,7 +16,8 @@
package org.springframework.boot.test.autoconfigure.jdbc; package org.springframework.boot.test.autoconfigure.jdbc;
import java.util.Collections; import java.util.HashMap;
import java.util.Map;
import javax.sql.DataSource; import javax.sql.DataSource;
...@@ -173,8 +174,11 @@ public class TestDatabaseAutoConfiguration { ...@@ -173,8 +174,11 @@ public class TestDatabaseAutoConfiguration {
EmbeddedDataSourceFactory(Environment environment) { EmbeddedDataSourceFactory(Environment environment) {
this.environment = environment; this.environment = environment;
if (environment instanceof ConfigurableEnvironment) { if (environment instanceof ConfigurableEnvironment) {
((ConfigurableEnvironment) environment).getPropertySources().addFirst(new MapPropertySource( Map<String, Object> source = new HashMap<>();
"testDatabase", Collections.singletonMap("spring.datasource.schema-username", ""))); source.put("spring.datasource.schema-username", "");
source.put("spring.sql.init.username", "");
((ConfigurableEnvironment) environment).getPropertySources()
.addFirst(new MapPropertySource("testDatabase", source));
} }
} }
......
...@@ -18,6 +18,7 @@ org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration,\ ...@@ -18,6 +18,7 @@ org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration,\
org.springframework.boot.autoconfigure.jdbc.DataSourceTransactionManagerAutoConfiguration,\ org.springframework.boot.autoconfigure.jdbc.DataSourceTransactionManagerAutoConfiguration,\
org.springframework.boot.autoconfigure.jdbc.JdbcTemplateAutoConfiguration,\ org.springframework.boot.autoconfigure.jdbc.JdbcTemplateAutoConfiguration,\
org.springframework.boot.autoconfigure.liquibase.LiquibaseAutoConfiguration,\ org.springframework.boot.autoconfigure.liquibase.LiquibaseAutoConfiguration,\
org.springframework.boot.autoconfigure.sql.init.SqlInitializationAutoConfiguration,\
org.springframework.boot.autoconfigure.transaction.TransactionAutoConfiguration org.springframework.boot.autoconfigure.transaction.TransactionAutoConfiguration
# AutoConfigureDataJpa auto-configuration imports # AutoConfigureDataJpa auto-configuration imports
...@@ -29,6 +30,7 @@ org.springframework.boot.autoconfigure.jdbc.DataSourceTransactionManagerAutoConf ...@@ -29,6 +30,7 @@ org.springframework.boot.autoconfigure.jdbc.DataSourceTransactionManagerAutoConf
org.springframework.boot.autoconfigure.jdbc.JdbcTemplateAutoConfiguration,\ org.springframework.boot.autoconfigure.jdbc.JdbcTemplateAutoConfiguration,\
org.springframework.boot.autoconfigure.liquibase.LiquibaseAutoConfiguration,\ org.springframework.boot.autoconfigure.liquibase.LiquibaseAutoConfiguration,\
org.springframework.boot.autoconfigure.orm.jpa.HibernateJpaAutoConfiguration,\ org.springframework.boot.autoconfigure.orm.jpa.HibernateJpaAutoConfiguration,\
org.springframework.boot.autoconfigure.sql.init.SqlInitializationAutoConfiguration,\
org.springframework.boot.autoconfigure.transaction.TransactionAutoConfiguration org.springframework.boot.autoconfigure.transaction.TransactionAutoConfiguration
# AutoConfigureDataLdap auto-configuration imports # AutoConfigureDataLdap auto-configuration imports
...@@ -79,6 +81,7 @@ org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration,\ ...@@ -79,6 +81,7 @@ org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration,\
org.springframework.boot.autoconfigure.jdbc.DataSourceTransactionManagerAutoConfiguration,\ org.springframework.boot.autoconfigure.jdbc.DataSourceTransactionManagerAutoConfiguration,\
org.springframework.boot.autoconfigure.jdbc.JdbcTemplateAutoConfiguration,\ org.springframework.boot.autoconfigure.jdbc.JdbcTemplateAutoConfiguration,\
org.springframework.boot.autoconfigure.liquibase.LiquibaseAutoConfiguration,\ org.springframework.boot.autoconfigure.liquibase.LiquibaseAutoConfiguration,\
org.springframework.boot.autoconfigure.sql.init.SqlInitializationAutoConfiguration,\
org.springframework.boot.autoconfigure.transaction.TransactionAutoConfiguration org.springframework.boot.autoconfigure.transaction.TransactionAutoConfiguration
# AutoConfigureTestDatabase auto-configuration imports # AutoConfigureTestDatabase auto-configuration imports
...@@ -93,6 +96,7 @@ org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration,\ ...@@ -93,6 +96,7 @@ org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration,\
org.springframework.boot.autoconfigure.jdbc.DataSourceTransactionManagerAutoConfiguration,\ org.springframework.boot.autoconfigure.jdbc.DataSourceTransactionManagerAutoConfiguration,\
org.springframework.boot.autoconfigure.jooq.JooqAutoConfiguration,\ org.springframework.boot.autoconfigure.jooq.JooqAutoConfiguration,\
org.springframework.boot.autoconfigure.liquibase.LiquibaseAutoConfiguration,\ org.springframework.boot.autoconfigure.liquibase.LiquibaseAutoConfiguration,\
org.springframework.boot.autoconfigure.sql.init.SqlInitializationAutoConfiguration,\
org.springframework.boot.autoconfigure.transaction.TransactionAutoConfiguration org.springframework.boot.autoconfigure.transaction.TransactionAutoConfiguration
# AutoConfigureJson auto-configuration imports # AutoConfigureJson auto-configuration imports
......
/* /*
* Copyright 2012-2019 the original author or authors. * Copyright 2012-2021 the original author or authors.
* *
* Licensed under the Apache License, Version 2.0 (the "License"); * Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License. * you may not use this file except in compliance with the License.
...@@ -39,7 +39,7 @@ import static org.springframework.boot.test.autoconfigure.AutoConfigurationImpor ...@@ -39,7 +39,7 @@ import static org.springframework.boot.test.autoconfigure.AutoConfigurationImpor
*/ */
@DataJdbcTest @DataJdbcTest
@TestPropertySource( @TestPropertySource(
properties = "spring.datasource.schema=classpath:org/springframework/boot/test/autoconfigure/data/jdbc/schema.sql") properties = "spring.sql.init.schemaLocations=classpath:org/springframework/boot/test/autoconfigure/data/jdbc/schema.sql")
class DataJdbcTestIntegrationTests { class DataJdbcTestIntegrationTests {
@Autowired @Autowired
......
/* /*
* Copyright 2012-2019 the original author or authors. * Copyright 2012-2021 the original author or authors.
* *
* Licensed under the Apache License, Version 2.0 (the "License"); * Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License. * you may not use this file except in compliance with the License.
...@@ -41,7 +41,7 @@ import static org.springframework.boot.test.autoconfigure.AutoConfigurationImpor ...@@ -41,7 +41,7 @@ import static org.springframework.boot.test.autoconfigure.AutoConfigurationImpor
*/ */
@JdbcTest @JdbcTest
@TestPropertySource( @TestPropertySource(
properties = "spring.datasource.schema=classpath:org/springframework/boot/test/autoconfigure/jdbc/schema.sql") properties = "spring.sql.init.schemaLocations=classpath:org/springframework/boot/test/autoconfigure/jdbc/schema.sql")
class JdbcTestIntegrationTests { class JdbcTestIntegrationTests {
@Autowired @Autowired
......
/* /*
* Copyright 2012-2019 the original author or authors. * Copyright 2012-2021 the original author or authors.
* *
* Licensed under the Apache License, Version 2.0 (the "License"); * Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License. * you may not use this file except in compliance with the License.
...@@ -32,7 +32,7 @@ import static org.assertj.core.api.Assertions.assertThat; ...@@ -32,7 +32,7 @@ import static org.assertj.core.api.Assertions.assertThat;
*/ */
@JdbcTest(includeFilters = @Filter(Repository.class)) @JdbcTest(includeFilters = @Filter(Repository.class))
@TestPropertySource( @TestPropertySource(
properties = "spring.datasource.schema=classpath:org/springframework/boot/test/autoconfigure/jdbc/schema.sql") properties = "spring.sql.init.schemaLocations=classpath:org/springframework/boot/test/autoconfigure/jdbc/schema.sql")
class JdbcTestWithIncludeFilterIntegrationTests { class JdbcTestWithIncludeFilterIntegrationTests {
@Autowired @Autowired
......
/* /*
* Copyright 2012-2020 the original author or authors. * Copyright 2012-2021 the original author or authors.
* *
* Licensed under the Apache License, Version 2.0 (the "License"); * Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License. * you may not use this file except in compliance with the License.
...@@ -32,8 +32,7 @@ import static org.assertj.core.api.Assertions.assertThat; ...@@ -32,8 +32,7 @@ import static org.assertj.core.api.Assertions.assertThat;
* @author Andy Wilkinson * @author Andy Wilkinson
*/ */
@DataJpaTest @DataJpaTest
@TestPropertySource( @TestPropertySource(properties = { "spring.sql.init.username=alice", "spring.sql.init.password=secret" })
properties = { "spring.datasource.schema-username=alice", "spring.datasource.schema-password=secret" })
class DataJpaTestSchemaCredentialsIntegrationTests { class DataJpaTestSchemaCredentialsIntegrationTests {
@Autowired @Autowired
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment