package org.test4j.module.dbfit.environment; import org.test4j.fortest.beans.User; import org.test4j.fortest.service.UserService; import org.test4j.module.database.annotations.Transactional; import org.test4j.module.database.annotations.Transactional.TransactionMode; import org.test4j.module.dbfit.annotations.DbFit; import org.test4j.module.spring.annotations.AutoBeanInject; import org.test4j.module.spring.annotations.SpringContext; import org.test4j.module.spring.annotations.SpringBeanByName; import org.test4j.module.spring.annotations.AutoBeanInject.BeanMap; import org.test4j.testng.test4j; import org.testng.annotations.Test; @SpringContext({ "org/test4j/fortest/spring/data-source.xml" }) @AutoBeanInject(maps = { @BeanMap(intf = "**.*Service", impl = "**.*ServiceImpl"), @BeanMap(intf = "**.*Dao", impl = "**.*DaoImpl") }) @Test(groups = "test4j") public class test4jTransactionManagerTest extends test4j { @SpringBeanByName private UserService userService; @DbFit(when = "org/test4j/module/dbfit/environment/clean user.wiki", then = "org/test4j/module/dbfit/environment/verify user.wiki") public void testNormalTransactonal() { userService.insertUser(new User("first", "last")); } @DbFit(when = "org/test4j/module/dbfit/environment/clean user.wiki", then = "org/test4j/module/dbfit/environment/verify user.wiki") @Test public void testCommitTransactonal_whenHasBeenRollback() { try { userService.insertUserException(new User("first", "last")); } catch (Throwable e) { } userService.insertUser(new User("first", "last")); } @DbFit(when = "org/test4j/module/dbfit/environment/clean user.wiki", then = "org/test4j/module/dbfit/environment/verify user.wiki") @Test @Transactional(TransactionMode.ROLLBACK) public void testRollbackTransactonal_whenHasBeenRollback() { try { userService.insertUserException(new User("first", "last")); } catch (Throwable e) { } userService.insertUser(new User("first", "last")); } }