From ba8abfe29ba8c7eb476214e7f34d3409ae98a90c Mon Sep 17 00:00:00 2001 From: Calvin Date: Fri, 24 Aug 2012 17:06:28 +0800 Subject: [PATCH] =?UTF-8?q?#79=20=E5=8F=96=E6=B6=88DBUnit=E7=9A=84?= =?UTF-8?q?=E4=BD=BF=E7=94=A8.=20DBUnit=E4=BD=9C=E7=94=A8=E4=B8=8D?= =?UTF-8?q?=E6=98=AF=E9=9D=9E=E5=B8=B8=E5=A4=A7=EF=BC=8C=E5=9B=A0=E6=AD=A4?= =?UTF-8?q?=E5=8F=96=E6=B6=88=E4=BD=BF=E7=94=A8=EF=BC=8C=E7=AE=80=E5=8C=96?= =?UTF-8?q?=E6=8A=80=E6=9C=AF=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- examples/quickstart/pom.xml | 28 +---- .../src/main/resources/applicationContext.xml | 7 +- .../src/main/webapp/WEB-INF/views/login.jsp | 2 +- .../functional/BaseFunctionalTestCase.java | 2 +- .../functional/BaseSeleniumTestCase.java | 2 +- .../quickstart/functional/gui/SecurityFT.java | 2 +- .../quickstart/functional/gui/TaskGuiFT.java | 6 +- .../src/test/resources/data/cleanup-data.sql | 2 + .../src/test/resources/data/import-data.sql | 6 ++ .../src/test/resources/data/sample-data.xml | 9 -- examples/showcase/pom.xml | 23 +--- .../modules/cache/guava/GuavaCacheDemo.java | 2 +- .../src/main/resources/applicationContext.xml | 7 +- .../src/main/webapp/WEB-INF/views/login.jsp | 2 +- .../functional/BaseFunctionalTestCase.java | 2 +- .../functional/account/UserManagerFT.java | 6 +- .../repository/jpa/JpaMappingTest.java | 3 +- .../src/test/resources/data/cleanup-data.sql | 4 + .../src/test/resources/data/import-data.sql | 19 ++++ .../src/test/resources/data/sample-data.xml | 19 ---- modules/parent/pom.xml | 8 -- modules/test/pom.xml | 7 -- .../modules/test/data/DataFixtures.java | 102 ++---------------- .../modules/test/data/DataInitializer.java | 30 ------ .../modules/test/data/DataFixturesTest.java | 29 ----- 25 files changed, 67 insertions(+), 262 deletions(-) create mode 100644 examples/quickstart/src/test/resources/data/cleanup-data.sql create mode 100644 examples/quickstart/src/test/resources/data/import-data.sql delete mode 100644 examples/quickstart/src/test/resources/data/sample-data.xml create mode 100644 examples/showcase/src/test/resources/data/cleanup-data.sql create mode 100644 examples/showcase/src/test/resources/data/import-data.sql delete mode 100644 examples/showcase/src/test/resources/data/sample-data.xml delete mode 100644 modules/test/src/main/java/org/springside/modules/test/data/DataInitializer.java delete mode 100644 modules/test/src/test/java/org/springside/modules/test/data/DataFixturesTest.java diff --git a/examples/quickstart/pom.xml b/examples/quickstart/pom.xml index f46c6b1a..3e42dd1d 100644 --- a/examples/quickstart/pom.xml +++ b/examples/quickstart/pom.xml @@ -364,13 +364,6 @@ test - - org.dbunit - dbunit - 2.4.8 - test - - org.eclipse.jetty.aggregate @@ -646,25 +639,14 @@ - + - - - - - + + + + - - - - - - - - diff --git a/examples/quickstart/src/main/resources/applicationContext.xml b/examples/quickstart/src/main/resources/applicationContext.xml index f287d647..2611c2e8 100644 --- a/examples/quickstart/src/main/resources/applicationContext.xml +++ b/examples/quickstart/src/main/resources/applicationContext.xml @@ -127,12 +127,7 @@ + - - - - - - \ No newline at end of file diff --git a/examples/quickstart/src/main/webapp/WEB-INF/views/login.jsp b/examples/quickstart/src/main/webapp/WEB-INF/views/login.jsp index 7993818d..053e4120 100644 --- a/examples/quickstart/src/main/webapp/WEB-INF/views/login.jsp +++ b/examples/quickstart/src/main/webapp/WEB-INF/views/login.jsp @@ -49,7 +49,7 @@
- +

