diff --git a/spring-test/src/main/java/org/springframework/test/context/jdbc/DatabaseInitializer.java b/spring-test/src/main/java/org/springframework/test/context/jdbc/Sql.java similarity index 90% rename from spring-test/src/main/java/org/springframework/test/context/jdbc/DatabaseInitializer.java rename to spring-test/src/main/java/org/springframework/test/context/jdbc/Sql.java index 5505eed8340..7668048fc4a 100644 --- a/spring-test/src/main/java/org/springframework/test/context/jdbc/DatabaseInitializer.java +++ b/spring-test/src/main/java/org/springframework/test/context/jdbc/Sql.java @@ -29,23 +29,24 @@ import static java.lang.annotation.ElementType.*; import static java.lang.annotation.RetentionPolicy.*; /** - * {@code @DatabaseInitializer} is used to annotate a test class or test method - * to configure SQL scripts to be executed against a given database during - * integration tests. + * {@code @Sql} is used to annotate a test class or test method to configure SQL + * scripts to be executed against a given database during integration tests. * *

Method-level declarations override class-level declarations. * - *

Script execution is performed by the {@link DatabaseInitializerTestExecutionListener}, + *

Script execution is performed by the {@link SqlScriptsTestExecutionListener}, * which is enabled by default. * - *

The configuration options provided by this annotation are a superset of - * those provided by the {@code } XML namespace - * element. Consult the Javadoc of individual attributes for details. + *

The configuration options provided by this annotation are equivalent to + * those supported by {@link ScriptUtils} and {@link org.springframework.jdbc.datasource.init.ResourceDatabasePopulator + * ResourceDatabasePopulator} but are a superset of those provided by the + * {@code } XML namespace element. Consult the + * Javadoc of individual attributes in this annotation for details. * - *

Beginning with Java 8, {@code @DatabaseInitializer} can be used as a + *

Beginning with Java 8, {@code @Sql} can be used as a * {@linkplain Repeatable repeatable} annotation. Otherwise, - * {@link DatabaseInitializers @DatabaseInitializers} can be used as an explicit - * container for declaring multiple instances of {@code @DatabaseInitializer}. + * {@link SqlGroup @SqlGroup} can be used as an explicit container for declaring + * multiple instances of {@code @Sql}. * *

This annotation may be used as a meta-annotation to create custom * composed annotations; however, attribute overrides are not currently @@ -55,8 +56,8 @@ import static java.lang.annotation.RetentionPolicy.*; * @author Sam Brannen * @author Tadaya Tsuyukubo * @since 4.1 - * @see DatabaseInitializers - * @see DatabaseInitializerTestExecutionListener + * @see SqlGroup + * @see SqlScriptsTestExecutionListener * @see org.springframework.transaction.annotation.Transactional * @see org.springframework.test.context.transaction.TransactionalTestExecutionListener * @see org.springframework.jdbc.datasource.init.ResourceDatabasePopulator @@ -66,8 +67,8 @@ import static java.lang.annotation.RetentionPolicy.*; @Inherited @Retention(RUNTIME) @Target({ TYPE, METHOD }) -@Repeatable(DatabaseInitializers.class) -public @interface DatabaseInitializer { +@Repeatable(SqlGroup.class) +public @interface Sql { /** * Enumeration of phases that dictate when SQL scripts are executed. diff --git a/spring-test/src/main/java/org/springframework/test/context/jdbc/DatabaseInitializers.java b/spring-test/src/main/java/org/springframework/test/context/jdbc/SqlGroup.java similarity index 68% rename from spring-test/src/main/java/org/springframework/test/context/jdbc/DatabaseInitializers.java rename to spring-test/src/main/java/org/springframework/test/context/jdbc/SqlGroup.java index accb495bec4..1767543b5d7 100644 --- a/spring-test/src/main/java/org/springframework/test/context/jdbc/DatabaseInitializers.java +++ b/spring-test/src/main/java/org/springframework/test/context/jdbc/SqlGroup.java @@ -25,28 +25,26 @@ import static java.lang.annotation.ElementType.*; import static java.lang.annotation.RetentionPolicy.*; /** - * Container annotation that aggregates several {@link DatabaseInitializer} - * annotations. + * Container annotation that aggregates several {@link Sql @Sql} annotations. * - *

Can be used natively, declaring several nested {@link DatabaseInitializer} - * annotations. Can also be used in conjunction with Java 8's support for - * repeatable annotations, where {@code @DatabaseInitializer} can simply be - * declared several times on the same class or method, implicitly generating - * this container annotation. + *

Can be used natively, declaring several nested {@code @Sql} annotations. + * Can also be used in conjunction with Java 8's support for repeatable + * annotations, where {@code @Sql} can simply be declared several times on the + * same class or method, implicitly generating this container annotation. * *

This annotation may be used as a meta-annotation to create custom * composed annotations. * * @author Sam Brannen * @since 4.1 - * @see DatabaseInitializer + * @see Sql */ @Documented @Inherited @Retention(RUNTIME) @Target({ TYPE, METHOD }) -public @interface DatabaseInitializers { +public @interface SqlGroup { - DatabaseInitializer[] value(); + Sql[] value(); } diff --git a/spring-test/src/main/java/org/springframework/test/context/jdbc/DatabaseInitializerTestExecutionListener.java b/spring-test/src/main/java/org/springframework/test/context/jdbc/SqlScriptsTestExecutionListener.java similarity index 62% rename from spring-test/src/main/java/org/springframework/test/context/jdbc/DatabaseInitializerTestExecutionListener.java rename to spring-test/src/main/java/org/springframework/test/context/jdbc/SqlScriptsTestExecutionListener.java index 49b4922096f..1c8a82b31f2 100644 --- a/spring-test/src/main/java/org/springframework/test/context/jdbc/DatabaseInitializerTestExecutionListener.java +++ b/spring-test/src/main/java/org/springframework/test/context/jdbc/SqlScriptsTestExecutionListener.java @@ -28,7 +28,7 @@ import org.springframework.core.annotation.AnnotationUtils; import org.springframework.core.io.ClassPathResource; import org.springframework.jdbc.datasource.init.ResourceDatabasePopulator; import org.springframework.test.context.TestContext; -import org.springframework.test.context.jdbc.DatabaseInitializer.ExecutionPhase; +import org.springframework.test.context.jdbc.Sql.ExecutionPhase; import org.springframework.test.context.support.AbstractTestExecutionListener; import org.springframework.test.context.transaction.TestContextTransactionUtils; import org.springframework.test.context.util.TestContextResourceUtils; @@ -45,17 +45,20 @@ import org.springframework.util.ResourceUtils; /** * {@code TestExecutionListener} that provides support for executing SQL scripts - * configured via the {@link DatabaseInitializer @DatabaseInitializer} annotation. + * configured via the {@link Sql @Sql} annotation. * - *

SQL scripts will be executed {@linkplain #beforeTestMethod(TestContext) before} + *

Scripts will be executed {@linkplain #beforeTestMethod(TestContext) before} * or {@linkplain #afterTestMethod(TestContext) after} execution of the corresponding * {@linkplain java.lang.reflect.Method test method}, depending on the configured - * value of the {@link DatabaseInitializer#requireNewTransaction requireNewTransaction} - * flag. + * value of the {@link Sql#executionPhase executionPhase} flag. + * + *

Scripts will be executed either within an existing Spring-managed transaction + * or within a new, isolated transaction, depending on the configured value of the + * {@link Sql#requireNewTransaction requireNewTransaction} flag. * *

Script Resources

*

For details on default script detection and how explicit script locations - * are interpreted, see {@link DatabaseInitializer#scripts}. + * are interpreted, see {@link Sql#scripts}. * *

Required Spring Beans

*

A {@link DataSource} and {@link PlatformTransactionManager} must be defined @@ -66,106 +69,105 @@ import org.springframework.util.ResourceUtils; * * @author Sam Brannen * @since 4.1 - * @see DatabaseInitializer - * @see DatabaseInitializers + * @see Sql + * @see SqlGroup + * @see org.springframework.test.context.transaction.TestContextTransactionUtils * @see org.springframework.test.context.transaction.TransactionalTestExecutionListener * @see org.springframework.jdbc.datasource.init.ResourceDatabasePopulator * @see org.springframework.jdbc.datasource.init.ScriptUtils */ -public class DatabaseInitializerTestExecutionListener extends AbstractTestExecutionListener { +public class SqlScriptsTestExecutionListener extends AbstractTestExecutionListener { - private static final Log logger = LogFactory.getLog(DatabaseInitializerTestExecutionListener.class); + private static final Log logger = LogFactory.getLog(SqlScriptsTestExecutionListener.class); /** - * Execute SQL scripts configured via {@link DatabaseInitializer @DatabaseInitializer} - * for the supplied {@link TestContext} before the current test method. + * Execute SQL scripts configured via {@link Sql @Sql} for the supplied + * {@link TestContext} before the current test method. */ @Override public void beforeTestMethod(TestContext testContext) throws Exception { - executeDatabaseInitializers(testContext, ExecutionPhase.BEFORE_TEST_METHOD); + executeSqlScripts(testContext, ExecutionPhase.BEFORE_TEST_METHOD); } /** - * Execute SQL scripts configured via {@link DatabaseInitializer @DatabaseInitializer} - * for the supplied {@link TestContext} after the current test method. + * Execute SQL scripts configured via {@link Sql @Sql} for the supplied + * {@link TestContext} after the current test method. */ @Override public void afterTestMethod(TestContext testContext) throws Exception { - executeDatabaseInitializers(testContext, ExecutionPhase.AFTER_TEST_METHOD); + executeSqlScripts(testContext, ExecutionPhase.AFTER_TEST_METHOD); } /** - * Execute SQL scripts configured via {@link DatabaseInitializer @DatabaseInitializer} - * for the supplied {@link TestContext} and {@link ExecutionPhase}. + * Execute SQL scripts configured via {@link Sql @Sql} for the supplied + * {@link TestContext} and {@link ExecutionPhase}. */ - private void executeDatabaseInitializers(TestContext testContext, ExecutionPhase executionPhase) throws Exception { + private void executeSqlScripts(TestContext testContext, ExecutionPhase executionPhase) throws Exception { boolean classLevel = false; - Set databaseInitializers = AnnotationUtils.getRepeatableAnnotation( - testContext.getTestMethod(), DatabaseInitializers.class, DatabaseInitializer.class); - if (databaseInitializers.isEmpty()) { - databaseInitializers = AnnotationUtils.getRepeatableAnnotation(testContext.getTestClass(), - DatabaseInitializers.class, DatabaseInitializer.class); - if (!databaseInitializers.isEmpty()) { + Set sqlAnnotations = AnnotationUtils.getRepeatableAnnotation(testContext.getTestMethod(), SqlGroup.class, + Sql.class); + if (sqlAnnotations.isEmpty()) { + sqlAnnotations = AnnotationUtils.getRepeatableAnnotation(testContext.getTestClass(), SqlGroup.class, + Sql.class); + if (!sqlAnnotations.isEmpty()) { classLevel = true; } } - for (DatabaseInitializer databaseInitializer : databaseInitializers) { - executeDatabaseInitializer(databaseInitializer, executionPhase, testContext, classLevel); + for (Sql sql : sqlAnnotations) { + executeSqlScripts(sql, executionPhase, testContext, classLevel); } } /** - * Execute the SQL scripts configured via the supplied - * {@link DatabaseInitializer @DatabaseInitializer} for the given - * {@link ExecutionPhase} and {@link TestContext}. + * Execute the SQL scripts configured via the supplied {@link Sql @Sql} + * annotation for the given {@link ExecutionPhase} and {@link TestContext}. * *

Special care must be taken in order to properly support the - * {@link DatabaseInitializer#requireNewTransaction requireNewTransaction} + * {@link Sql#requireNewTransaction requireNewTransaction} * flag. * - * @param databaseInitializer the {@code @DatabaseInitializer} to parse + * @param sql the {@code @Sql} annotation to parse * @param executionPhase the current execution phase * @param testContext the current {@code TestContext} - * @param classLevel {@code true} if {@link DatabaseInitializer @DatabaseInitializer} - * was declared at the class level + * @param classLevel {@code true} if {@link Sql @Sql} was declared at the + * class level */ @SuppressWarnings("serial") - private void executeDatabaseInitializer(DatabaseInitializer databaseInitializer, ExecutionPhase executionPhase, - TestContext testContext, boolean classLevel) throws Exception { + private void executeSqlScripts(Sql sql, ExecutionPhase executionPhase, TestContext testContext, boolean classLevel) + throws Exception { if (logger.isDebugEnabled()) { - logger.debug(String.format("Processing %s for execution phase [%s] and test context %s.", - databaseInitializer, executionPhase, testContext)); + logger.debug(String.format("Processing %s for execution phase [%s] and test context %s.", sql, + executionPhase, testContext)); } - if (executionPhase != databaseInitializer.executionPhase()) { + if (executionPhase != sql.executionPhase()) { return; } final ResourceDatabasePopulator populator = new ResourceDatabasePopulator(); - populator.setSqlScriptEncoding(databaseInitializer.encoding()); - populator.setSeparator(databaseInitializer.separator()); - populator.setCommentPrefix(databaseInitializer.commentPrefix()); - populator.setBlockCommentStartDelimiter(databaseInitializer.blockCommentStartDelimiter()); - populator.setBlockCommentEndDelimiter(databaseInitializer.blockCommentEndDelimiter()); - populator.setContinueOnError(databaseInitializer.continueOnError()); - populator.setIgnoreFailedDrops(databaseInitializer.ignoreFailedDrops()); + populator.setSqlScriptEncoding(sql.encoding()); + populator.setSeparator(sql.separator()); + populator.setCommentPrefix(sql.commentPrefix()); + populator.setBlockCommentStartDelimiter(sql.blockCommentStartDelimiter()); + populator.setBlockCommentEndDelimiter(sql.blockCommentEndDelimiter()); + populator.setContinueOnError(sql.continueOnError()); + populator.setIgnoreFailedDrops(sql.ignoreFailedDrops()); - String[] scripts = getScripts(databaseInitializer, testContext, classLevel); + String[] scripts = getScripts(sql, testContext, classLevel); scripts = TestContextResourceUtils.convertToClasspathResourcePaths(testContext.getTestClass(), scripts); populator.setScripts(TestContextResourceUtils.convertToResources(testContext.getApplicationContext(), scripts)); if (logger.isDebugEnabled()) { logger.debug("Executing SQL scripts: " + ObjectUtils.nullSafeToString(scripts)); } - final DataSource dataSource = TestContextTransactionUtils.retrieveDataSource(testContext, - databaseInitializer.dataSource()); + final DataSource dataSource = TestContextTransactionUtils.retrieveDataSource(testContext, sql.dataSource()); final PlatformTransactionManager transactionManager = TestContextTransactionUtils.retrieveTransactionManager( - testContext, databaseInitializer.transactionManager()); + testContext, sql.transactionManager()); - int propagation = databaseInitializer.requireNewTransaction() ? TransactionDefinition.PROPAGATION_REQUIRES_NEW + int propagation = sql.requireNewTransaction() ? TransactionDefinition.PROPAGATION_REQUIRES_NEW : TransactionDefinition.PROPAGATION_REQUIRED; TransactionAttribute transactionAttribute = TestContextTransactionUtils.createDelegatingTransactionAttribute( @@ -180,9 +182,9 @@ public class DatabaseInitializerTestExecutionListener extends AbstractTestExecut }); } - private String[] getScripts(DatabaseInitializer databaseInitializer, TestContext testContext, boolean classLevel) { - String[] scripts = databaseInitializer.scripts(); - String[] value = databaseInitializer.value(); + private String[] getScripts(Sql sql, TestContext testContext, boolean classLevel) { + String[] scripts = sql.scripts(); + String[] value = sql.value(); boolean scriptsDeclared = !ObjectUtils.isEmpty(scripts); boolean valueDeclared = !ObjectUtils.isEmpty(value); @@ -190,9 +192,9 @@ public class DatabaseInitializerTestExecutionListener extends AbstractTestExecut String elementType = (classLevel ? "class" : "method"); String elementName = (classLevel ? testContext.getTestClass().getName() : testContext.getTestMethod().toString()); - String msg = String.format("Test %s [%s] has been configured with @DatabaseInitializer's 'value' [%s] " + String msg = String.format("Test %s [%s] has been configured with @Sql's 'value' [%s] " + "and 'scripts' [%s] attributes. Only one declaration of SQL script " - + "paths is permitted per @DatabaseInitializer annotation.", elementType, elementName, + + "paths is permitted per @Sql annotation.", elementType, elementName, ObjectUtils.nullSafeToString(value), ObjectUtils.nullSafeToString(scripts)); logger.error(msg); throw new IllegalStateException(msg); @@ -208,7 +210,7 @@ public class DatabaseInitializerTestExecutionListener extends AbstractTestExecut /** * Detect a default SQL script by implementing the algorithm defined in - * {@link DatabaseInitializer#scripts}. + * {@link Sql#scripts}. */ private String detectDefaultScript(TestContext testContext, boolean classLevel) { Class clazz = testContext.getTestClass(); @@ -234,7 +236,7 @@ public class DatabaseInitializerTestExecutionListener extends AbstractTestExecut } else { String msg = String.format("Could not detect default SQL script for test %s [%s]: " - + "%s does not exist. Either declare scripts via @DatabaseInitializer or make the " + + "%s does not exist. Either declare scripts via @Sql or make the " + "default SQL script available.", elementType, elementName, classPathResource); logger.error(msg); throw new IllegalStateException(msg); diff --git a/spring-test/src/main/java/org/springframework/test/context/junit4/AbstractTransactionalJUnit4SpringContextTests.java b/spring-test/src/main/java/org/springframework/test/context/junit4/AbstractTransactionalJUnit4SpringContextTests.java index 046a702cdc6..7744284eb31 100644 --- a/spring-test/src/main/java/org/springframework/test/context/junit4/AbstractTransactionalJUnit4SpringContextTests.java +++ b/spring-test/src/main/java/org/springframework/test/context/junit4/AbstractTransactionalJUnit4SpringContextTests.java @@ -26,7 +26,7 @@ import org.springframework.jdbc.core.JdbcTemplate; import org.springframework.jdbc.datasource.init.ResourceDatabasePopulator; import org.springframework.test.context.ContextConfiguration; import org.springframework.test.context.TestExecutionListeners; -import org.springframework.test.context.jdbc.DatabaseInitializerTestExecutionListener; +import org.springframework.test.context.jdbc.SqlScriptsTestExecutionListener; import org.springframework.test.context.transaction.TransactionalTestExecutionListener; import org.springframework.test.jdbc.JdbcTestUtils; import org.springframework.transaction.PlatformTransactionManager; @@ -64,7 +64,7 @@ import org.springframework.transaction.annotation.Transactional; * @see org.springframework.test.context.ContextConfiguration * @see org.springframework.test.context.TestExecutionListeners * @see org.springframework.test.context.transaction.TransactionalTestExecutionListener - * @see org.springframework.test.context.jdbc.DatabaseInitializerTestExecutionListener + * @see org.springframework.test.context.jdbc.SqlScriptsTestExecutionListener * @see org.springframework.test.context.transaction.TransactionConfiguration * @see org.springframework.transaction.annotation.Transactional * @see org.springframework.test.annotation.Rollback @@ -73,7 +73,7 @@ import org.springframework.transaction.annotation.Transactional; * @see org.springframework.test.jdbc.JdbcTestUtils * @see org.springframework.test.context.testng.AbstractTransactionalTestNGSpringContextTests */ -@TestExecutionListeners({ TransactionalTestExecutionListener.class, DatabaseInitializerTestExecutionListener.class }) +@TestExecutionListeners({ TransactionalTestExecutionListener.class, SqlScriptsTestExecutionListener.class }) @Transactional public abstract class AbstractTransactionalJUnit4SpringContextTests extends AbstractJUnit4SpringContextTests { diff --git a/spring-test/src/main/java/org/springframework/test/context/support/DefaultTestContextBootstrapper.java b/spring-test/src/main/java/org/springframework/test/context/support/DefaultTestContextBootstrapper.java index 1d3c9226a21..19d89b98717 100644 --- a/spring-test/src/main/java/org/springframework/test/context/support/DefaultTestContextBootstrapper.java +++ b/spring-test/src/main/java/org/springframework/test/context/support/DefaultTestContextBootstrapper.java @@ -38,7 +38,7 @@ import org.springframework.test.context.TestExecutionListener; *

  • {@link org.springframework.test.context.support.DependencyInjectionTestExecutionListener} *
  • {@link org.springframework.test.context.support.DirtiesContextTestExecutionListener} *
  • {@link org.springframework.test.context.transaction.TransactionalTestExecutionListener} - *
  • {@link org.springframework.test.context.jdbc.DatabaseInitializerTestExecutionListener} + *
  • {@link org.springframework.test.context.jdbc.SqlScriptsTestExecutionListener} * *
  • Uses {@link DelegatingSmartContextLoader} as the default {@link ContextLoader}. *
  • Builds a standard {@link MergedContextConfiguration}. @@ -53,7 +53,7 @@ public class DefaultTestContextBootstrapper extends AbstractTestContextBootstrap "org.springframework.test.context.support.DependencyInjectionTestExecutionListener", "org.springframework.test.context.support.DirtiesContextTestExecutionListener", "org.springframework.test.context.transaction.TransactionalTestExecutionListener", - "org.springframework.test.context.jdbc.DatabaseInitializerTestExecutionListener")); + "org.springframework.test.context.jdbc.SqlScriptsTestExecutionListener")); /** @@ -63,7 +63,7 @@ public class DefaultTestContextBootstrapper extends AbstractTestContextBootstrap *
  • {@link org.springframework.test.context.support.DependencyInjectionTestExecutionListener} *
  • {@link org.springframework.test.context.support.DirtiesContextTestExecutionListener} *
  • {@link org.springframework.test.context.transaction.TransactionalTestExecutionListener} - *
  • {@link org.springframework.test.context.jdbc.DatabaseInitializerTestExecutionListener} + *
  • {@link org.springframework.test.context.jdbc.SqlScriptsTestExecutionListener} * */ protected List getDefaultTestExecutionListenerClassNames() { diff --git a/spring-test/src/main/java/org/springframework/test/context/testng/AbstractTransactionalTestNGSpringContextTests.java b/spring-test/src/main/java/org/springframework/test/context/testng/AbstractTransactionalTestNGSpringContextTests.java index 56ed682718e..80bfd66e4af 100644 --- a/spring-test/src/main/java/org/springframework/test/context/testng/AbstractTransactionalTestNGSpringContextTests.java +++ b/spring-test/src/main/java/org/springframework/test/context/testng/AbstractTransactionalTestNGSpringContextTests.java @@ -25,7 +25,7 @@ import org.springframework.dao.DataAccessException; import org.springframework.jdbc.core.JdbcTemplate; import org.springframework.jdbc.datasource.init.ResourceDatabasePopulator; import org.springframework.test.context.TestExecutionListeners; -import org.springframework.test.context.jdbc.DatabaseInitializerTestExecutionListener; +import org.springframework.test.context.jdbc.SqlScriptsTestExecutionListener; import org.springframework.test.context.transaction.TransactionalTestExecutionListener; import org.springframework.test.jdbc.JdbcTestUtils; import org.springframework.transaction.PlatformTransactionManager; @@ -55,7 +55,7 @@ import org.springframework.transaction.annotation.Transactional; * @see org.springframework.test.context.ContextConfiguration * @see org.springframework.test.context.TestExecutionListeners * @see org.springframework.test.context.transaction.TransactionalTestExecutionListener - * @see org.springframework.test.context.jdbc.DatabaseInitializerTestExecutionListener + * @see org.springframework.test.context.jdbc.SqlScriptsTestExecutionListener * @see org.springframework.test.context.transaction.TransactionConfiguration * @see org.springframework.transaction.annotation.Transactional * @see org.springframework.test.annotation.Rollback @@ -64,7 +64,7 @@ import org.springframework.transaction.annotation.Transactional; * @see org.springframework.test.jdbc.JdbcTestUtils * @see org.springframework.test.context.junit4.AbstractTransactionalJUnit4SpringContextTests */ -@TestExecutionListeners({ TransactionalTestExecutionListener.class, DatabaseInitializerTestExecutionListener.class }) +@TestExecutionListeners({ TransactionalTestExecutionListener.class, SqlScriptsTestExecutionListener.class }) @Transactional public abstract class AbstractTransactionalTestNGSpringContextTests extends AbstractTestNGSpringContextTests { diff --git a/spring-test/src/test/java/org/springframework/test/context/jdbc/CustomScriptSyntaxDatabaseInitializerTests.java b/spring-test/src/test/java/org/springframework/test/context/jdbc/CustomScriptSyntaxSqlScriptsTests.java similarity index 84% rename from spring-test/src/test/java/org/springframework/test/context/jdbc/CustomScriptSyntaxDatabaseInitializerTests.java rename to spring-test/src/test/java/org/springframework/test/context/jdbc/CustomScriptSyntaxSqlScriptsTests.java index 3d4b7b0b612..ac46634df59 100644 --- a/spring-test/src/test/java/org/springframework/test/context/jdbc/CustomScriptSyntaxDatabaseInitializerTests.java +++ b/spring-test/src/test/java/org/springframework/test/context/jdbc/CustomScriptSyntaxSqlScriptsTests.java @@ -25,19 +25,19 @@ import static org.junit.Assert.*; /** * Integration tests that verify support for custom SQL script syntax - * configured via {@link DatabaseInitializer @DatabaseInitializer}. + * configured via {@link Sql @Sql}. * * @author Sam Brannen * @since 4.1 */ @ContextConfiguration(classes = EmptyDatabaseConfig.class) @DirtiesContext -public class CustomScriptSyntaxDatabaseInitializerTests extends AbstractTransactionalJUnit4SpringContextTests { +public class CustomScriptSyntaxSqlScriptsTests extends AbstractTransactionalJUnit4SpringContextTests { @Test - @DatabaseInitializers({// - @DatabaseInitializer("schema.sql"),// - @DatabaseInitializer(// + @SqlGroup({// + @Sql("schema.sql"),// + @Sql(// scripts = "data-add-users-with-custom-script-syntax.sql",// commentPrefix = "`",// blockCommentStartDelimiter = "#$",// diff --git a/spring-test/src/test/java/org/springframework/test/context/jdbc/DefaultScriptDetectionDatabaseInitializerTests.java b/spring-test/src/test/java/org/springframework/test/context/jdbc/DefaultScriptDetectionSqlScriptsTests.java similarity index 89% rename from spring-test/src/test/java/org/springframework/test/context/jdbc/DefaultScriptDetectionDatabaseInitializerTests.java rename to spring-test/src/test/java/org/springframework/test/context/jdbc/DefaultScriptDetectionSqlScriptsTests.java index 86d4fc80e66..31f466a56b1 100644 --- a/spring-test/src/test/java/org/springframework/test/context/jdbc/DefaultScriptDetectionDatabaseInitializerTests.java +++ b/spring-test/src/test/java/org/springframework/test/context/jdbc/DefaultScriptDetectionSqlScriptsTests.java @@ -30,9 +30,9 @@ import static org.junit.Assert.*; * @since 4.1 */ @ContextConfiguration(classes = EmptyDatabaseConfig.class) -@DatabaseInitializer +@Sql @DirtiesContext -public class DefaultScriptDetectionDatabaseInitializerTests extends AbstractTransactionalJUnit4SpringContextTests { +public class DefaultScriptDetectionSqlScriptsTests extends AbstractTransactionalJUnit4SpringContextTests { @Test public void classLevel() { @@ -40,7 +40,7 @@ public class DefaultScriptDetectionDatabaseInitializerTests extends AbstractTran } @Test - @DatabaseInitializer + @Sql public void methodLevel() { assertNumUsers(3); } diff --git a/spring-test/src/test/java/org/springframework/test/context/jdbc/DefaultScriptDetectionDatabaseInitializerTests.methodLevel.sql b/spring-test/src/test/java/org/springframework/test/context/jdbc/DefaultScriptDetectionSqlScriptsTests.methodLevel.sql similarity index 100% rename from spring-test/src/test/java/org/springframework/test/context/jdbc/DefaultScriptDetectionDatabaseInitializerTests.methodLevel.sql rename to spring-test/src/test/java/org/springframework/test/context/jdbc/DefaultScriptDetectionSqlScriptsTests.methodLevel.sql diff --git a/spring-test/src/test/java/org/springframework/test/context/jdbc/DefaultScriptDetectionDatabaseInitializerTests.sql b/spring-test/src/test/java/org/springframework/test/context/jdbc/DefaultScriptDetectionSqlScriptsTests.sql similarity index 100% rename from spring-test/src/test/java/org/springframework/test/context/jdbc/DefaultScriptDetectionDatabaseInitializerTests.sql rename to spring-test/src/test/java/org/springframework/test/context/jdbc/DefaultScriptDetectionSqlScriptsTests.sql diff --git a/spring-test/src/test/java/org/springframework/test/context/jdbc/MetaAnnotationDatabaseInitializerTests.java b/spring-test/src/test/java/org/springframework/test/context/jdbc/MetaAnnotationSqlScriptsTests.java similarity index 68% rename from spring-test/src/test/java/org/springframework/test/context/jdbc/MetaAnnotationDatabaseInitializerTests.java rename to spring-test/src/test/java/org/springframework/test/context/jdbc/MetaAnnotationSqlScriptsTests.java index b309569c34f..50672657a9f 100644 --- a/spring-test/src/test/java/org/springframework/test/context/jdbc/MetaAnnotationDatabaseInitializerTests.java +++ b/spring-test/src/test/java/org/springframework/test/context/jdbc/MetaAnnotationSqlScriptsTests.java @@ -29,26 +29,25 @@ import static java.lang.annotation.RetentionPolicy.*; import static org.junit.Assert.*; /** - * Integration tests that verify support for using - * {@link DatabaseInitializer @DatabaseInitializer} and - * {@link DatabaseInitializers @DatabaseInitializers} as a meta-annotations. + * Integration tests that verify support for using {@link Sql @Sql} and + * {@link SqlGroup @SqlGroup} as a meta-annotations. * * @author Sam Brannen * @since 4.1 */ @ContextConfiguration(classes = EmptyDatabaseConfig.class) @DirtiesContext -public class MetaAnnotationDatabaseInitializerTests extends AbstractTransactionalJUnit4SpringContextTests { +public class MetaAnnotationSqlScriptsTests extends AbstractTransactionalJUnit4SpringContextTests { @Test - @MetaDbInitializer - public void metaDatabaseInitializer() { + @MetaSql + public void metaSqlAnnotation() { assertNumUsers(1); } @Test - @MetaDbInitializers - public void metaDatabaseInitializers() { + @MetaSqlGroup + public void metaSqlGroupAnnotation() { assertNumUsers(1); } @@ -57,20 +56,16 @@ public class MetaAnnotationDatabaseInitializerTests extends AbstractTransactiona } - @DatabaseInitializer({ "drop-schema.sql", "schema.sql", "data.sql" }) + @Sql({ "drop-schema.sql", "schema.sql", "data.sql" }) @Retention(RUNTIME) @Target(METHOD) - static @interface MetaDbInitializer { + static @interface MetaSql { } - @DatabaseInitializers({// - @DatabaseInitializer("drop-schema.sql"),// - @DatabaseInitializer("schema.sql"),// - @DatabaseInitializer("data.sql") // - }) + @SqlGroup({ @Sql("drop-schema.sql"), @Sql("schema.sql"), @Sql("data.sql") }) @Retention(RUNTIME) @Target(METHOD) - static @interface MetaDbInitializers { + static @interface MetaSqlGroup { } } diff --git a/spring-test/src/test/java/org/springframework/test/context/jdbc/MultipleDataSourcesAndTransactionManagersDatabaseInitializerTests.java b/spring-test/src/test/java/org/springframework/test/context/jdbc/MultipleDataSourcesAndTransactionManagersSqlScriptsTests.java similarity index 84% rename from spring-test/src/test/java/org/springframework/test/context/jdbc/MultipleDataSourcesAndTransactionManagersDatabaseInitializerTests.java rename to spring-test/src/test/java/org/springframework/test/context/jdbc/MultipleDataSourcesAndTransactionManagersSqlScriptsTests.java index 138a81be322..f1bf333e7de 100644 --- a/spring-test/src/test/java/org/springframework/test/context/jdbc/MultipleDataSourcesAndTransactionManagersDatabaseInitializerTests.java +++ b/spring-test/src/test/java/org/springframework/test/context/jdbc/MultipleDataSourcesAndTransactionManagersSqlScriptsTests.java @@ -34,17 +34,17 @@ import org.springframework.transaction.PlatformTransactionManager; import static org.junit.Assert.*; /** - * Integration tests for {@link DatabaseInitializer @DatabaseInitializer} that - * verify support for multiple {@link DataSource}s and {@link PlatformTransactionManager}s. + * Integration tests for {@link Sql @Sql} that verify support for multiple + * {@link DataSource}s and {@link PlatformTransactionManager}s. * * @author Sam Brannen * @since 4.1 - * @see MultipleDataSourcesAndTransactionManagersTransactionalDatabaseInitializerTests + * @see MultipleDataSourcesAndTransactionManagersTransactionalSqlScriptsTests */ @RunWith(SpringJUnit4ClassRunner.class) @ContextConfiguration @DirtiesContext -public class MultipleDataSourcesAndTransactionManagersDatabaseInitializerTests { +public class MultipleDataSourcesAndTransactionManagersSqlScriptsTests { @Autowired private DataSource dataSource1; @@ -54,13 +54,13 @@ public class MultipleDataSourcesAndTransactionManagersDatabaseInitializerTests { @Test - @DatabaseInitializer(scripts = "data-add-dogbert.sql", dataSource = "dataSource1", transactionManager = "txMgr1") + @Sql(scripts = "data-add-dogbert.sql", dataSource = "dataSource1", transactionManager = "txMgr1") public void database1() { assertUsersExist(new JdbcTemplate(dataSource1), "Dilbert", "Dogbert"); } @Test - @DatabaseInitializer(scripts = "data-add-catbert.sql", dataSource = "dataSource2", transactionManager = "txMgr2") + @Sql(scripts = "data-add-catbert.sql", dataSource = "dataSource2", transactionManager = "txMgr2") public void database2() { assertUsersExist(new JdbcTemplate(dataSource2), "Dilbert", "Catbert"); } diff --git a/spring-test/src/test/java/org/springframework/test/context/jdbc/MultipleDataSourcesAndTransactionManagersTransactionalDatabaseInitializerTests.java b/spring-test/src/test/java/org/springframework/test/context/jdbc/MultipleDataSourcesAndTransactionManagersTransactionalSqlScriptsTests.java similarity index 92% rename from spring-test/src/test/java/org/springframework/test/context/jdbc/MultipleDataSourcesAndTransactionManagersTransactionalDatabaseInitializerTests.java rename to spring-test/src/test/java/org/springframework/test/context/jdbc/MultipleDataSourcesAndTransactionManagersTransactionalSqlScriptsTests.java index a76af542472..1b04a31a07b 100644 --- a/spring-test/src/test/java/org/springframework/test/context/jdbc/MultipleDataSourcesAndTransactionManagersTransactionalDatabaseInitializerTests.java +++ b/spring-test/src/test/java/org/springframework/test/context/jdbc/MultipleDataSourcesAndTransactionManagersTransactionalSqlScriptsTests.java @@ -35,7 +35,7 @@ import org.springframework.transaction.annotation.Transactional; import static org.junit.Assert.*; /** - * Exact copy of {@link MultipleDataSourcesAndTransactionManagersDatabaseInitializerTests}, + * Exact copy of {@link MultipleDataSourcesAndTransactionManagersSqlScriptsTests}, * except that the test methods are transactional. * * @author Sam Brannen @@ -44,7 +44,7 @@ import static org.junit.Assert.*; @RunWith(SpringJUnit4ClassRunner.class) @ContextConfiguration @DirtiesContext -public class MultipleDataSourcesAndTransactionManagersTransactionalDatabaseInitializerTests { +public class MultipleDataSourcesAndTransactionManagersTransactionalSqlScriptsTests { @Autowired private DataSource dataSource1; @@ -55,14 +55,14 @@ public class MultipleDataSourcesAndTransactionManagersTransactionalDatabaseIniti @Test @Transactional("txMgr1") - @DatabaseInitializer(scripts = "data-add-dogbert.sql", dataSource = "dataSource1", transactionManager = "txMgr1") + @Sql(scripts = "data-add-dogbert.sql", dataSource = "dataSource1", transactionManager = "txMgr1") public void database1() { assertUsersExist(new JdbcTemplate(dataSource1), "Dilbert", "Dogbert"); } @Test @Transactional("txMgr2") - @DatabaseInitializer(scripts = "data-add-catbert.sql", dataSource = "dataSource2", transactionManager = "txMgr2") + @Sql(scripts = "data-add-catbert.sql", dataSource = "dataSource2", transactionManager = "txMgr2") public void database2() { assertUsersExist(new JdbcTemplate(dataSource2), "Dilbert", "Catbert"); } diff --git a/spring-test/src/test/java/org/springframework/test/context/jdbc/NonTransactionalDatabaseInitializerTests.java b/spring-test/src/test/java/org/springframework/test/context/jdbc/NonTransactionalSqlScriptsTests.java similarity index 85% rename from spring-test/src/test/java/org/springframework/test/context/jdbc/NonTransactionalDatabaseInitializerTests.java rename to spring-test/src/test/java/org/springframework/test/context/jdbc/NonTransactionalSqlScriptsTests.java index 4ebd8777462..51740e08974 100644 --- a/spring-test/src/test/java/org/springframework/test/context/jdbc/NonTransactionalDatabaseInitializerTests.java +++ b/spring-test/src/test/java/org/springframework/test/context/jdbc/NonTransactionalSqlScriptsTests.java @@ -32,9 +32,8 @@ import org.springframework.test.jdbc.JdbcTestUtils; import static org.junit.Assert.*; /** - * Integration tests which verify that scripts executed via - * {@link DatabaseInitializer @DatabaseInitializer} will persist between - * non-transactional test methods. + * Integration tests which verify that scripts executed via {@link Sql @Sql} + * will persist between non-transactional test methods. * * @author Sam Brannen * @since 4.1 @@ -42,9 +41,9 @@ import static org.junit.Assert.*; @RunWith(SpringJUnit4ClassRunner.class) @FixMethodOrder(MethodSorters.NAME_ASCENDING) @ContextConfiguration(classes = EmptyDatabaseConfig.class) -@DatabaseInitializer({ "schema.sql", "data.sql" }) +@Sql({ "schema.sql", "data.sql" }) @DirtiesContext -public class NonTransactionalDatabaseInitializerTests { +public class NonTransactionalSqlScriptsTests { protected JdbcTemplate jdbcTemplate; @@ -61,7 +60,7 @@ public class NonTransactionalDatabaseInitializerTests { } @Test - @DatabaseInitializers(@DatabaseInitializer("data-add-dogbert.sql")) + @Sql("data-add-dogbert.sql") // test##_ prefix is required for @FixMethodOrder. public void test02_methodLevelScripts() { assertNumUsers(2); diff --git a/spring-test/src/test/java/org/springframework/test/context/jdbc/PopulatedSchemaTransactionalDatabaseInitializerTests.java b/spring-test/src/test/java/org/springframework/test/context/jdbc/PopulatedSchemaTransactionalSqlScriptsTests.java similarity index 86% rename from spring-test/src/test/java/org/springframework/test/context/jdbc/PopulatedSchemaTransactionalDatabaseInitializerTests.java rename to spring-test/src/test/java/org/springframework/test/context/jdbc/PopulatedSchemaTransactionalSqlScriptsTests.java index b615f6cf4f3..9d6ca3dd86a 100644 --- a/spring-test/src/test/java/org/springframework/test/context/jdbc/PopulatedSchemaTransactionalDatabaseInitializerTests.java +++ b/spring-test/src/test/java/org/springframework/test/context/jdbc/PopulatedSchemaTransactionalSqlScriptsTests.java @@ -27,14 +27,14 @@ import static org.junit.Assert.*; /** * Transactional integration tests that verify rollback semantics for - * {@link DatabaseInitializer @DatabaseInitializer} support. + * {@link Sql @Sql} support. * * @author Sam Brannen * @since 4.1 */ @ContextConfiguration(classes = PopulatedSchemaDatabaseConfig.class) @DirtiesContext -public class PopulatedSchemaTransactionalDatabaseInitializerTests extends AbstractTransactionalJUnit4SpringContextTests { +public class PopulatedSchemaTransactionalSqlScriptsTests extends AbstractTransactionalJUnit4SpringContextTests { @BeforeTransaction @AfterTransaction @@ -43,7 +43,7 @@ public class PopulatedSchemaTransactionalDatabaseInitializerTests extends Abstra } @Test - @DatabaseInitializers(@DatabaseInitializer("data-add-dogbert.sql")) + @SqlGroup(@Sql("data-add-dogbert.sql")) public void methodLevelScripts() { assertNumUsers(1); } diff --git a/spring-test/src/test/java/org/springframework/test/context/jdbc/RequiresNewTransactionDatabaseInitializerTests.java b/spring-test/src/test/java/org/springframework/test/context/jdbc/RequiresNewTransactionSqlScriptsTests.java similarity index 85% rename from spring-test/src/test/java/org/springframework/test/context/jdbc/RequiresNewTransactionDatabaseInitializerTests.java rename to spring-test/src/test/java/org/springframework/test/context/jdbc/RequiresNewTransactionSqlScriptsTests.java index 31e5d353535..c15a2e72f58 100644 --- a/spring-test/src/test/java/org/springframework/test/context/jdbc/RequiresNewTransactionDatabaseInitializerTests.java +++ b/spring-test/src/test/java/org/springframework/test/context/jdbc/RequiresNewTransactionSqlScriptsTests.java @@ -27,14 +27,14 @@ import static org.junit.Assert.*; /** * Transactional integration tests that verify commit semantics for - * {@link DatabaseInitializer#requireNewTransaction}. + * {@link Sql#requireNewTransaction}. * * @author Sam Brannen * @since 4.1 */ @ContextConfiguration(classes = PopulatedSchemaDatabaseConfig.class) @DirtiesContext -public class RequiresNewTransactionDatabaseInitializerTests extends AbstractTransactionalJUnit4SpringContextTests { +public class RequiresNewTransactionSqlScriptsTests extends AbstractTransactionalJUnit4SpringContextTests { @BeforeTransaction public void beforeTransaction() { @@ -42,7 +42,7 @@ public class RequiresNewTransactionDatabaseInitializerTests extends AbstractTran } @Test - @DatabaseInitializers(@DatabaseInitializer(scripts = "data-add-dogbert.sql", requireNewTransaction = true)) + @SqlGroup(@Sql(scripts = "data-add-dogbert.sql", requireNewTransaction = true)) public void methodLevelScripts() { assertNumUsers(1); } diff --git a/spring-test/src/test/java/org/springframework/test/context/jdbc/DatabaseInitializerTestExecutionListenerTests.java b/spring-test/src/test/java/org/springframework/test/context/jdbc/SqlScriptsTestExecutionListenerTests.java similarity index 88% rename from spring-test/src/test/java/org/springframework/test/context/jdbc/DatabaseInitializerTestExecutionListenerTests.java rename to spring-test/src/test/java/org/springframework/test/context/jdbc/SqlScriptsTestExecutionListenerTests.java index 16c2e923a5c..58d2a6d60d8 100644 --- a/spring-test/src/test/java/org/springframework/test/context/jdbc/DatabaseInitializerTestExecutionListenerTests.java +++ b/spring-test/src/test/java/org/springframework/test/context/jdbc/SqlScriptsTestExecutionListenerTests.java @@ -24,14 +24,14 @@ import static org.junit.Assert.*; import static org.mockito.Mockito.*; /** - * Unit tests for {@link DatabaseInitializerTestExecutionListener}. + * Unit tests for {@link SqlScriptsTestExecutionListener}. * * @author Sam Brannen * @since 4.1 */ -public class DatabaseInitializerTestExecutionListenerTests { +public class SqlScriptsTestExecutionListenerTests { - private final DatabaseInitializerTestExecutionListener listener = new DatabaseInitializerTestExecutionListener(); + private final SqlScriptsTestExecutionListener listener = new SqlScriptsTestExecutionListener(); private final TestContext testContext = mock(TestContext.class); @@ -76,7 +76,7 @@ public class DatabaseInitializerTestExecutionListenerTests { // ------------------------------------------------------------------------- - @DatabaseInitializer + @Sql static class MissingValueAndScriptsAtClassLevel { public void foo() { @@ -85,14 +85,14 @@ public class DatabaseInitializerTestExecutionListenerTests { static class MissingValueAndScriptsAtMethodLevel { - @DatabaseInitializer + @Sql public void foo() { } } static class ValueAndScriptsDeclared { - @DatabaseInitializer(value = "foo", scripts = "bar") + @Sql(value = "foo", scripts = "bar") public void valueAndScriptsDeclared() { } } diff --git a/spring-test/src/test/java/org/springframework/test/context/jdbc/TransactionalAfterTestMethodDatabaseInitializerTests.java b/spring-test/src/test/java/org/springframework/test/context/jdbc/TransactionalAfterTestMethodSqlScriptsTests.java similarity index 76% rename from spring-test/src/test/java/org/springframework/test/context/jdbc/TransactionalAfterTestMethodDatabaseInitializerTests.java rename to spring-test/src/test/java/org/springframework/test/context/jdbc/TransactionalAfterTestMethodSqlScriptsTests.java index 632864da18a..6f6f58cd5fb 100644 --- a/spring-test/src/test/java/org/springframework/test/context/jdbc/TransactionalAfterTestMethodDatabaseInitializerTests.java +++ b/spring-test/src/test/java/org/springframework/test/context/jdbc/TransactionalAfterTestMethodSqlScriptsTests.java @@ -24,15 +24,16 @@ import org.junit.runners.MethodSorters; import org.springframework.jdbc.BadSqlGrammarException; import org.springframework.test.annotation.DirtiesContext; import org.springframework.test.context.ContextConfiguration; -import org.springframework.test.context.jdbc.DatabaseInitializer.ExecutionPhase; +import org.springframework.test.context.jdbc.Sql.ExecutionPhase; import org.springframework.test.context.junit4.AbstractTransactionalJUnit4SpringContextTests; import org.springframework.test.context.transaction.AfterTransaction; import static org.junit.Assert.*; +import static org.springframework.test.context.jdbc.Sql.ExecutionPhase.*; /** - * Transactional integration tests for {@link DatabaseInitializer @DatabaseInitializer} - * that verify proper support for {@link ExecutionPhase#AFTER_TEST_METHOD}. + * Transactional integration tests for {@link Sql @Sql} that verify proper + * support for {@link ExecutionPhase#AFTER_TEST_METHOD}. * * @author Sam Brannen * @since 4.1 @@ -40,7 +41,7 @@ import static org.junit.Assert.*; @FixMethodOrder(MethodSorters.NAME_ASCENDING) @ContextConfiguration(classes = EmptyDatabaseConfig.class) @DirtiesContext -public class TransactionalAfterTestMethodDatabaseInitializerTests extends AbstractTransactionalJUnit4SpringContextTests { +public class TransactionalAfterTestMethodSqlScriptsTests extends AbstractTransactionalJUnit4SpringContextTests { @Rule public TestName testName = new TestName(); @@ -60,9 +61,9 @@ public class TransactionalAfterTestMethodDatabaseInitializerTests extends Abstra } @Test - @DatabaseInitializers({// - @DatabaseInitializer({ "schema.sql", "data.sql" }),// - @DatabaseInitializer(scripts = "drop-schema.sql", executionPhase = ExecutionPhase.AFTER_TEST_METHOD) // + @SqlGroup({// + @Sql({ "schema.sql", "data.sql" }),// + @Sql(scripts = "drop-schema.sql", executionPhase = AFTER_TEST_METHOD) // }) // test## is required for @FixMethodOrder. public void test01() { @@ -70,7 +71,7 @@ public class TransactionalAfterTestMethodDatabaseInitializerTests extends Abstra } @Test - @DatabaseInitializers(@DatabaseInitializer({ "schema.sql", "data.sql", "data-add-dogbert.sql" })) + @Sql({ "schema.sql", "data.sql", "data-add-dogbert.sql" }) // test## is required for @FixMethodOrder. public void test02() { assertNumUsers(2); diff --git a/spring-test/src/test/java/org/springframework/test/context/jdbc/TransactionalDatabaseInitializerTests.java b/spring-test/src/test/java/org/springframework/test/context/jdbc/TransactionalSqlScriptsTests.java similarity index 79% rename from spring-test/src/test/java/org/springframework/test/context/jdbc/TransactionalDatabaseInitializerTests.java rename to spring-test/src/test/java/org/springframework/test/context/jdbc/TransactionalSqlScriptsTests.java index 96c313fbfd9..6fd838e5758 100644 --- a/spring-test/src/test/java/org/springframework/test/context/jdbc/TransactionalDatabaseInitializerTests.java +++ b/spring-test/src/test/java/org/springframework/test/context/jdbc/TransactionalSqlScriptsTests.java @@ -26,17 +26,16 @@ import org.springframework.test.context.junit4.AbstractTransactionalJUnit4Spring import static org.junit.Assert.*; /** - * Transactional integration tests for {@link DatabaseInitializer @DatabaseInitializer} - * support. + * Transactional integration tests for {@link Sql @Sql} support. * * @author Sam Brannen * @since 4.1 */ @FixMethodOrder(MethodSorters.NAME_ASCENDING) @ContextConfiguration(classes = EmptyDatabaseConfig.class) -@DatabaseInitializers(@DatabaseInitializer({ "schema.sql", "data.sql" })) +@Sql({ "schema.sql", "data.sql" }) @DirtiesContext -public class TransactionalDatabaseInitializerTests extends AbstractTransactionalJUnit4SpringContextTests { +public class TransactionalSqlScriptsTests extends AbstractTransactionalJUnit4SpringContextTests { @Test // test##_ prefix is required for @FixMethodOrder. @@ -45,7 +44,7 @@ public class TransactionalDatabaseInitializerTests extends AbstractTransactional } @Test - @DatabaseInitializers(@DatabaseInitializer({ "drop-schema.sql", "schema.sql", "data.sql", "data-add-dogbert.sql" })) + @Sql({ "drop-schema.sql", "schema.sql", "data.sql", "data-add-dogbert.sql" }) // test##_ prefix is required for @FixMethodOrder. public void test02_methodLevelScripts() { assertNumUsers(2);