From c4bbc9df338dca9cff49b0c5e6c70c999eb47654 Mon Sep 17 00:00:00 2001 From: Sam Brannen Date: Sat, 25 Jul 2015 18:41:50 +0200 Subject: [PATCH] Migrate @TxConfig usage to @Rollback & @Transactional qualifiers Issue: SPR-13276, SPR-13277 --- .../LookUpTxMgrByTypeAndNameTests.java | 6 +-- .../CommitForRequiredEjbTxDaoTestNGTests.java | 10 ++--- ...mmitForRequiresNewEjbTxDaoTestNGTests.java | 10 ++--- ...ollbackForRequiredEjbTxDaoTestNGTests.java | 10 ++--- ...backForRequiresNewEjbTxDaoTestNGTests.java | 10 ++--- .../test/context/transaction/Commit.java | 37 +++++++++++++++++++ ...ansactionalTestExecutionListenerTests.java | 5 --- .../ejb/CommitForRequiredEjbTxDaoTests.java | 4 +- .../CommitForRequiresNewEjbTxDaoTests.java | 6 +-- .../ejb/RollbackForRequiredEjbTxDaoTests.java | 6 +-- .../RollbackForRequiresNewEjbTxDaoTests.java | 6 +-- 11 files changed, 70 insertions(+), 40 deletions(-) create mode 100644 spring-test/src/test/java/org/springframework/test/context/transaction/Commit.java diff --git a/spring-test/src/test/java/org/springframework/test/context/junit4/spr9645/LookUpTxMgrByTypeAndNameTests.java b/spring-test/src/test/java/org/springframework/test/context/junit4/spr9645/LookUpTxMgrByTypeAndNameTests.java index 767b5d46f2..5d32a42295 100644 --- a/spring-test/src/test/java/org/springframework/test/context/junit4/spr9645/LookUpTxMgrByTypeAndNameTests.java +++ b/spring-test/src/test/java/org/springframework/test/context/junit4/spr9645/LookUpTxMgrByTypeAndNameTests.java @@ -1,5 +1,5 @@ /* - * Copyright 2002-2013 the original author or authors. + * Copyright 2002-2015 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -25,7 +25,6 @@ import org.springframework.test.context.ContextConfiguration; import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; import org.springframework.test.context.transaction.AfterTransaction; import org.springframework.test.context.transaction.BeforeTransaction; -import org.springframework.test.context.transaction.TransactionConfiguration; import org.springframework.tests.transaction.CallCountingTransactionManager; import org.springframework.transaction.PlatformTransactionManager; import org.springframework.transaction.annotation.Transactional; @@ -41,8 +40,7 @@ import static org.junit.Assert.*; */ @RunWith(SpringJUnit4ClassRunner.class) @ContextConfiguration -@Transactional -@TransactionConfiguration(transactionManager = "txManager1") +@Transactional("txManager1") public class LookUpTxMgrByTypeAndNameTests { private static final CallCountingTransactionManager txManager1 = new CallCountingTransactionManager(); diff --git a/spring-test/src/test/java/org/springframework/test/context/testng/transaction/ejb/CommitForRequiredEjbTxDaoTestNGTests.java b/spring-test/src/test/java/org/springframework/test/context/testng/transaction/ejb/CommitForRequiredEjbTxDaoTestNGTests.java index ee388b4493..ae5148bff1 100644 --- a/spring-test/src/test/java/org/springframework/test/context/testng/transaction/ejb/CommitForRequiredEjbTxDaoTestNGTests.java +++ b/spring-test/src/test/java/org/springframework/test/context/testng/transaction/ejb/CommitForRequiredEjbTxDaoTestNGTests.java @@ -1,5 +1,5 @@ /* - * Copyright 2002-2014 the original author or authors. + * Copyright 2002-2015 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -16,13 +16,13 @@ package org.springframework.test.context.testng.transaction.ejb; -import org.testng.annotations.Test; - import org.springframework.test.context.ContextConfiguration; -import org.springframework.test.context.transaction.TransactionConfiguration; +import org.springframework.test.context.transaction.Commit; import org.springframework.test.context.transaction.TransactionalTestExecutionListener; import org.springframework.test.context.transaction.ejb.dao.RequiredEjbTxTestEntityDao; +import org.testng.annotations.Test; + /** * Concrete subclass of {@link AbstractEjbTxDaoTestNGTests} which uses the * {@link RequiredEjbTxTestEntityDao} and sets the default rollback semantics @@ -34,7 +34,7 @@ import org.springframework.test.context.transaction.ejb.dao.RequiredEjbTxTestEnt */ @Test(suiteName = "Commit for REQUIRED") @ContextConfiguration("/org/springframework/test/context/transaction/ejb/required-tx-config.xml") -@TransactionConfiguration(defaultRollback = false) +@Commit public class CommitForRequiredEjbTxDaoTestNGTests extends AbstractEjbTxDaoTestNGTests { /* test methods in superclass */ diff --git a/spring-test/src/test/java/org/springframework/test/context/testng/transaction/ejb/CommitForRequiresNewEjbTxDaoTestNGTests.java b/spring-test/src/test/java/org/springframework/test/context/testng/transaction/ejb/CommitForRequiresNewEjbTxDaoTestNGTests.java index 1811a73100..0117299971 100644 --- a/spring-test/src/test/java/org/springframework/test/context/testng/transaction/ejb/CommitForRequiresNewEjbTxDaoTestNGTests.java +++ b/spring-test/src/test/java/org/springframework/test/context/testng/transaction/ejb/CommitForRequiresNewEjbTxDaoTestNGTests.java @@ -1,5 +1,5 @@ /* - * Copyright 2002-2014 the original author or authors. + * Copyright 2002-2015 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -16,13 +16,13 @@ package org.springframework.test.context.testng.transaction.ejb; -import org.testng.annotations.Test; - import org.springframework.test.context.ContextConfiguration; -import org.springframework.test.context.transaction.TransactionConfiguration; +import org.springframework.test.context.transaction.Commit; import org.springframework.test.context.transaction.TransactionalTestExecutionListener; import org.springframework.test.context.transaction.ejb.dao.RequiresNewEjbTxTestEntityDao; +import org.testng.annotations.Test; + /** * Concrete subclass of {@link AbstractEjbTxDaoTestNGTests} which uses the * {@link RequiresNewEjbTxTestEntityDao} and sets the default rollback semantics @@ -34,7 +34,7 @@ import org.springframework.test.context.transaction.ejb.dao.RequiresNewEjbTxTest */ @Test(suiteName = "Commit for REQUIRES_NEW") @ContextConfiguration("/org/springframework/test/context/transaction/ejb/requires-new-tx-config.xml") -@TransactionConfiguration(defaultRollback = false) +@Commit public class CommitForRequiresNewEjbTxDaoTestNGTests extends AbstractEjbTxDaoTestNGTests { /* test methods in superclass */ diff --git a/spring-test/src/test/java/org/springframework/test/context/testng/transaction/ejb/RollbackForRequiredEjbTxDaoTestNGTests.java b/spring-test/src/test/java/org/springframework/test/context/testng/transaction/ejb/RollbackForRequiredEjbTxDaoTestNGTests.java index bd448d71ab..c7f8050d96 100644 --- a/spring-test/src/test/java/org/springframework/test/context/testng/transaction/ejb/RollbackForRequiredEjbTxDaoTestNGTests.java +++ b/spring-test/src/test/java/org/springframework/test/context/testng/transaction/ejb/RollbackForRequiredEjbTxDaoTestNGTests.java @@ -1,5 +1,5 @@ /* - * Copyright 2002-2014 the original author or authors. + * Copyright 2002-2015 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -16,11 +16,11 @@ package org.springframework.test.context.testng.transaction.ejb; -import org.testng.annotations.Test; - -import org.springframework.test.context.transaction.TransactionConfiguration; +import org.springframework.test.annotation.Rollback; import org.springframework.test.context.transaction.TransactionalTestExecutionListener; +import org.testng.annotations.Test; + import static org.testng.AssertJUnit.*; /** @@ -35,7 +35,7 @@ import static org.testng.AssertJUnit.*; * @since 4.0.1 */ @Test(suiteName = "Rollback for REQUIRED") -@TransactionConfiguration(defaultRollback = true) +@Rollback public class RollbackForRequiredEjbTxDaoTestNGTests extends CommitForRequiredEjbTxDaoTestNGTests { /** diff --git a/spring-test/src/test/java/org/springframework/test/context/testng/transaction/ejb/RollbackForRequiresNewEjbTxDaoTestNGTests.java b/spring-test/src/test/java/org/springframework/test/context/testng/transaction/ejb/RollbackForRequiresNewEjbTxDaoTestNGTests.java index 8916564b38..758175d3f1 100644 --- a/spring-test/src/test/java/org/springframework/test/context/testng/transaction/ejb/RollbackForRequiresNewEjbTxDaoTestNGTests.java +++ b/spring-test/src/test/java/org/springframework/test/context/testng/transaction/ejb/RollbackForRequiresNewEjbTxDaoTestNGTests.java @@ -1,5 +1,5 @@ /* - * Copyright 2002-2014 the original author or authors. + * Copyright 2002-2015 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -16,11 +16,11 @@ package org.springframework.test.context.testng.transaction.ejb; -import org.testng.annotations.Test; - -import org.springframework.test.context.transaction.TransactionConfiguration; +import org.springframework.test.annotation.Rollback; import org.springframework.test.context.transaction.TransactionalTestExecutionListener; +import org.testng.annotations.Test; + /** * Extension of {@link CommitForRequiresNewEjbTxDaoTestNGTests} which sets the default * rollback semantics for the {@link TransactionalTestExecutionListener} to @@ -37,7 +37,7 @@ import org.springframework.test.context.transaction.TransactionalTestExecutionLi * @since 4.0.1 */ @Test(suiteName = "Rollback for REQUIRES_NEW") -@TransactionConfiguration(defaultRollback = true) +@Rollback public class RollbackForRequiresNewEjbTxDaoTestNGTests extends CommitForRequiresNewEjbTxDaoTestNGTests { /* test methods in superclass */ diff --git a/spring-test/src/test/java/org/springframework/test/context/transaction/Commit.java b/spring-test/src/test/java/org/springframework/test/context/transaction/Commit.java new file mode 100644 index 0000000000..1c63796fb7 --- /dev/null +++ b/spring-test/src/test/java/org/springframework/test/context/transaction/Commit.java @@ -0,0 +1,37 @@ +/* + * Copyright 2002-2015 the original author or authors. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.springframework.test.context.transaction; + +import java.lang.annotation.Documented; +import java.lang.annotation.Retention; +import java.lang.annotation.Target; + +import org.springframework.test.annotation.Rollback; + +import static java.lang.annotation.ElementType.*; +import static java.lang.annotation.RetentionPolicy.*; + +/** + * @author Sam Brannen + * @since 4.2 + */ +@Documented +@Retention(RUNTIME) +@Target({ TYPE, METHOD, ANNOTATION_TYPE }) +@Rollback(false) +public @interface Commit { +} diff --git a/spring-test/src/test/java/org/springframework/test/context/transaction/TransactionalTestExecutionListenerTests.java b/spring-test/src/test/java/org/springframework/test/context/transaction/TransactionalTestExecutionListenerTests.java index 321a985f62..e08f6be545 100644 --- a/spring-test/src/test/java/org/springframework/test/context/transaction/TransactionalTestExecutionListenerTests.java +++ b/spring-test/src/test/java/org/springframework/test/context/transaction/TransactionalTestExecutionListenerTests.java @@ -355,11 +355,6 @@ public class TransactionalTestExecutionListenerTests { String transactionManager() default "metaTxMgr"; } - @Rollback(false) - @Retention(RetentionPolicy.RUNTIME) - private static @interface Commit { - } - private static abstract class Invocable { boolean invoked = false; diff --git a/spring-test/src/test/java/org/springframework/test/context/transaction/ejb/CommitForRequiredEjbTxDaoTests.java b/spring-test/src/test/java/org/springframework/test/context/transaction/ejb/CommitForRequiredEjbTxDaoTests.java index 77f160450c..2692d94713 100644 --- a/spring-test/src/test/java/org/springframework/test/context/transaction/ejb/CommitForRequiredEjbTxDaoTests.java +++ b/spring-test/src/test/java/org/springframework/test/context/transaction/ejb/CommitForRequiredEjbTxDaoTests.java @@ -17,7 +17,7 @@ package org.springframework.test.context.transaction.ejb; import org.springframework.test.context.ContextConfiguration; -import org.springframework.test.context.transaction.TransactionConfiguration; +import org.springframework.test.context.transaction.Commit; import org.springframework.test.context.transaction.TransactionalTestExecutionListener; import org.springframework.test.context.transaction.ejb.dao.RequiredEjbTxTestEntityDao; @@ -31,7 +31,7 @@ import org.springframework.test.context.transaction.ejb.dao.RequiredEjbTxTestEnt * @since 4.0.1 */ @ContextConfiguration("required-tx-config.xml") -@TransactionConfiguration(defaultRollback = false) +@Commit public class CommitForRequiredEjbTxDaoTests extends AbstractEjbTxDaoTests { /* test methods in superclass */ diff --git a/spring-test/src/test/java/org/springframework/test/context/transaction/ejb/CommitForRequiresNewEjbTxDaoTests.java b/spring-test/src/test/java/org/springframework/test/context/transaction/ejb/CommitForRequiresNewEjbTxDaoTests.java index f1c1e3a7fd..dbfa033fad 100644 --- a/spring-test/src/test/java/org/springframework/test/context/transaction/ejb/CommitForRequiresNewEjbTxDaoTests.java +++ b/spring-test/src/test/java/org/springframework/test/context/transaction/ejb/CommitForRequiresNewEjbTxDaoTests.java @@ -1,5 +1,5 @@ /* - * Copyright 2002-2014 the original author or authors. + * Copyright 2002-2015 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -17,7 +17,7 @@ package org.springframework.test.context.transaction.ejb; import org.springframework.test.context.ContextConfiguration; -import org.springframework.test.context.transaction.TransactionConfiguration; +import org.springframework.test.context.transaction.Commit; import org.springframework.test.context.transaction.TransactionalTestExecutionListener; import org.springframework.test.context.transaction.ejb.dao.RequiresNewEjbTxTestEntityDao; @@ -31,7 +31,7 @@ import org.springframework.test.context.transaction.ejb.dao.RequiresNewEjbTxTest * @since 4.0.1 */ @ContextConfiguration("requires-new-tx-config.xml") -@TransactionConfiguration(defaultRollback = false) +@Commit public class CommitForRequiresNewEjbTxDaoTests extends AbstractEjbTxDaoTests { /* test methods in superclass */ diff --git a/spring-test/src/test/java/org/springframework/test/context/transaction/ejb/RollbackForRequiredEjbTxDaoTests.java b/spring-test/src/test/java/org/springframework/test/context/transaction/ejb/RollbackForRequiredEjbTxDaoTests.java index 1f5633ff9f..b5ac35d18e 100644 --- a/spring-test/src/test/java/org/springframework/test/context/transaction/ejb/RollbackForRequiredEjbTxDaoTests.java +++ b/spring-test/src/test/java/org/springframework/test/context/transaction/ejb/RollbackForRequiredEjbTxDaoTests.java @@ -1,5 +1,5 @@ /* - * Copyright 2002-2014 the original author or authors. + * Copyright 2002-2015 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -20,7 +20,7 @@ import org.junit.FixMethodOrder; import org.junit.Test; import org.junit.runners.MethodSorters; -import org.springframework.test.context.transaction.TransactionConfiguration; +import org.springframework.test.annotation.Rollback; import org.springframework.test.context.transaction.TransactionalTestExecutionListener; import static org.junit.Assert.*; @@ -37,7 +37,7 @@ import static org.junit.Assert.*; * @since 4.0.1 */ @FixMethodOrder(MethodSorters.NAME_ASCENDING) -@TransactionConfiguration(defaultRollback = true) +@Rollback public class RollbackForRequiredEjbTxDaoTests extends CommitForRequiredEjbTxDaoTests { /** diff --git a/spring-test/src/test/java/org/springframework/test/context/transaction/ejb/RollbackForRequiresNewEjbTxDaoTests.java b/spring-test/src/test/java/org/springframework/test/context/transaction/ejb/RollbackForRequiresNewEjbTxDaoTests.java index c603e39f9c..cb0c6efc2c 100644 --- a/spring-test/src/test/java/org/springframework/test/context/transaction/ejb/RollbackForRequiresNewEjbTxDaoTests.java +++ b/spring-test/src/test/java/org/springframework/test/context/transaction/ejb/RollbackForRequiresNewEjbTxDaoTests.java @@ -1,5 +1,5 @@ /* - * Copyright 2002-2014 the original author or authors. + * Copyright 2002-2015 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -16,7 +16,7 @@ package org.springframework.test.context.transaction.ejb; -import org.springframework.test.context.transaction.TransactionConfiguration; +import org.springframework.test.annotation.Rollback; import org.springframework.test.context.transaction.TransactionalTestExecutionListener; /** @@ -34,7 +34,7 @@ import org.springframework.test.context.transaction.TransactionalTestExecutionLi * @author Sam Brannen * @since 4.0.1 */ -@TransactionConfiguration(defaultRollback = true) +@Rollback public class RollbackForRequiresNewEjbTxDaoTests extends CommitForRequiresNewEjbTxDaoTests { /* test methods in superclass */ -- GitLab