(登录帐号:user/user)

diff --git a/examples/quickstart/src/test/functional/org/springside/examples/quickstart/functional/BaseFunctionalTestCase.java b/examples/quickstart/src/test/functional/org/springside/examples/quickstart/functional/BaseFunctionalTestCase.java index 754bf306..09d374d2 100644 --- a/examples/quickstart/src/test/functional/org/springside/examples/quickstart/functional/BaseFunctionalTestCase.java +++ b/examples/quickstart/src/test/functional/org/springside/examples/quickstart/functional/BaseFunctionalTestCase.java @@ -87,6 +87,6 @@ public class BaseFunctionalTestCase { * 载入测试数据. */ protected static void reloadSampleData() throws Exception { - DataFixtures.reloadData(dataSource, "/data/sample-data.xml"); + DataFixtures.executeScript(dataSource, "classpath:data/cleanup-data.sql", "classpath:data/import-data.sql"); } } \ No newline at end of file diff --git a/examples/quickstart/src/test/functional/org/springside/examples/quickstart/functional/BaseSeleniumTestCase.java b/examples/quickstart/src/test/functional/org/springside/examples/quickstart/functional/BaseSeleniumTestCase.java index e8314b0a..bbea49ee 100644 --- a/examples/quickstart/src/test/functional/org/springside/examples/quickstart/functional/BaseSeleniumTestCase.java +++ b/examples/quickstart/src/test/functional/org/springside/examples/quickstart/functional/BaseSeleniumTestCase.java @@ -50,7 +50,7 @@ public class BaseSeleniumTestCase extends BaseFunctionalTestCase { s.type(By.name("username"), "user"); s.type(By.name("password"), "user"); s.check(By.name("rememberMe")); - s.click(By.id("submit")); + s.click(By.id("submit_btn")); assertEquals("QuickStart示例:任务管理", s.getTitle()); } } diff --git a/examples/quickstart/src/test/functional/org/springside/examples/quickstart/functional/gui/SecurityFT.java b/examples/quickstart/src/test/functional/org/springside/examples/quickstart/functional/gui/SecurityFT.java index 04055e8a..8ff1d00b 100644 --- a/examples/quickstart/src/test/functional/org/springside/examples/quickstart/functional/gui/SecurityFT.java +++ b/examples/quickstart/src/test/functional/org/springside/examples/quickstart/functional/gui/SecurityFT.java @@ -36,7 +36,7 @@ public class SecurityFT extends BaseSeleniumTestCase { s.type(By.name("username"), "wrongUser"); s.type(By.name("password"), "WrongPassword"); s.check(By.name("rememberMe")); - s.click(By.id("submit")); + s.click(By.id("submit_btn")); assertEquals("QuickStart示例:登录页", s.getTitle()); assertTrue(s.isTextPresent("登录失败,请重试.")); diff --git a/examples/quickstart/src/test/functional/org/springside/examples/quickstart/functional/gui/TaskGuiFT.java b/examples/quickstart/src/test/functional/org/springside/examples/quickstart/functional/gui/TaskGuiFT.java index f5a96e42..27df6e2c 100644 --- a/examples/quickstart/src/test/functional/org/springside/examples/quickstart/functional/gui/TaskGuiFT.java +++ b/examples/quickstart/src/test/functional/org/springside/examples/quickstart/functional/gui/TaskGuiFT.java @@ -42,7 +42,7 @@ public class TaskGuiFT extends BaseSeleniumTestCase { Task task = TaskData.randomTask(); s.type(By.id("task.title"), task.getTitle()); - s.click(By.id("submit")); + s.click(By.id("submit_btn")); assertTrue(s.isTextPresent("创建任务成功")); @@ -52,7 +52,7 @@ public class TaskGuiFT extends BaseSeleniumTestCase { String newTitle = TaskData.randomTitle(); s.type(By.id("task.title"), newTitle); - s.click(By.id("submit")); + s.click(By.id("submit_btn")); assertTrue(s.isTextPresent("更新任务成功")); } @@ -60,7 +60,7 @@ public class TaskGuiFT extends BaseSeleniumTestCase { public void inputInValidateValue() { s.open("/task/"); s.click(By.linkText("创建任务")); - s.click(By.id("submit")); + s.click(By.id("submit_btn")); assertEquals("必选字段", s.getText(By.xpath("//fieldset/div/div/label"))); } diff --git a/examples/quickstart/src/test/resources/data/cleanup-data.sql b/examples/quickstart/src/test/resources/data/cleanup-data.sql new file mode 100644 index 00000000..414ba51b --- /dev/null +++ b/examples/quickstart/src/test/resources/data/cleanup-data.sql @@ -0,0 +1,2 @@ +delete from SS_TASK; +delete from SS_USER; \ No newline at end of file diff --git a/examples/quickstart/src/test/resources/data/import-data.sql b/examples/quickstart/src/test/resources/data/import-data.sql new file mode 100644 index 00000000..74de5b40 --- /dev/null +++ b/examples/quickstart/src/test/resources/data/import-data.sql @@ -0,0 +1,6 @@ +insert into SS_TASK (ID,TITLE,USER_ID) values(1, 'Study PlayFramework 2.0',1); +insert into SS_TASK (ID,TITLE,USER_ID) values(2, 'Study Grails 2.0',1); +insert into SS_TASK (ID,TITLE,USER_ID) values(3, 'Try SpringFuse',1); +insert into SS_TASK (ID,TITLE,USER_ID) values(4, 'Try Spring Roo',1); +insert into SS_TASK (ID,TITLE,USER_ID) values(5, 'Release SprignSide 4.0',1); +insert into SS_USER (ID,LOGIN_NAME,NAME,PASSWORD,SALT) values(1,'user','Calvin','2488aa0c31c624687bd9928e0a5d29e7d1ed520b','6d65d24122c30500'); \ No newline at end of file diff --git a/examples/quickstart/src/test/resources/data/sample-data.xml b/examples/quickstart/src/test/resources/data/sample-data.xml deleted file mode 100644 index 99110412..00000000 --- a/examples/quickstart/src/test/resources/data/sample-data.xml +++ /dev/null @@ -1,9 +0,0 @@ - - - - - - - - - diff --git a/examples/showcase/pom.xml b/examples/showcase/pom.xml index 78a13c00..86d5756a 100644 --- a/examples/showcase/pom.xml +++ b/examples/showcase/pom.xml @@ -348,11 +348,6 @@ selenium-remote-driver
- - org.dbunit - dbunit - - org.eclipse.jetty.aggregate @@ -505,26 +500,16 @@ - - - - - + + + + - - - - - - - - diff --git a/examples/showcase/src/main/java/org/springside/examples/showcase/modules/cache/guava/GuavaCacheDemo.java b/examples/showcase/src/main/java/org/springside/examples/showcase/modules/cache/guava/GuavaCacheDemo.java index 239bf61f..79874a5e 100644 --- a/examples/showcase/src/main/java/org/springside/examples/showcase/modules/cache/guava/GuavaCacheDemo.java +++ b/examples/showcase/src/main/java/org/springside/examples/showcase/modules/cache/guava/GuavaCacheDemo.java @@ -47,7 +47,7 @@ public class GuavaCacheDemo extends SpringTransactionalTestCase { }); //初始化数据 - DataFixtures.reloadData(dataSource, "/data/sample-data.xml"); + DataFixtures.executeScript(dataSource, "classpath:data/cleanup-data.sql", "classpath:data/import-data.sql"); //插入appender用于assert。 Log4jMockAppender appender = new Log4jMockAppender(); diff --git a/examples/showcase/src/main/resources/applicationContext.xml b/examples/showcase/src/main/resources/applicationContext.xml index 519df48a..636c944c 100644 --- a/examples/showcase/src/main/resources/applicationContext.xml +++ b/examples/showcase/src/main/resources/applicationContext.xml @@ -136,17 +136,12 @@ + - - - - - - diff --git a/examples/showcase/src/main/webapp/WEB-INF/views/login.jsp b/examples/showcase/src/main/webapp/WEB-INF/views/login.jsp index a261031a..6392be37 100644 --- a/examples/showcase/src/main/webapp/WEB-INF/views/login.jsp +++ b/examples/showcase/src/main/webapp/WEB-INF/views/login.jsp @@ -61,7 +61,7 @@
- +

(管理员admin/admin, 普通用户user/user)

diff --git a/examples/showcase/src/test/functional/org/springside/examples/showcase/functional/BaseFunctionalTestCase.java b/examples/showcase/src/test/functional/org/springside/examples/showcase/functional/BaseFunctionalTestCase.java index cb2790b4..9f145692 100644 --- a/examples/showcase/src/test/functional/org/springside/examples/showcase/functional/BaseFunctionalTestCase.java +++ b/examples/showcase/src/test/functional/org/springside/examples/showcase/functional/BaseFunctionalTestCase.java @@ -80,7 +80,7 @@ public class BaseFunctionalTestCase { * 载入默认数据. */ protected static void reloadSampleData() throws Exception { - DataFixtures.reloadData(dataSource, "/data/sample-data.xml"); + DataFixtures.executeScript(dataSource, "classpath:data/cleanup-data.sql", "classpath:data/import-data.sql"); } } diff --git a/examples/showcase/src/test/functional/org/springside/examples/showcase/functional/account/UserManagerFT.java b/examples/showcase/src/test/functional/org/springside/examples/showcase/functional/account/UserManagerFT.java index df07970f..9cefc2ba 100644 --- a/examples/showcase/src/test/functional/org/springside/examples/showcase/functional/account/UserManagerFT.java +++ b/examples/showcase/src/test/functional/org/springside/examples/showcase/functional/account/UserManagerFT.java @@ -36,7 +36,7 @@ public class UserManagerFT extends BaseSeleniumTestCase { //点击提交按钮 s.type(By.name("name"), "user_foo"); s.getSelect(By.name("status")).selectByValue("disabled"); - s.click(By.id("submit")); + s.click(By.id("submit_btn")); //重新进入用户修改页面, 检查最后修改者 s.click(By.id("editLink-user")); @@ -46,7 +46,7 @@ public class UserManagerFT extends BaseSeleniumTestCase { //恢复原有值 s.type(By.name("name"), "user"); s.getSelect(By.name("status")).selectByValue("enabled"); - s.click(By.id("submit")); + s.click(By.id("submit_btn")); } private void loginAsAdminIfNecessary() { @@ -54,7 +54,7 @@ public class UserManagerFT extends BaseSeleniumTestCase { if ("Showcase示例:登录页".equals(s.getTitle())) { s.type(By.name("username"), "admin"); s.type(By.name("password"), "admin"); - s.click(By.id("submit")); + s.click(By.id("submit_btn")); } } } diff --git a/examples/showcase/src/test/java/org/springside/examples/showcase/repository/jpa/JpaMappingTest.java b/examples/showcase/src/test/java/org/springside/examples/showcase/repository/jpa/JpaMappingTest.java index b33b455c..9870c7dd 100644 --- a/examples/showcase/src/test/java/org/springside/examples/showcase/repository/jpa/JpaMappingTest.java +++ b/examples/showcase/src/test/java/org/springside/examples/showcase/repository/jpa/JpaMappingTest.java @@ -27,7 +27,8 @@ public class JpaMappingTest extends SpringTransactionalTestCase { @Test public void allClassMapping() throws Exception { - DataFixtures.reloadData(dataSource, "/data/sample-data.xml"); + DataFixtures.executeScript(dataSource, "classpath:data/cleanup-data.sql", "classpath:data/import-data.sql"); + Metamodel model = em.getEntityManagerFactory().getMetamodel(); for (EntityType entityType : model.getEntities()) { String entityName = entityType.getName(); diff --git a/examples/showcase/src/test/resources/data/cleanup-data.sql b/examples/showcase/src/test/resources/data/cleanup-data.sql new file mode 100644 index 00000000..2f3da93a --- /dev/null +++ b/examples/showcase/src/test/resources/data/cleanup-data.sql @@ -0,0 +1,4 @@ +delete from SS_TEAM; +delete from SS_USER_ROLE; +delete from SS_ROLE; +delete from SS_USER; diff --git a/examples/showcase/src/test/resources/data/import-data.sql b/examples/showcase/src/test/resources/data/import-data.sql new file mode 100644 index 00000000..857a96c3 --- /dev/null +++ b/examples/showcase/src/test/resources/data/import-data.sql @@ -0,0 +1,19 @@ +insert into SS_USER (ID,LOGIN_NAME,NAME,EMAIL,PASSWORD,SALT,STATUS,TEAM_ID) values(1,'admin','Admin','admin@springside.org.cn','691b14d79bf0fa2215f155235df5e670b64394cc','7efbd59d9741d34f','enabled',1); +insert into SS_USER (ID,LOGIN_NAME,NAME,EMAIL,PASSWORD,SALT,STATUS,TEAM_ID) values(2,'user','Calvin','user@springside.org.cn','2488aa0c31c624687bd9928e0a5d29e7d1ed520b','6d65d24122c30500','enabled',1); +insert into SS_USER (ID,LOGIN_NAME,NAME,EMAIL,PASSWORD,SALT,STATUS,TEAM_ID) values(3,'user2','Jack','jack@springside.org.cn','2488aa0c31c624687bd9928e0a5d29e7d1ed520b','6d65d24122c30500','enabled',1); +insert into SS_USER (ID,LOGIN_NAME,NAME,EMAIL,PASSWORD,SALT,STATUS,TEAM_ID) values(4,'user3','Kate','kate@springside.org.cn','2488aa0c31c624687bd9928e0a5d29e7d1ed520b','6d65d24122c30500','enabled',1); +insert into SS_USER (ID,LOGIN_NAME,NAME,EMAIL,PASSWORD,SALT,STATUS,TEAM_ID) values(5,'user4','Sawyer','sawyer@springside.org.cn','2488aa0c31c624687bd9928e0a5d29e7d1ed520b','6d65d24122c30500','enabled',1); +insert into SS_USER (ID,LOGIN_NAME,NAME,EMAIL,PASSWORD,SALT,STATUS,TEAM_ID) values(6,'user5','Ben','ben@springside.org.cn','2488aa0c31c624687bd9928e0a5d29e7d1ed520b','6d65d24122c30500','enabled',1); + +insert into SS_ROLE (ID,NAME,PERMISSIONS) values(1,'Admin','user:view,user:edit'); +insert into SS_ROLE (ID,NAME,PERMISSIONS) values(2,'User','user:view'); + +insert into SS_USER_ROLE (USER_ID,ROLE_ID) values(1,1); +insert into SS_USER_ROLE (USER_ID,ROLE_ID) values(1,2); +insert into SS_USER_ROLE (USER_ID,ROLE_ID) values(2,2); +insert into SS_USER_ROLE (USER_ID,ROLE_ID) values(3,2); +insert into SS_USER_ROLE (USER_ID,ROLE_ID) values(4,2); +insert into SS_USER_ROLE (USER_ID,ROLE_ID) values(5,2); +insert into SS_USER_ROLE (USER_ID,ROLE_ID) values(6,2); + +insert into SS_TEAM (ID,NAME,MASTER_ID) values(1,'Dolphin',1); \ No newline at end of file diff --git a/examples/showcase/src/test/resources/data/sample-data.xml b/examples/showcase/src/test/resources/data/sample-data.xml deleted file mode 100644 index 3a893440..00000000 --- a/examples/showcase/src/test/resources/data/sample-data.xml +++ /dev/null @@ -1,19 +0,0 @@ - - - - - - - - - - - - - - - - - - - diff --git a/modules/parent/pom.xml b/modules/parent/pom.xml index 1832cb1f..8f3a0788 100644 --- a/modules/parent/pom.xml +++ b/modules/parent/pom.xml @@ -690,14 +690,6 @@
- - - - org.dbunit - dbunit - 2.4.8 - test - diff --git a/modules/test/pom.xml b/modules/test/pom.xml index be8435eb..cdb020d6 100644 --- a/modules/test/pom.xml +++ b/modules/test/pom.xml @@ -120,13 +120,6 @@ compile true - - - org.dbunit - dbunit - compile - true - diff --git a/modules/test/src/main/java/org/springside/modules/test/data/DataFixtures.java b/modules/test/src/main/java/org/springside/modules/test/data/DataFixtures.java index e21e01ff..bc43c1bc 100644 --- a/modules/test/src/main/java/org/springside/modules/test/data/DataFixtures.java +++ b/modules/test/src/main/java/org/springside/modules/test/data/DataFixtures.java @@ -1,107 +1,25 @@ -/** - * Copyright (c) 2005-2012 springside.org.cn - * - * Licensed under the Apache License, Version 2.0 (the "License"); - */ package org.springside.modules.test.data; -import java.io.IOException; -import java.io.InputStream; -import java.sql.Connection; -import java.sql.SQLException; - import javax.sql.DataSource; -import org.apache.commons.lang3.StringUtils; -import org.dbunit.DatabaseUnitException; -import org.dbunit.database.DatabaseConnection; -import org.dbunit.database.IDatabaseConnection; -import org.dbunit.dataset.IDataSet; -import org.dbunit.dataset.xml.FlatXmlDataSetBuilder; -import org.dbunit.ext.h2.H2Connection; -import org.dbunit.ext.mysql.MySqlConnection; -import org.dbunit.ext.oracle.OracleConnection; -import org.dbunit.operation.DatabaseOperation; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; import org.springframework.core.io.DefaultResourceLoader; +import org.springframework.core.io.Resource; import org.springframework.core.io.ResourceLoader; +import org.springframework.core.io.support.EncodedResource; +import org.springframework.dao.DataAccessException; +import org.springframework.jdbc.core.simple.SimpleJdbcTemplate; +import org.springframework.test.jdbc.SimpleJdbcTestUtils; -/** - * 基于DBUnit初始化数据到数据库的工具类. - */ public class DataFixtures { - private static Logger logger = LoggerFactory.getLogger(DataFixtures.class); private static ResourceLoader resourceLoader = new DefaultResourceLoader(); - /** - * 先删除数据库中所有表的数据, 再插入XML文件中的数据到数据库. - * - * @param xmlFilePaths 符合Spring Resource路径格式的文件路径列表. - */ - public static void reloadData(DataSource dataSource, String... xmlFilePaths) throws Exception { - execute(DatabaseOperation.CLEAN_INSERT, dataSource, xmlFilePaths); - } - - /** - * 插入XML文件中的数据到数据库. - * - * @param xmlFilePaths 符合Spring Resource路径格式的文件路径列表. - */ - public static void loadData(DataSource dataSource, String... xmlFilePaths) throws Exception { - execute(DatabaseOperation.INSERT, dataSource, xmlFilePaths); - } - - /** - * 在数据库中删除XML文件中涉及的表的数据. - * - * @param xmlFilePaths 符合Spring Resource路径格式的文件路径列表. - */ - public static void deleteData(DataSource dataSource, String... xmlFilePaths) throws Exception { - execute(DatabaseOperation.DELETE_ALL, dataSource, xmlFilePaths); - } - - /** - * 对XML文件中的数据在数据库中执行Operation. - * - * @param xmlFilePaths 符合Spring Resource路径格式的文件列表. - */ - private static void execute(DatabaseOperation operation, DataSource dataSource, String... xmlFilePaths) - throws DatabaseUnitException, SQLException { - IDatabaseConnection connection = getConnection(dataSource); - try { - for (String xmlPath : xmlFilePaths) { - try { - InputStream input = resourceLoader.getResource(xmlPath).getInputStream(); - IDataSet dataSet = new FlatXmlDataSetBuilder().setColumnSensing(true).build(input); - operation.execute(connection, dataSet); - } catch (IOException e) { - logger.warn(xmlPath + " file not found", e); - } - } - } finally { - if (connection != null) { - connection.close(); - } - } - } + public static void executeScript(DataSource dataSource, String... sqlResourcePaths) throws DataAccessException { + SimpleJdbcTemplate simpleJdbcTemplate = new SimpleJdbcTemplate(dataSource); - /** - * 从DataSource中取得新的Connection(不会参与原有事务),并根据url转换为相应数据库的Connection. - */ - protected static IDatabaseConnection getConnection(DataSource dataSource) throws DatabaseUnitException, - SQLException { - Connection connection = dataSource.getConnection(); - String jdbcUrl = connection.getMetaData().getURL(); - if (StringUtils.contains(jdbcUrl, ":h2:")) { - return new H2Connection(connection, null); - } else if (StringUtils.contains(jdbcUrl, ":mysql:")) { - return new MySqlConnection(connection, null); - } else if (StringUtils.contains(jdbcUrl, ":oracle:")) { - return new OracleConnection(connection, null); - } else { - return new DatabaseConnection(connection); + for (String sqlResourcePath : sqlResourcePaths) { + Resource resource = resourceLoader.getResource(sqlResourcePath); + SimpleJdbcTestUtils.executeSqlScript(simpleJdbcTemplate, new EncodedResource(resource, null), true); } } } diff --git a/modules/test/src/main/java/org/springside/modules/test/data/DataInitializer.java b/modules/test/src/main/java/org/springside/modules/test/data/DataInitializer.java deleted file mode 100644 index fb05e482..00000000 --- a/modules/test/src/main/java/org/springside/modules/test/data/DataInitializer.java +++ /dev/null @@ -1,30 +0,0 @@ -package org.springside.modules.test.data; - -import javax.sql.DataSource; - -import org.springframework.beans.factory.InitializingBean; - -/** - * 在Spring Context启动时,使用DBUnit一次性初始化数据。 - * - * @author calvin - */ -public class DataInitializer implements InitializingBean { - - private DataSource dataSource; - - private String dataFile; - - public void setDataSource(DataSource dataSource) { - this.dataSource = dataSource; - } - - public void setDataFile(String dataFile) { - this.dataFile = dataFile; - } - - @Override - public void afterPropertiesSet() throws Exception { - DataFixtures.reloadData(dataSource, dataFile); - } -} diff --git a/modules/test/src/test/java/org/springside/modules/test/data/DataFixturesTest.java b/modules/test/src/test/java/org/springside/modules/test/data/DataFixturesTest.java deleted file mode 100644 index 233eac7b..00000000 --- a/modules/test/src/test/java/org/springside/modules/test/data/DataFixturesTest.java +++ /dev/null @@ -1,29 +0,0 @@ -package org.springside.modules.test.data; - -import static org.junit.Assert.*; - -import org.junit.Test; -import org.springframework.beans.BeansException; -import org.springframework.test.context.ContextConfiguration; -import org.springside.modules.test.spring.SpringTransactionalTestCase; - -@ContextConfiguration(locations = { "/applicationContext-test.xml" }) -public class DataFixturesTest extends SpringTransactionalTestCase { - - @Test - public void normal() throws BeansException, Exception { - simpleJdbcTemplate.update("drop all objects"); - - executeSqlScript("classpath:/schema.sql", false); - - DataFixtures.loadData(dataSource, "classpath:/test-data.xml"); - assertEquals(6, countRowsInTable("SS_USER")); - - DataFixtures.reloadData(dataSource, "classpath:/test-data.xml"); - assertEquals(6, countRowsInTable("SS_USER")); - - DataFixtures.deleteData(dataSource, "classpath:/test-data.xml"); - assertEquals(0, countRowsInTable("SS_USER")); - - } -} -- GitLab