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

bogong pushed a commit to branch branch-2.10
in repository https://gitbox.apache.org/repos/asf/pulsar.git


The following commit(s) were added to refs/heads/branch-2.10 by this push:
     new c83bede9dae [fix][test][branch-2.10] Fix test 
TransactionEndToEndTest#testSendTxnMessageTimeout (only release branches) 
(#16570)
c83bede9dae is described below

commit c83bede9daed52ae9ff9acb9bf3772bbcfb1fd32
Author: Nicolò Boschi <[email protected]>
AuthorDate: Thu Jul 14 10:17:11 2022 +0200

    [fix][test][branch-2.10] Fix test 
TransactionEndToEndTest#testSendTxnMessageTimeout (only release branches) 
(#16570)
    
    ### Motivation
    
    `TransactionEndToEndTest#testSendTxnMessageTimeout` fails on releases 
branch after https://github.com/apache/pulsar/pull/16519 has been cherry-picked.
    
    ```
    java.lang.AssertionError: expected [true] but found [false]
            at org.testng.Assert.fail(Assert.java:99)
            at org.testng.Assert.failNotEquals(Assert.java:1037)
            at org.testng.Assert.assertTrue(Assert.java:45)
            at org.testng.Assert.assertTrue(Assert.java:55)
            at 
org.apache.pulsar.client.impl.TransactionEndToEndTest.testSendTxnMessageTimeout(TransactionEndToEndTest.java:1099)
    ```
    
    The reason is that the mock setup must be slightly different since the 
`ProducerImpl` is not exactly the same between master and branch-2.10.
---
 .../broker/transaction/pendingack/PendingAckPersistentTest.java     | 1 -
 .../java/org/apache/pulsar/client/impl/TransactionEndToEndTest.java | 6 ++++++
 2 files changed, 6 insertions(+), 1 deletion(-)

diff --git 
a/pulsar-broker/src/test/java/org/apache/pulsar/broker/transaction/pendingack/PendingAckPersistentTest.java
 
b/pulsar-broker/src/test/java/org/apache/pulsar/broker/transaction/pendingack/PendingAckPersistentTest.java
index 428df87c2d3..8f97dd6b45e 100644
--- 
a/pulsar-broker/src/test/java/org/apache/pulsar/broker/transaction/pendingack/PendingAckPersistentTest.java
+++ 
b/pulsar-broker/src/test/java/org/apache/pulsar/broker/transaction/pendingack/PendingAckPersistentTest.java
@@ -36,7 +36,6 @@ import lombok.extern.slf4j.Slf4j;
 import org.apache.bookkeeper.mledger.ManagedCursor;
 import org.apache.bookkeeper.mledger.impl.PositionImpl;
 import org.apache.commons.collections4.map.LinkedMap;
-import org.apache.pulsar.broker.PulsarService;
 import org.apache.pulsar.broker.service.persistent.PersistentSubscription;
 import org.apache.pulsar.broker.service.persistent.PersistentTopic;
 import org.apache.pulsar.broker.transaction.TransactionTestBase;
diff --git 
a/pulsar-broker/src/test/java/org/apache/pulsar/client/impl/TransactionEndToEndTest.java
 
b/pulsar-broker/src/test/java/org/apache/pulsar/client/impl/TransactionEndToEndTest.java
index 3a40982fed4..5ac5608f117 100644
--- 
a/pulsar-broker/src/test/java/org/apache/pulsar/client/impl/TransactionEndToEndTest.java
+++ 
b/pulsar-broker/src/test/java/org/apache/pulsar/client/impl/TransactionEndToEndTest.java
@@ -23,6 +23,7 @@ import static org.mockito.ArgumentMatchers.anyLong;
 import static org.mockito.ArgumentMatchers.anyObject;
 import static org.mockito.Mockito.doReturn;
 import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.spy;
 import static org.testng.Assert.assertEquals;
 import static org.testng.Assert.assertNull;
 import static org.testng.Assert.assertTrue;
@@ -37,7 +38,9 @@ import java.util.List;
 import java.util.concurrent.CountDownLatch;
 import java.util.concurrent.TimeUnit;
 import java.util.concurrent.atomic.AtomicReference;
+import io.netty.channel.Channel;
 import io.netty.channel.ChannelHandlerContext;
+import io.netty.channel.DefaultEventLoop;
 import io.netty.util.concurrent.EventExecutor;
 import lombok.Cleanup;
 import lombok.extern.slf4j.Slf4j;
@@ -1080,7 +1083,10 @@ public class TransactionEndToEndTest extends 
TransactionTestBase {
 
         // mock cnx, send message can't receive response
         ClientCnx cnx = mock(ClientCnx.class);
+        Channel channel = mock(Channel.class);
+        doReturn(spy(DefaultEventLoop.class)).when(channel).eventLoop();
         ChannelHandlerContext channelHandlerContext = 
mock(ChannelHandlerContext.class);
+        doReturn(channel).when(channelHandlerContext).channel();
         doReturn(channelHandlerContext).when(cnx).ctx();
         EventExecutor eventExecutor = mock(EventExecutor.class);
         doReturn(eventExecutor).when(channelHandlerContext).executor();

Reply via email to