From a42944d3644e7b3100445b463574b2a52e37aa1e Mon Sep 17 00:00:00 2001 From: Sam Brannen Date: Mon, 6 Apr 2020 18:17:18 +0200 Subject: [PATCH] Consolidate TxMgr lookup tests in the TCF This commit consolidates TransactionManager lookup tests in the Spring TestContext Framework (TCF), migrates some to JUnit Jupiter, simplifies their implementations, and removes duplicated test cases. --- .../LookUpTxMgrByTypeAndDefaultNameTests.java | 85 ----------------- .../LookUpTxMgrByTypeAndNameTests.java | 85 ----------------- .../LookUpTxMgrByTypeAndDefaultNameTests.java | 92 +++++++++++++++++++ ...grByTypeAndQualifierAtClassLevelTests.java | 71 +++++++------- ...rByTypeAndQualifierAtMethodLevelTests.java | 71 +++++++------- .../manager}/LookUpTxMgrByTypeTests.java | 48 +++++----- .../LookUpTxMgrNonTransactionalTests.java} | 41 +++++---- ...aTransactionManagementConfigurerTests.java | 73 +++++++-------- .../PrimaryTransactionManagerTests.java | 15 +-- 9 files changed, 257 insertions(+), 324 deletions(-) delete mode 100644 spring-test/src/test/java/org/springframework/test/context/junit4/spr9645/LookUpTxMgrByTypeAndDefaultNameTests.java delete mode 100644 spring-test/src/test/java/org/springframework/test/context/junit4/spr9645/LookUpTxMgrByTypeAndNameTests.java create mode 100644 spring-test/src/test/java/org/springframework/test/context/transaction/manager/LookUpTxMgrByTypeAndDefaultNameTests.java rename spring-test/src/test/java/org/springframework/test/context/{junit4/spr9645 => transaction/manager}/LookUpTxMgrByTypeAndQualifierAtClassLevelTests.java (61%) rename spring-test/src/test/java/org/springframework/test/context/{junit4/spr9645 => transaction/manager}/LookUpTxMgrByTypeAndQualifierAtMethodLevelTests.java (61%) rename spring-test/src/test/java/org/springframework/test/context/{junit4/spr9645 => transaction/manager}/LookUpTxMgrByTypeTests.java (67%) rename spring-test/src/test/java/org/springframework/test/context/{junit4/spr9645/LookUpNonexistentTxMgrTests.java => transaction/manager/LookUpTxMgrNonTransactionalTests.java} (67%) rename spring-test/src/test/java/org/springframework/test/context/{junit4/spr9604 => transaction/manager}/LookUpTxMgrViaTransactionManagementConfigurerTests.java (69%) rename spring-test/src/test/java/org/springframework/test/context/transaction/{ => manager}/PrimaryTransactionManagerTests.java (88%) diff --git a/spring-test/src/test/java/org/springframework/test/context/junit4/spr9645/LookUpTxMgrByTypeAndDefaultNameTests.java b/spring-test/src/test/java/org/springframework/test/context/junit4/spr9645/LookUpTxMgrByTypeAndDefaultNameTests.java deleted file mode 100644 index 6f2b091504..0000000000 --- a/spring-test/src/test/java/org/springframework/test/context/junit4/spr9645/LookUpTxMgrByTypeAndDefaultNameTests.java +++ /dev/null @@ -1,85 +0,0 @@ -/* - * Copyright 2002-2019 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 - * - * https://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.junit4.spr9645; - -import org.junit.Test; -import org.junit.runner.RunWith; - -import org.springframework.context.annotation.Bean; -import org.springframework.context.annotation.Configuration; -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.transaction.PlatformTransactionManager; -import org.springframework.transaction.annotation.Transactional; -import org.springframework.transaction.testfixture.CallCountingTransactionManager; - -import static org.assertj.core.api.Assertions.assertThat; - -/** - * Integration tests that verify the behavior requested in - * SPR-9645. - * - * @author Sam Brannen - * @since 3.2 - */ -@RunWith(SpringJUnit4ClassRunner.class) -@ContextConfiguration -@Transactional -public class LookUpTxMgrByTypeAndDefaultNameTests { - - private static final CallCountingTransactionManager txManager1 = new CallCountingTransactionManager(); - private static final CallCountingTransactionManager txManager2 = new CallCountingTransactionManager(); - - @Configuration - static class Config { - - @Bean - public PlatformTransactionManager transactionManager() { - return txManager1; - } - - @Bean - public PlatformTransactionManager txManager2() { - return txManager2; - } - } - - @BeforeTransaction - public void beforeTransaction() { - txManager1.clear(); - txManager2.clear(); - } - - @Test - public void transactionalTest() { - assertThat(txManager1.begun).isEqualTo(1); - assertThat(txManager1.inflight).isEqualTo(1); - assertThat(txManager1.commits).isEqualTo(0); - assertThat(txManager1.rollbacks).isEqualTo(0); - } - - @AfterTransaction - public void afterTransaction() { - assertThat(txManager1.begun).isEqualTo(1); - assertThat(txManager1.inflight).isEqualTo(0); - assertThat(txManager1.commits).isEqualTo(0); - assertThat(txManager1.rollbacks).isEqualTo(1); - } - -} 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 deleted file mode 100644 index f14ffe106c..0000000000 --- a/spring-test/src/test/java/org/springframework/test/context/junit4/spr9645/LookUpTxMgrByTypeAndNameTests.java +++ /dev/null @@ -1,85 +0,0 @@ -/* - * Copyright 2002-2019 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 - * - * https://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.junit4.spr9645; - -import org.junit.Test; -import org.junit.runner.RunWith; - -import org.springframework.context.annotation.Bean; -import org.springframework.context.annotation.Configuration; -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.transaction.PlatformTransactionManager; -import org.springframework.transaction.annotation.Transactional; -import org.springframework.transaction.testfixture.CallCountingTransactionManager; - -import static org.assertj.core.api.Assertions.assertThat; - -/** - * Integration tests that verify the behavior requested in - * SPR-9645. - * - * @author Sam Brannen - * @since 3.2 - */ -@RunWith(SpringJUnit4ClassRunner.class) -@ContextConfiguration -@Transactional("txManager1") -public class LookUpTxMgrByTypeAndNameTests { - - private static final CallCountingTransactionManager txManager1 = new CallCountingTransactionManager(); - private static final CallCountingTransactionManager txManager2 = new CallCountingTransactionManager(); - - @Configuration - static class Config { - - @Bean - public PlatformTransactionManager txManager1() { - return txManager1; - } - - @Bean - public PlatformTransactionManager txManager2() { - return txManager2; - } - } - - @BeforeTransaction - public void beforeTransaction() { - txManager1.clear(); - txManager2.clear(); - } - - @Test - public void transactionalTest() { - assertThat(txManager1.begun).isEqualTo(1); - assertThat(txManager1.inflight).isEqualTo(1); - assertThat(txManager1.commits).isEqualTo(0); - assertThat(txManager1.rollbacks).isEqualTo(0); - } - - @AfterTransaction - public void afterTransaction() { - assertThat(txManager1.begun).isEqualTo(1); - assertThat(txManager1.inflight).isEqualTo(0); - assertThat(txManager1.commits).isEqualTo(0); - assertThat(txManager1.rollbacks).isEqualTo(1); - } - -} diff --git a/spring-test/src/test/java/org/springframework/test/context/transaction/manager/LookUpTxMgrByTypeAndDefaultNameTests.java b/spring-test/src/test/java/org/springframework/test/context/transaction/manager/LookUpTxMgrByTypeAndDefaultNameTests.java new file mode 100644 index 0000000000..4b5199133b --- /dev/null +++ b/spring-test/src/test/java/org/springframework/test/context/transaction/manager/LookUpTxMgrByTypeAndDefaultNameTests.java @@ -0,0 +1,92 @@ +/* + * Copyright 2002-2020 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 + * + * https://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.manager; + +import org.junit.jupiter.api.Test; + +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; +import org.springframework.test.context.junit.jupiter.SpringJUnitConfig; +import org.springframework.test.context.transaction.AfterTransaction; +import org.springframework.transaction.PlatformTransactionManager; +import org.springframework.transaction.annotation.Transactional; +import org.springframework.transaction.testfixture.CallCountingTransactionManager; + +import static org.assertj.core.api.Assertions.assertThat; + +/** + * Integration tests that verify the behavior requested in + * SPR-9645. + * + * @author Sam Brannen + * @since 3.2 + */ +@SpringJUnitConfig +@Transactional +class LookUpTxMgrByTypeAndDefaultNameTests { + + @Autowired + CallCountingTransactionManager transactionManager; + + @Autowired + CallCountingTransactionManager txManager2; + + + @Test + void transactionalTest() { + assertThat(transactionManager.begun).isEqualTo(1); + assertThat(transactionManager.inflight).isEqualTo(1); + assertThat(transactionManager.commits).isEqualTo(0); + assertThat(transactionManager.rollbacks).isEqualTo(0); + + assertThat(txManager2.begun).isEqualTo(0); + assertThat(txManager2.inflight).isEqualTo(0); + assertThat(txManager2.commits).isEqualTo(0); + assertThat(txManager2.rollbacks).isEqualTo(0); + } + + @AfterTransaction + void afterTransaction() { + assertThat(transactionManager.begun).isEqualTo(1); + assertThat(transactionManager.inflight).isEqualTo(0); + assertThat(transactionManager.commits).isEqualTo(0); + assertThat(transactionManager.rollbacks).isEqualTo(1); + + assertThat(txManager2.begun).isEqualTo(0); + assertThat(txManager2.inflight).isEqualTo(0); + assertThat(txManager2.commits).isEqualTo(0); + assertThat(txManager2.rollbacks).isEqualTo(0); + } + + + @Configuration + static class Config { + + @Bean + PlatformTransactionManager transactionManager() { + return new CallCountingTransactionManager(); + } + + @Bean + PlatformTransactionManager txManager2() { + return new CallCountingTransactionManager(); + } + + } + +} diff --git a/spring-test/src/test/java/org/springframework/test/context/junit4/spr9645/LookUpTxMgrByTypeAndQualifierAtClassLevelTests.java b/spring-test/src/test/java/org/springframework/test/context/transaction/manager/LookUpTxMgrByTypeAndQualifierAtClassLevelTests.java similarity index 61% rename from spring-test/src/test/java/org/springframework/test/context/junit4/spr9645/LookUpTxMgrByTypeAndQualifierAtClassLevelTests.java rename to spring-test/src/test/java/org/springframework/test/context/transaction/manager/LookUpTxMgrByTypeAndQualifierAtClassLevelTests.java index 9f507a9923..3a5a5ab77b 100644 --- a/spring-test/src/test/java/org/springframework/test/context/junit4/spr9645/LookUpTxMgrByTypeAndQualifierAtClassLevelTests.java +++ b/spring-test/src/test/java/org/springframework/test/context/transaction/manager/LookUpTxMgrByTypeAndQualifierAtClassLevelTests.java @@ -1,5 +1,5 @@ /* - * Copyright 2002-2019 the original author or authors. + * Copyright 2002-2020 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. @@ -14,17 +14,15 @@ * limitations under the License. */ -package org.springframework.test.context.junit4.spr9645; +package org.springframework.test.context.transaction.manager; -import org.junit.Test; -import org.junit.runner.RunWith; +import org.junit.jupiter.api.Test; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; -import org.springframework.test.context.ContextConfiguration; -import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; +import org.springframework.test.context.junit.jupiter.SpringJUnitConfig; import org.springframework.test.context.transaction.AfterTransaction; -import org.springframework.test.context.transaction.BeforeTransaction; import org.springframework.transaction.PlatformTransactionManager; import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.testfixture.CallCountingTransactionManager; @@ -38,48 +36,57 @@ import static org.assertj.core.api.Assertions.assertThat; * @author Sam Brannen * @since 3.2 */ -@RunWith(SpringJUnit4ClassRunner.class) -@ContextConfiguration +@SpringJUnitConfig @Transactional("txManager1") -public class LookUpTxMgrByTypeAndQualifierAtClassLevelTests { +class LookUpTxMgrByTypeAndQualifierAtClassLevelTests { - private static final CallCountingTransactionManager txManager1 = new CallCountingTransactionManager(); - private static final CallCountingTransactionManager txManager2 = new CallCountingTransactionManager(); + @Autowired + CallCountingTransactionManager txManager1; - @Configuration - static class Config { - - @Bean - public PlatformTransactionManager txManager1() { - return txManager1; - } - - @Bean - public PlatformTransactionManager txManager2() { - return txManager2; - } - } + @Autowired + CallCountingTransactionManager txManager2; - @BeforeTransaction - public void beforeTransaction() { - txManager1.clear(); - txManager2.clear(); - } @Test - public void transactionalTest() { + void transactionalTest() { assertThat(txManager1.begun).isEqualTo(1); assertThat(txManager1.inflight).isEqualTo(1); assertThat(txManager1.commits).isEqualTo(0); assertThat(txManager1.rollbacks).isEqualTo(0); + + assertThat(txManager2.begun).isEqualTo(0); + assertThat(txManager2.inflight).isEqualTo(0); + assertThat(txManager2.commits).isEqualTo(0); + assertThat(txManager2.rollbacks).isEqualTo(0); } @AfterTransaction - public void afterTransaction() { + void afterTransaction() { assertThat(txManager1.begun).isEqualTo(1); assertThat(txManager1.inflight).isEqualTo(0); assertThat(txManager1.commits).isEqualTo(0); assertThat(txManager1.rollbacks).isEqualTo(1); + + assertThat(txManager2.begun).isEqualTo(0); + assertThat(txManager2.inflight).isEqualTo(0); + assertThat(txManager2.commits).isEqualTo(0); + assertThat(txManager2.rollbacks).isEqualTo(0); + } + + + @Configuration + static class Config { + + @Bean + PlatformTransactionManager txManager1() { + return new CallCountingTransactionManager(); + } + + @Bean + PlatformTransactionManager txManager2() { + return new CallCountingTransactionManager(); + } + } } diff --git a/spring-test/src/test/java/org/springframework/test/context/junit4/spr9645/LookUpTxMgrByTypeAndQualifierAtMethodLevelTests.java b/spring-test/src/test/java/org/springframework/test/context/transaction/manager/LookUpTxMgrByTypeAndQualifierAtMethodLevelTests.java similarity index 61% rename from spring-test/src/test/java/org/springframework/test/context/junit4/spr9645/LookUpTxMgrByTypeAndQualifierAtMethodLevelTests.java rename to spring-test/src/test/java/org/springframework/test/context/transaction/manager/LookUpTxMgrByTypeAndQualifierAtMethodLevelTests.java index b3aef4e781..707c9fe3a0 100644 --- a/spring-test/src/test/java/org/springframework/test/context/junit4/spr9645/LookUpTxMgrByTypeAndQualifierAtMethodLevelTests.java +++ b/spring-test/src/test/java/org/springframework/test/context/transaction/manager/LookUpTxMgrByTypeAndQualifierAtMethodLevelTests.java @@ -1,5 +1,5 @@ /* - * Copyright 2002-2019 the original author or authors. + * Copyright 2002-2020 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. @@ -14,17 +14,15 @@ * limitations under the License. */ -package org.springframework.test.context.junit4.spr9645; +package org.springframework.test.context.transaction.manager; -import org.junit.Test; -import org.junit.runner.RunWith; +import org.junit.jupiter.api.Test; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; -import org.springframework.test.context.ContextConfiguration; -import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; +import org.springframework.test.context.junit.jupiter.SpringJUnitConfig; import org.springframework.test.context.transaction.AfterTransaction; -import org.springframework.test.context.transaction.BeforeTransaction; import org.springframework.transaction.PlatformTransactionManager; import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.testfixture.CallCountingTransactionManager; @@ -38,48 +36,57 @@ import static org.assertj.core.api.Assertions.assertThat; * @author Sam Brannen * @since 3.2 */ -@RunWith(SpringJUnit4ClassRunner.class) -@ContextConfiguration -public class LookUpTxMgrByTypeAndQualifierAtMethodLevelTests { +@SpringJUnitConfig +class LookUpTxMgrByTypeAndQualifierAtMethodLevelTests { - private static final CallCountingTransactionManager txManager1 = new CallCountingTransactionManager(); - private static final CallCountingTransactionManager txManager2 = new CallCountingTransactionManager(); + @Autowired + CallCountingTransactionManager txManager1; - @Configuration - static class Config { - - @Bean - public PlatformTransactionManager txManager1() { - return txManager1; - } - - @Bean - public PlatformTransactionManager txManager2() { - return txManager2; - } - } + @Autowired + CallCountingTransactionManager txManager2; - @BeforeTransaction - public void beforeTransaction() { - txManager1.clear(); - txManager2.clear(); - } @Transactional("txManager1") @Test - public void transactionalTest() { + void transactionalTest() { assertThat(txManager1.begun).isEqualTo(1); assertThat(txManager1.inflight).isEqualTo(1); assertThat(txManager1.commits).isEqualTo(0); assertThat(txManager1.rollbacks).isEqualTo(0); + + assertThat(txManager2.begun).isEqualTo(0); + assertThat(txManager2.inflight).isEqualTo(0); + assertThat(txManager2.commits).isEqualTo(0); + assertThat(txManager2.rollbacks).isEqualTo(0); } @AfterTransaction - public void afterTransaction() { + void afterTransaction() { assertThat(txManager1.begun).isEqualTo(1); assertThat(txManager1.inflight).isEqualTo(0); assertThat(txManager1.commits).isEqualTo(0); assertThat(txManager1.rollbacks).isEqualTo(1); + + assertThat(txManager2.begun).isEqualTo(0); + assertThat(txManager2.inflight).isEqualTo(0); + assertThat(txManager2.commits).isEqualTo(0); + assertThat(txManager2.rollbacks).isEqualTo(0); + } + + + @Configuration + static class Config { + + @Bean + PlatformTransactionManager txManager1() { + return new CallCountingTransactionManager(); + } + + @Bean + PlatformTransactionManager txManager2() { + return new CallCountingTransactionManager(); + } + } } diff --git a/spring-test/src/test/java/org/springframework/test/context/junit4/spr9645/LookUpTxMgrByTypeTests.java b/spring-test/src/test/java/org/springframework/test/context/transaction/manager/LookUpTxMgrByTypeTests.java similarity index 67% rename from spring-test/src/test/java/org/springframework/test/context/junit4/spr9645/LookUpTxMgrByTypeTests.java rename to spring-test/src/test/java/org/springframework/test/context/transaction/manager/LookUpTxMgrByTypeTests.java index 835a911a72..c2025e5bfb 100644 --- a/spring-test/src/test/java/org/springframework/test/context/junit4/spr9645/LookUpTxMgrByTypeTests.java +++ b/spring-test/src/test/java/org/springframework/test/context/transaction/manager/LookUpTxMgrByTypeTests.java @@ -1,5 +1,5 @@ /* - * Copyright 2002-2019 the original author or authors. + * Copyright 2002-2020 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. @@ -14,17 +14,15 @@ * limitations under the License. */ -package org.springframework.test.context.junit4.spr9645; +package org.springframework.test.context.transaction.manager; -import org.junit.Test; -import org.junit.runner.RunWith; +import org.junit.jupiter.api.Test; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; -import org.springframework.test.context.ContextConfiguration; -import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; +import org.springframework.test.context.junit.jupiter.SpringJUnitConfig; import org.springframework.test.context.transaction.AfterTransaction; -import org.springframework.test.context.transaction.BeforeTransaction; import org.springframework.transaction.PlatformTransactionManager; import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.testfixture.CallCountingTransactionManager; @@ -38,29 +36,16 @@ import static org.assertj.core.api.Assertions.assertThat; * @author Sam Brannen * @since 3.2 */ -@RunWith(SpringJUnit4ClassRunner.class) -@ContextConfiguration +@SpringJUnitConfig @Transactional -public class LookUpTxMgrByTypeTests { +class LookUpTxMgrByTypeTests { - private static final CallCountingTransactionManager txManager = new CallCountingTransactionManager(); + @Autowired + CallCountingTransactionManager txManager; - @Configuration - static class Config { - - @Bean - public PlatformTransactionManager txManager() { - return txManager; - } - } - - @BeforeTransaction - public void beforeTransaction() { - txManager.clear(); - } @Test - public void transactionalTest() { + void transactionalTest() { assertThat(txManager.begun).isEqualTo(1); assertThat(txManager.inflight).isEqualTo(1); assertThat(txManager.commits).isEqualTo(0); @@ -68,11 +53,22 @@ public class LookUpTxMgrByTypeTests { } @AfterTransaction - public void afterTransaction() { + void afterTransaction() { assertThat(txManager.begun).isEqualTo(1); assertThat(txManager.inflight).isEqualTo(0); assertThat(txManager.commits).isEqualTo(0); assertThat(txManager.rollbacks).isEqualTo(1); } + + @Configuration + static class Config { + + @Bean + PlatformTransactionManager txManager() { + return new CallCountingTransactionManager(); + } + + } + } diff --git a/spring-test/src/test/java/org/springframework/test/context/junit4/spr9645/LookUpNonexistentTxMgrTests.java b/spring-test/src/test/java/org/springframework/test/context/transaction/manager/LookUpTxMgrNonTransactionalTests.java similarity index 67% rename from spring-test/src/test/java/org/springframework/test/context/junit4/spr9645/LookUpNonexistentTxMgrTests.java rename to spring-test/src/test/java/org/springframework/test/context/transaction/manager/LookUpTxMgrNonTransactionalTests.java index 5958079e45..ad6aae5368 100644 --- a/spring-test/src/test/java/org/springframework/test/context/junit4/spr9645/LookUpNonexistentTxMgrTests.java +++ b/spring-test/src/test/java/org/springframework/test/context/transaction/manager/LookUpTxMgrNonTransactionalTests.java @@ -1,5 +1,5 @@ /* - * Copyright 2002-2019 the original author or authors. + * Copyright 2002-2020 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. @@ -14,15 +14,14 @@ * limitations under the License. */ -package org.springframework.test.context.junit4.spr9645; +package org.springframework.test.context.transaction.manager; -import org.junit.Test; -import org.junit.runner.RunWith; +import org.junit.jupiter.api.Test; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; -import org.springframework.test.context.ContextConfiguration; -import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; +import org.springframework.test.context.junit.jupiter.SpringJUnitConfig; import org.springframework.transaction.PlatformTransactionManager; import org.springframework.transaction.testfixture.CallCountingTransactionManager; @@ -35,26 +34,30 @@ import static org.assertj.core.api.Assertions.assertThat; * @author Sam Brannen * @since 3.2 */ -@RunWith(SpringJUnit4ClassRunner.class) -@ContextConfiguration -public class LookUpNonexistentTxMgrTests { +@SpringJUnitConfig +class LookUpTxMgrNonTransactionalTests { - private static final CallCountingTransactionManager txManager = new CallCountingTransactionManager(); + @Autowired + CallCountingTransactionManager txManager; - @Configuration - static class Config { - - @Bean - public PlatformTransactionManager transactionManager() { - return txManager; - } - } @Test - public void nonTransactionalTest() { + void nonTransactionalTest() { assertThat(txManager.begun).isEqualTo(0); assertThat(txManager.inflight).isEqualTo(0); assertThat(txManager.commits).isEqualTo(0); assertThat(txManager.rollbacks).isEqualTo(0); } + + + @Configuration + static class Config { + + @Bean + PlatformTransactionManager transactionManager() { + return new CallCountingTransactionManager(); + } + + } + } diff --git a/spring-test/src/test/java/org/springframework/test/context/junit4/spr9604/LookUpTxMgrViaTransactionManagementConfigurerTests.java b/spring-test/src/test/java/org/springframework/test/context/transaction/manager/LookUpTxMgrViaTransactionManagementConfigurerTests.java similarity index 69% rename from spring-test/src/test/java/org/springframework/test/context/junit4/spr9604/LookUpTxMgrViaTransactionManagementConfigurerTests.java rename to spring-test/src/test/java/org/springframework/test/context/transaction/manager/LookUpTxMgrViaTransactionManagementConfigurerTests.java index c1bcfec1e2..3a30c12c06 100644 --- a/spring-test/src/test/java/org/springframework/test/context/junit4/spr9604/LookUpTxMgrViaTransactionManagementConfigurerTests.java +++ b/spring-test/src/test/java/org/springframework/test/context/transaction/manager/LookUpTxMgrViaTransactionManagementConfigurerTests.java @@ -1,5 +1,5 @@ /* - * Copyright 2002-2019 the original author or authors. + * Copyright 2002-2020 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. @@ -14,17 +14,15 @@ * limitations under the License. */ -package org.springframework.test.context.junit4.spr9604; +package org.springframework.test.context.transaction.manager; -import org.junit.Test; -import org.junit.runner.RunWith; +import org.junit.jupiter.api.Test; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; -import org.springframework.test.context.ContextConfiguration; -import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; +import org.springframework.test.context.junit.jupiter.SpringJUnitConfig; import org.springframework.test.context.transaction.AfterTransaction; -import org.springframework.test.context.transaction.BeforeTransaction; import org.springframework.transaction.PlatformTransactionManager; import org.springframework.transaction.annotation.TransactionManagementConfigurer; import org.springframework.transaction.annotation.Transactional; @@ -39,43 +37,19 @@ import static org.assertj.core.api.Assertions.assertThat; * @author Sam Brannen * @since 3.2 */ -@RunWith(SpringJUnit4ClassRunner.class) -@ContextConfiguration +@SpringJUnitConfig @Transactional -public class LookUpTxMgrViaTransactionManagementConfigurerTests { +class LookUpTxMgrViaTransactionManagementConfigurerTests { - private static final CallCountingTransactionManager txManager1 = new CallCountingTransactionManager(); - private static final CallCountingTransactionManager txManager2 = new CallCountingTransactionManager(); + @Autowired + CallCountingTransactionManager txManager1; + @Autowired + CallCountingTransactionManager txManager2; - @Configuration - static class Config implements TransactionManagementConfigurer { - - @Override - public PlatformTransactionManager annotationDrivenTransactionManager() { - return txManager1(); - } - - @Bean - public PlatformTransactionManager txManager1() { - return txManager1; - } - - @Bean - public PlatformTransactionManager txManager2() { - return txManager2; - } - } - - - @BeforeTransaction - public void beforeTransaction() { - txManager1.clear(); - txManager2.clear(); - } @Test - public void transactionalTest() { + void transactionalTest() { assertThat(txManager1.begun).isEqualTo(1); assertThat(txManager1.inflight).isEqualTo(1); assertThat(txManager1.commits).isEqualTo(0); @@ -88,7 +62,7 @@ public class LookUpTxMgrViaTransactionManagementConfigurerTests { } @AfterTransaction - public void afterTransaction() { + void afterTransaction() { assertThat(txManager1.begun).isEqualTo(1); assertThat(txManager1.inflight).isEqualTo(0); assertThat(txManager1.commits).isEqualTo(0); @@ -100,4 +74,25 @@ public class LookUpTxMgrViaTransactionManagementConfigurerTests { assertThat(txManager2.rollbacks).isEqualTo(0); } + + @Configuration + static class Config implements TransactionManagementConfigurer { + + @Override + public PlatformTransactionManager annotationDrivenTransactionManager() { + return txManager1(); + } + + @Bean + PlatformTransactionManager txManager1() { + return new CallCountingTransactionManager(); + } + + @Bean + PlatformTransactionManager txManager2() { + return new CallCountingTransactionManager(); + } + + } + } diff --git a/spring-test/src/test/java/org/springframework/test/context/transaction/PrimaryTransactionManagerTests.java b/spring-test/src/test/java/org/springframework/test/context/transaction/manager/PrimaryTransactionManagerTests.java similarity index 88% rename from spring-test/src/test/java/org/springframework/test/context/transaction/PrimaryTransactionManagerTests.java rename to spring-test/src/test/java/org/springframework/test/context/transaction/manager/PrimaryTransactionManagerTests.java index 95e477d4c4..b7fcd5fefe 100644 --- a/spring-test/src/test/java/org/springframework/test/context/transaction/PrimaryTransactionManagerTests.java +++ b/spring-test/src/test/java/org/springframework/test/context/transaction/manager/PrimaryTransactionManagerTests.java @@ -1,5 +1,5 @@ /* - * Copyright 2002-2019 the original author or authors. + * Copyright 2002-2020 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. @@ -14,7 +14,7 @@ * limitations under the License. */ -package org.springframework.test.context.transaction; +package org.springframework.test.context.transaction.manager; import javax.sql.DataSource; @@ -31,6 +31,8 @@ import org.springframework.jdbc.datasource.embedded.EmbeddedDatabaseBuilder; import org.springframework.jdbc.datasource.init.ResourceDatabasePopulator; import org.springframework.test.annotation.DirtiesContext; import org.springframework.test.context.junit.jupiter.SpringJUnitConfig; +import org.springframework.test.context.transaction.AfterTransaction; +import org.springframework.test.context.transaction.BeforeTransaction; import org.springframework.test.jdbc.JdbcTestUtils; import org.springframework.transaction.PlatformTransactionManager; import org.springframework.transaction.annotation.EnableTransactionManagement; @@ -49,16 +51,16 @@ import static org.springframework.test.transaction.TransactionAssert.assertThatT */ @SpringJUnitConfig @DirtiesContext -final class PrimaryTransactionManagerTests { - - private JdbcTemplate jdbcTemplate; +final /* Intentionally FINAL */ class PrimaryTransactionManagerTests { + private final JdbcTemplate jdbcTemplate; @Autowired - void setDataSource(DataSource dataSource1) { + PrimaryTransactionManagerTests(DataSource dataSource1) { this.jdbcTemplate = new JdbcTemplate(dataSource1); } + @BeforeTransaction void beforeTransaction() { assertNumUsers(0); @@ -112,6 +114,7 @@ final class PrimaryTransactionManagerTests { DataSource dataSource2() { return new EmbeddedDatabaseBuilder().generateUniqueName(true).build(); } + } }