Browse Source

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.
pull/26353/head
Sam Brannen 5 years ago
parent
commit
a42944d364
  1. 85
      spring-test/src/test/java/org/springframework/test/context/junit4/spr9645/LookUpTxMgrByTypeAndDefaultNameTests.java
  2. 85
      spring-test/src/test/java/org/springframework/test/context/junit4/spr9645/LookUpTxMgrByTypeAndNameTests.java
  3. 92
      spring-test/src/test/java/org/springframework/test/context/transaction/manager/LookUpTxMgrByTypeAndDefaultNameTests.java
  4. 71
      spring-test/src/test/java/org/springframework/test/context/transaction/manager/LookUpTxMgrByTypeAndQualifierAtClassLevelTests.java
  5. 71
      spring-test/src/test/java/org/springframework/test/context/transaction/manager/LookUpTxMgrByTypeAndQualifierAtMethodLevelTests.java
  6. 48
      spring-test/src/test/java/org/springframework/test/context/transaction/manager/LookUpTxMgrByTypeTests.java
  7. 41
      spring-test/src/test/java/org/springframework/test/context/transaction/manager/LookUpTxMgrNonTransactionalTests.java
  8. 73
      spring-test/src/test/java/org/springframework/test/context/transaction/manager/LookUpTxMgrViaTransactionManagementConfigurerTests.java
  9. 15
      spring-test/src/test/java/org/springframework/test/context/transaction/manager/PrimaryTransactionManagerTests.java

85
spring-test/src/test/java/org/springframework/test/context/junit4/spr9645/LookUpTxMgrByTypeAndDefaultNameTests.java

@ -1,85 +0,0 @@ @@ -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
* <a href="https://jira.spring.io/browse/SPR-9645">SPR-9645</a>.
*
* @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);
}
}

85
spring-test/src/test/java/org/springframework/test/context/junit4/spr9645/LookUpTxMgrByTypeAndNameTests.java

@ -1,85 +0,0 @@ @@ -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
* <a href="https://jira.spring.io/browse/SPR-9645">SPR-9645</a>.
*
* @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);
}
}

92
spring-test/src/test/java/org/springframework/test/context/transaction/manager/LookUpTxMgrByTypeAndDefaultNameTests.java

@ -0,0 +1,92 @@ @@ -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
* <a href="https://jira.spring.io/browse/SPR-9645">SPR-9645</a>.
*
* @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();
}
}
}

71
spring-test/src/test/java/org/springframework/test/context/junit4/spr9645/LookUpTxMgrByTypeAndQualifierAtClassLevelTests.java → spring-test/src/test/java/org/springframework/test/context/transaction/manager/LookUpTxMgrByTypeAndQualifierAtClassLevelTests.java

@ -1,5 +1,5 @@ @@ -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 @@ @@ -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; @@ -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();
}
}
}

71
spring-test/src/test/java/org/springframework/test/context/junit4/spr9645/LookUpTxMgrByTypeAndQualifierAtMethodLevelTests.java → spring-test/src/test/java/org/springframework/test/context/transaction/manager/LookUpTxMgrByTypeAndQualifierAtMethodLevelTests.java

@ -1,5 +1,5 @@ @@ -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 @@ @@ -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; @@ -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();
}
}
}

48
spring-test/src/test/java/org/springframework/test/context/junit4/spr9645/LookUpTxMgrByTypeTests.java → spring-test/src/test/java/org/springframework/test/context/transaction/manager/LookUpTxMgrByTypeTests.java

@ -1,5 +1,5 @@ @@ -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 @@ @@ -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; @@ -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 { @@ -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();
}
}
}

41
spring-test/src/test/java/org/springframework/test/context/junit4/spr9645/LookUpNonexistentTxMgrTests.java → spring-test/src/test/java/org/springframework/test/context/transaction/manager/LookUpTxMgrNonTransactionalTests.java

@ -1,5 +1,5 @@ @@ -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 @@ @@ -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; @@ -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();
}
}
}

73
spring-test/src/test/java/org/springframework/test/context/junit4/spr9604/LookUpTxMgrViaTransactionManagementConfigurerTests.java → spring-test/src/test/java/org/springframework/test/context/transaction/manager/LookUpTxMgrViaTransactionManagementConfigurerTests.java

@ -1,5 +1,5 @@ @@ -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 @@ @@ -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; @@ -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 { @@ -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 { @@ -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();
}
}
}

15
spring-test/src/test/java/org/springframework/test/context/transaction/PrimaryTransactionManagerTests.java → spring-test/src/test/java/org/springframework/test/context/transaction/manager/PrimaryTransactionManagerTests.java

@ -1,5 +1,5 @@ @@ -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 @@ @@ -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; @@ -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 @@ -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 { @@ -112,6 +114,7 @@ final class PrimaryTransactionManagerTests {
DataSource dataSource2() {
return new EmbeddedDatabaseBuilder().generateUniqueName(true).build();
}
}
}
Loading…
Cancel
Save