From f62e61ab76414c9a2981483c7434c635ab54c9b1 Mon Sep 17 00:00:00 2001 From: Mike Harder Date: Wed, 13 Mar 2019 12:55:11 -0700 Subject: [PATCH] Improve reliability of QuotaExceededError test (#1550) - Partial fix for #1430 --- .../@azure/eventhubs/client/tests/receiver.spec.ts | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/packages/@azure/eventhubs/client/tests/receiver.spec.ts b/packages/@azure/eventhubs/client/tests/receiver.spec.ts index 373b251cffbe..58c5edf34d79 100644 --- a/packages/@azure/eventhubs/client/tests/receiver.spec.ts +++ b/packages/@azure/eventhubs/client/tests/receiver.spec.ts @@ -478,6 +478,13 @@ describe("EventHub Receiver", function (): void { const partitionId = hubInfo.partitionIds[0]; const rcvHndlrs: ReceiveHandler[] = []; const rcvrs: any[] = []; + + // This test does not require recieving any messages. Just attempting to connect the 6th receiver causes + // onerr2() to be called with QuotaExceededError. So it's fastest to use EventPosition.fromEnd(). + // Using EventPosition.fromStart() can cause timeouts or ServiceUnavailableException if the EventHub has + // a large number of messages. + const eventPosition = EventPosition.fromEnd(); + debug(">>> Receivers length: ", rcvHndlrs.length); for (let i = 1; i <= 5; i++) { const rcvrId = `rcvr-${i}`; @@ -492,7 +499,7 @@ describe("EventHub Receiver", function (): void { debug("@@@@ Error received by receiver %s", rcvrId); debug(err); }; - const rcvHndlr = client.receive(partitionId, onMsg, onError, { eventPosition: EventPosition.fromStart(), identifier: rcvrId }); + const rcvHndlr = client.receive(partitionId, onMsg, onError, { eventPosition: eventPosition, identifier: rcvrId }); rcvHndlrs.push(rcvHndlr); } debug(">>> Attached message handlers to each receiver."); @@ -517,7 +524,7 @@ describe("EventHub Receiver", function (): void { done(); }); }; - const failedRcvHandler = client.receive(partitionId, onmsg2, onerr2, { eventPosition: EventPosition.fromStart(), identifier: "rcvr-6" }); + const failedRcvHandler = client.receive(partitionId, onmsg2, onerr2, { eventPosition: eventPosition, identifier: "rcvr-6" }); rcvHndlrs.push(failedRcvHandler); }, 5000); });