Skip to content

Commit a42944d

Browse files
committed
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.
1 parent 1d0c519 commit a42944d

9 files changed

+257
-324
lines changed

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

Lines changed: 0 additions & 85 deletions
This file was deleted.

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

Lines changed: 0 additions & 85 deletions
This file was deleted.
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,92 @@
1+
/*
2+
* Copyright 2002-2020 the original author or authors.
3+
*
4+
* Licensed under the Apache License, Version 2.0 (the "License");
5+
* you may not use this file except in compliance with the License.
6+
* You may obtain a copy of the License at
7+
*
8+
* https://www.apache.org/licenses/LICENSE-2.0
9+
*
10+
* Unless required by applicable law or agreed to in writing, software
11+
* distributed under the License is distributed on an "AS IS" BASIS,
12+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13+
* See the License for the specific language governing permissions and
14+
* limitations under the License.
15+
*/
16+
17+
package org.springframework.test.context.transaction.manager;
18+
19+
import org.junit.jupiter.api.Test;
20+
21+
import org.springframework.beans.factory.annotation.Autowired;
22+
import org.springframework.context.annotation.Bean;
23+
import org.springframework.context.annotation.Configuration;
24+
import org.springframework.test.context.junit.jupiter.SpringJUnitConfig;
25+
import org.springframework.test.context.transaction.AfterTransaction;
26+
import org.springframework.transaction.PlatformTransactionManager;
27+
import org.springframework.transaction.annotation.Transactional;
28+
import org.springframework.transaction.testfixture.CallCountingTransactionManager;
29+
30+
import static org.assertj.core.api.Assertions.assertThat;
31+
32+
/**
33+
* Integration tests that verify the behavior requested in
34+
* <a href="https://jira.spring.io/browse/SPR-9645">SPR-9645</a>.
35+
*
36+
* @author Sam Brannen
37+
* @since 3.2
38+
*/
39+
@SpringJUnitConfig
40+
@Transactional
41+
class LookUpTxMgrByTypeAndDefaultNameTests {
42+
43+
@Autowired
44+
CallCountingTransactionManager transactionManager;
45+
46+
@Autowired
47+
CallCountingTransactionManager txManager2;
48+
49+
50+
@Test
51+
void transactionalTest() {
52+
assertThat(transactionManager.begun).isEqualTo(1);
53+
assertThat(transactionManager.inflight).isEqualTo(1);
54+
assertThat(transactionManager.commits).isEqualTo(0);
55+
assertThat(transactionManager.rollbacks).isEqualTo(0);
56+
57+
assertThat(txManager2.begun).isEqualTo(0);
58+
assertThat(txManager2.inflight).isEqualTo(0);
59+
assertThat(txManager2.commits).isEqualTo(0);
60+
assertThat(txManager2.rollbacks).isEqualTo(0);
61+
}
62+
63+
@AfterTransaction
64+
void afterTransaction() {
65+
assertThat(transactionManager.begun).isEqualTo(1);
66+
assertThat(transactionManager.inflight).isEqualTo(0);
67+
assertThat(transactionManager.commits).isEqualTo(0);
68+
assertThat(transactionManager.rollbacks).isEqualTo(1);
69+
70+
assertThat(txManager2.begun).isEqualTo(0);
71+
assertThat(txManager2.inflight).isEqualTo(0);
72+
assertThat(txManager2.commits).isEqualTo(0);
73+
assertThat(txManager2.rollbacks).isEqualTo(0);
74+
}
75+
76+
77+
@Configuration
78+
static class Config {
79+
80+
@Bean
81+
PlatformTransactionManager transactionManager() {
82+
return new CallCountingTransactionManager();
83+
}
84+
85+
@Bean
86+
PlatformTransactionManager txManager2() {
87+
return new CallCountingTransactionManager();
88+
}
89+
90+
}
91+
92+
}
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/*
2-
* Copyright 2002-2019 the original author or authors.
2+
* Copyright 2002-2020 the original author or authors.
33
*
44
* Licensed under the Apache License, Version 2.0 (the "License");
55
* you may not use this file except in compliance with the License.
@@ -14,17 +14,15 @@
1414
* limitations under the License.
1515
*/
1616

