Return-Path: X-Original-To: archive-asf-public-internal@cust-asf2.ponee.io Delivered-To: archive-asf-public-internal@cust-asf2.ponee.io Received: from cust-asf.ponee.io (cust-asf.ponee.io [163.172.22.183]) by cust-asf2.ponee.io (Postfix) with ESMTP id A2206200BB3 for ; Tue, 27 Sep 2016 18:46:15 +0200 (CEST) Received: by cust-asf.ponee.io (Postfix) id A0E68160AD2; Tue, 27 Sep 2016 16:46:15 +0000 (UTC) Delivered-To: archive-asf-public@cust-asf.ponee.io Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by cust-asf.ponee.io (Postfix) with SMTP id 8DD1F160AEB for ; Tue, 27 Sep 2016 18:46:14 +0200 (CEST) Received: (qmail 24422 invoked by uid 500); 27 Sep 2016 16:46:13 -0000 Mailing-List: contact commits-help@activemq.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@activemq.apache.org Delivered-To: mailing list commits@activemq.apache.org Received: (qmail 24073 invoked by uid 99); 27 Sep 2016 16:46:13 -0000 Received: from git1-us-west.apache.org (HELO git1-us-west.apache.org) (140.211.11.23) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 27 Sep 2016 16:46:13 +0000 Received: by git1-us-west.apache.org (ASF Mail Server at git1-us-west.apache.org, from userid 33) id 39D66E0BD9; Tue, 27 Sep 2016 16:46:13 +0000 (UTC) Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit From: tabish@apache.org To: commits@activemq.apache.org Date: Tue, 27 Sep 2016 16:46:17 -0000 Message-Id: <7c92866b599a4032acff146dfe1bcfc7@git.apache.org> In-Reply-To: References: X-Mailer: ASF-Git Admin Mailer Subject: [05/14] activemq git commit: https://issues.apache.org/jira/browse/AMQ-6422 archived-at: Tue, 27 Sep 2016 16:46:15 -0000 https://issues.apache.org/jira/browse/AMQ-6422 Add test for credit grants but no settles for a single receiver. Project: http://git-wip-us.apache.org/repos/asf/activemq/repo Commit: http://git-wip-us.apache.org/repos/asf/activemq/commit/ca11674f Tree: http://git-wip-us.apache.org/repos/asf/activemq/tree/ca11674f Diff: http://git-wip-us.apache.org/repos/asf/activemq/diff/ca11674f Branch: refs/heads/activemq-5.14.x Commit: ca11674f37cf3a67a9215f341a8e8458ce7b0641 Parents: a5a4262 Author: Timothy Bish Authored: Fri Sep 9 12:52:48 2016 -0400 Committer: Timothy Bish Committed: Tue Sep 27 12:14:31 2016 -0400 ---------------------------------------------------------------------- .../amqp/interop/AmqpSendReceiveTest.java | 53 ++++++++++++++++++++ 1 file changed, 53 insertions(+) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/activemq/blob/ca11674f/activemq-amqp/src/test/java/org/apache/activemq/transport/amqp/interop/AmqpSendReceiveTest.java ---------------------------------------------------------------------- diff --git a/activemq-amqp/src/test/java/org/apache/activemq/transport/amqp/interop/AmqpSendReceiveTest.java b/activemq-amqp/src/test/java/org/apache/activemq/transport/amqp/interop/AmqpSendReceiveTest.java index 8a4958f..752c341 100644 --- a/activemq-amqp/src/test/java/org/apache/activemq/transport/amqp/interop/AmqpSendReceiveTest.java +++ b/activemq-amqp/src/test/java/org/apache/activemq/transport/amqp/interop/AmqpSendReceiveTest.java @@ -22,7 +22,9 @@ import static org.junit.Assert.assertNotNull; import static org.junit.Assert.assertNull; import static org.junit.Assert.assertTrue; +import java.util.ArrayList; import java.util.LinkedList; +import java.util.List; import java.util.concurrent.CountDownLatch; import java.util.concurrent.ExecutorService; import java.util.concurrent.Executors; @@ -538,4 +540,55 @@ public class AmqpSendReceiveTest extends AmqpClientTestSupport { connection.close(); } + + @Test(timeout = 60000) + public void testReceiveMessageBeyondAckedAmountQueue() throws Exception { + doTestReceiveMessageBeyondAckedAmount(Queue.class); + } + + @Test(timeout = 60000) + public void testReceiveMessageBeyondAckedAmountTopic() throws Exception { + doTestReceiveMessageBeyondAckedAmount(Topic.class); + } + + private void doTestReceiveMessageBeyondAckedAmount(Class destType) throws Exception { + final int MSG_COUNT = 50; + + AmqpClient client = createAmqpClient(); + + AmqpConnection connection = client.connect(); + AmqpSession session = connection.createSession(); + + final String address; + if (Queue.class.equals(destType)) { + address = "queue://" + getTestName(); + } else { + address = "topic://" + getTestName(); + } + + AmqpReceiver receiver = session.createReceiver(address); + AmqpSender sender = session.createSender(address); + + for (int i = 0; i < MSG_COUNT; i++) { + AmqpMessage message = new AmqpMessage(); + message.setMessageId("msg" + i); + sender.send(message); + } + sender.close(); + + List pendingAcks = new ArrayList(); + + for (int i = 0; i < MSG_COUNT; i++) { + receiver.flow(1); + AmqpMessage received = receiver.receive(5, TimeUnit.SECONDS); + assertNotNull(received); + } + + for (AmqpMessage pendingAck : pendingAcks) { + pendingAck.accept(); + } + + receiver.close(); + connection.close(); + } }