33
33
import org .junit .jupiter .api .BeforeEach ;
34
34
import org .junit .jupiter .api .Test ;
35
35
import org .mockito .Mockito ;
36
+ import org .slf4j .Logger ;
37
+ import org .slf4j .LoggerFactory ;
36
38
37
39
38
40
import static org .mockito .Mockito .mock ;
39
41
import static org .mockito .Mockito .verify ;
40
42
41
43
public class TccHookTest {
42
- private TccHook tccHook ;
44
+ private MyTccHook tccHook ;
43
45
private String xid ;
44
46
private Long branchId ;
45
47
private String actionName ;
@@ -49,7 +51,7 @@ public class TccHookTest {
49
51
50
52
@ BeforeEach
51
53
public void setUp () throws NoSuchFieldException , IllegalAccessException , NoSuchMethodException {
52
- tccHook = mock ( TccHook . class );
54
+ tccHook = Mockito . spy ( new MyTccHook () );
53
55
xid = "test-xid" ;
54
56
branchId = 12345L ;
55
57
actionName = "testAction" ;
@@ -97,47 +99,47 @@ public void testBeforeTccPrepare() {
97
99
for (TccHook hook : TccHookManager .getHooks ()) {
98
100
hook .beforeTccPrepare (xid , branchId , actionName , context );
99
101
}
100
- verify (tccHook ).beforeTccPrepare (xid , branchId , actionName , context );
102
+ verify (tccHook ).beforeTccPrepare (Mockito . any (), Mockito . any (), Mockito . any (), Mockito . any () );
101
103
}
102
104
103
105
@ Test
104
106
public void testAfterTccPrepare () {
105
107
for (TccHook hook : TccHookManager .getHooks ()) {
106
108
hook .afterTccPrepare (xid , branchId , actionName , context );
107
109
}
108
- verify (tccHook ).afterTccPrepare (xid , branchId , actionName , context );
110
+ verify (tccHook ).afterTccPrepare (Mockito . any (), Mockito . any (), Mockito . any (), Mockito . any () );
109
111
}
110
112
111
113
@ Test
112
114
public void testBeforeTccCommit () {
113
115
for (TccHook hook : TccHookManager .getHooks ()) {
114
116
hook .beforeTccCommit (xid , branchId , actionName , context );
115
117
}
116
- verify (tccHook ).beforeTccCommit (xid , branchId , actionName , context );
118
+ verify (tccHook ).beforeTccCommit (Mockito . any (), Mockito . any (), Mockito . any (), Mockito . any () );
117
119
}
118
120
119
121
@ Test
120
122
public void testAfterTccCommit () {
121
123
for (TccHook hook : TccHookManager .getHooks ()) {
122
124
hook .afterTccCommit (xid , branchId , actionName , context );
123
125
}
124
- verify (tccHook ).afterTccCommit (xid , branchId , actionName , context );
126
+ verify (tccHook ).afterTccCommit (Mockito . any (), Mockito . any (), Mockito . any (), Mockito . any () );
125
127
}
126
128
127
129
@ Test
128
130
public void testBeforeTccRollback () {
129
131
for (TccHook hook : TccHookManager .getHooks ()) {
130
132
hook .beforeTccRollback (xid , branchId , actionName , context );
131
133
}
132
- verify (tccHook ).beforeTccRollback (xid , branchId , actionName , context );
134
+ verify (tccHook ).beforeTccRollback (Mockito . any (), Mockito . any (), Mockito . any (), Mockito . any () );
133
135
}
134
136
135
137
@ Test
136
138
public void testAfterTccRollback () {
137
139
for (TccHook hook : TccHookManager .getHooks ()) {
138
140
hook .afterTccRollback (xid , branchId , actionName , context );
139
141
}
140
- verify (tccHook ).afterTccRollback (xid , branchId , actionName , context );
142
+ verify (tccHook ).afterTccRollback (Mockito . any (), Mockito . any (), Mockito . any (), Mockito . any () );
141
143
}
142
144
143
145
@ Test
@@ -194,4 +196,37 @@ public void commit() {
194
196
public void rollback () {
195
197
}
196
198
}
199
+
200
+ public class MyTccHook implements TccHook {
201
+ private final Logger LOGGER = LoggerFactory .getLogger (MyTccHook .class );
202
+ @ Override
203
+ public void beforeTccPrepare (String xid , Long branchId , String actionName , BusinessActionContext context ) {
204
+ LOGGER .info ("do some business operations before tcc prepare" );
205
+ }
206
+
207
+ @ Override
208
+ public void afterTccPrepare (String xid , Long branchId , String actionName , BusinessActionContext context ) {
209
+ LOGGER .info ("do some business operations after tcc prepare" );
210
+ }
211
+
212
+ @ Override
213
+ public void beforeTccCommit (String xid , Long branchId , String actionName , BusinessActionContext context ) {
214
+ LOGGER .info ("do some business operations before tcc commit" );
215
+ }
216
+
217
+ @ Override
218
+ public void afterTccCommit (String xid , Long branchId , String actionName , BusinessActionContext context ) {
219
+ LOGGER .info ("do some business operations after tcc commit" );
220
+ }
221
+
222
+ @ Override
223
+ public void beforeTccRollback (String xid , Long branchId , String actionName , BusinessActionContext context ) {
224
+ LOGGER .info ("do some business operations before tcc rollback" );
225
+ }
226
+
227
+ @ Override
228
+ public void afterTccRollback (String xid , Long branchId , String actionName , BusinessActionContext context ) {
229
+ LOGGER .info ("do some business operations after tcc rollback" );
230
+ }
231
+ }
197
232
}
0 commit comments