17-
package org.springframework.test.context.junit4.spr9645;
17+
package org.springframework.test.context.transaction.manager;
1818

19-
import org.junit.Test;
20-
import org.junit.runner.RunWith;
19+
import org.junit.jupiter.api.Test;
2120

21+
import org.springframework.beans.factory.annotation.Autowired;
2222
import org.springframework.context.annotation.Bean;
2323
import org.springframework.context.annotation.Configuration;
24-
import org.springframework.test.context.ContextConfiguration;
25-
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
24+
import org.springframework.test.context.junit.jupiter.SpringJUnitConfig;
2625
import org.springframework.test.context.transaction.AfterTransaction;
27-
import org.springframework.test.context.transaction.BeforeTransaction;
2826
import org.springframework.transaction.PlatformTransactionManager;
2927
import org.springframework.transaction.annotation.Transactional;
3028
import org.springframework.transaction.testfixture.CallCountingTransactionManager;
@@ -38,48 +36,57 @@
3836
* @author Sam Brannen
3937
* @since 3.2
4038
*/
41-
@RunWith(SpringJUnit4ClassRunner.class)
42-
@ContextConfiguration
39+
@SpringJUnitConfig
4340
@Transactional("txManager1")
44-
public class LookUpTxMgrByTypeAndQualifierAtClassLevelTests {
41+
class LookUpTxMgrByTypeAndQualifierAtClassLevelTests {
4542

46-
private static final CallCountingTransactionManager txManager1 = new CallCountingTransactionManager();
47-
private static final CallCountingTransactionManager txManager2 = new CallCountingTransactionManager();
43+
@Autowired
44+
CallCountingTransactionManager txManager1;
4845

49-
@Configuration
50-
static class Config {
51-
52-
@Bean
53-
public PlatformTransactionManager txManager1() {
54-
return txManager1;
55-
}
56-
57-
@Bean
58-
public PlatformTransactionManager txManager2() {
59-
return txManager2;
60-
}
61-
}
46+
@Autowired
47+
CallCountingTransactionManager txManager2;
6248

63-
@BeforeTransaction
64-
public void beforeTransaction() {
65-
txManager1.clear();
66-
txManager2.clear();
67-
}
6849

6950
@Test
70-
public void transactionalTest() {
51+
void transactionalTest() {
7152
assertThat(txManager1.begun).isEqualTo(1);
7253
assertThat(txManager1.inflight).isEqualTo(1);
7354
assertThat(txManager1.commits).isEqualTo(0);
7455
assertThat(txManager1.rollbacks).isEqualTo(0);
56+
57+
assertThat(txManager2.begun).isEqualTo(0);
58+
assertThat(txManager2.inflight).isEqualTo(0);
59+
assertThat(txManager2.commits).isEqualTo(0);
60+
assertThat(txManager2.rollbacks).isEqualTo(0);
7561
}
7662

7763
@AfterTransaction
78-
public void afterTransaction() {
64+
void afterTransaction() {
7965
assertThat(txManager1.begun).isEqualTo(1);
8066
assertThat(txManager1.inflight).isEqualTo(0);
8167
assertThat(txManager1.commits).isEqualTo(0);
8268
assertThat(txManager1.rollbacks).isEqualTo(1);
69+
70+
assertThat(txManager2.begun).isEqualTo(0);
71+
assertThat(txManager2.inflight).isEqualTo(0);
72+
assertThat(txManager2.commits).isEqualTo(0);
73+
assertThat(txManager2.rollbacks).isEqualTo(0);
74+
}
75+
76+
77+
@Configuration
78+
static class Config {
79+
80+
@Bean
81+
PlatformTransactionManager txManager1() {
82+
return new CallCountingTransactionManager();
83+
}
84+
85+
@Bean
86+
PlatformTransactionManager txManager2() {
87+
return new CallCountingTransactionManager();
88+
}
89+
8390
}
8491

8592
}

0 commit comments

Comments
 (0)