This is an automated email from the ASF dual-hosted git repository.

ntimofeev pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/cayenne.git

commit 05eb42e1bdf6825cdfcfdb0b91ca5cb6fa5c943d
Author: dmitrij <[email protected]>
AuthorDate: Mon May 31 12:04:20 2021 +0300

    fix: config mockito to allow using default methods of interfaces
---
 .../configuration/server/ServerRuntimeIT.java      | 32 +++++++++++++++++++---
 1 file changed, 28 insertions(+), 4 deletions(-)

diff --git 
a/cayenne-server/src/test/java/org/apache/cayenne/configuration/server/ServerRuntimeIT.java
 
b/cayenne-server/src/test/java/org/apache/cayenne/configuration/server/ServerRuntimeIT.java
index dc4740e..4ab5c26 100644
--- 
a/cayenne-server/src/test/java/org/apache/cayenne/configuration/server/ServerRuntimeIT.java
+++ 
b/cayenne-server/src/test/java/org/apache/cayenne/configuration/server/ServerRuntimeIT.java
@@ -37,9 +37,7 @@ import java.sql.Connection;
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.fail;
 import static org.mockito.ArgumentMatchers.any;
-import static org.mockito.Mockito.mock;
-import static org.mockito.Mockito.times;
-import static org.mockito.Mockito.verify;
+import static org.mockito.Mockito.*;
 
 @UseServerRuntime(CayenneProjects.TESTMAP_PROJECT)
 public class ServerRuntimeIT extends ServerCase {
@@ -50,10 +48,34 @@ public class ServerRuntimeIT extends ServerCase {
     @Inject
     private ObjectContext context;
 
+    class DefaultListenerImpl implements TransactionListener{
+
+        @Override
+        public void willCommit(Transaction tx) {
+
+        }
+
+        @Override
+        public void willRollback(Transaction tx) {
+
+        }
+
+        @Override
+        public void willAddConnection(Transaction tx, String connectionName, 
Connection connection) {
+
+        }
+
+        @Override
+        public Connection decorateConnection(Transaction tx, Connection 
connection) {
+            return connection;
+        }
+    }
+
     @Test
     public void testPerformInTransaction_Local_Callback() {
 
-        TransactionListener callback = mock(TransactionListener.class);
+        TransactionListener callback = mock(DefaultListenerImpl.class);
+        
when(callback.decorateConnection(any(Transaction.class),any(Connection.class))).thenCallRealMethod();
 
         Artist a = runtime.performInTransaction(new 
TransactionalOperation<Artist>() {
 
@@ -72,12 +94,14 @@ public class ServerRuntimeIT extends ServerCase {
         verify(callback).willCommit(any(Transaction.class));
         verify(callback).willAddConnection(any(Transaction.class), 
any(String.class), any(Connection.class));
         verify(callback, times(0)).willRollback(any(Transaction.class));
+        
verify(callback).decorateConnection(any(Transaction.class),any(Connection.class));
     }
 
     @Test
     public void testPerformInTransaction_Local_Callback_Rollback() {
 
         TransactionListener callback = mock(TransactionListener.class);
+        
when(callback.decorateConnection(any(Transaction.class),any(Connection.class))).thenCallRealMethod();
 
         try {
             runtime.performInTransaction(new TransactionalOperation<Artist>() {

Reply via email to