From b0ee896b1264ad11980a798eeb47a061c24bb33c Mon Sep 17 00:00:00 2001 From: Ramya Achutha Rao Date: Mon, 18 Feb 2019 13:09:43 -0800 Subject: [PATCH 1/2] Improve error message, remove redundant checks --- .../data-plane/test/topicFilters.spec.ts | 69 +++++-------------- 1 file changed, 17 insertions(+), 52 deletions(-) diff --git a/packages/@azure/servicebus/data-plane/test/topicFilters.spec.ts b/packages/@azure/servicebus/data-plane/test/topicFilters.spec.ts index 60745e0f1caf..0f4b0d08a0af 100644 --- a/packages/@azure/servicebus/data-plane/test/topicFilters.spec.ts +++ b/packages/@azure/servicebus/data-plane/test/topicFilters.spec.ts @@ -134,7 +134,11 @@ async function receiveOrders( ); const msgsCheck = await checkWithTimeout(() => receivedMsgs.length === expectedMessageCount); - should.equal(msgsCheck, true, "Could not receive the messages in expected time."); + should.equal( + msgsCheck, + true, + `Expected ${expectedMessageCount}, but received ${receivedMsgs.length} messages` + ); await receiver.close(); should.equal( @@ -463,10 +467,7 @@ describe("Default Rule - Send/Receive", function(): void { it("Subscription with default filter receives all messages", async function(): Promise { await sendOrders(); - const receivedMsgs = await receiveOrders(subscriptionClient, data.length); - - should.equal(Array.isArray(receivedMsgs), true, "`ReceivedMessages` is not an array"); - should.equal(receivedMsgs.length, data.length, "Unexpected number of messages"); + await receiveOrders(subscriptionClient, data.length); await testPeekMsgsLength(subscriptionClient, 0); }); @@ -485,34 +486,23 @@ describe("Boolean Filter - Send/Receive", function(): void { bool: boolean, client: SubscriptionClient, expectedMessageCount: number - ): Promise { + ): Promise { await subscriptionClient.addRule("BooleanFilter", bool); const rules = await subscriptionClient.getRules(); should.equal(rules.length, 1, "Unexpected number of rules"); should.equal(rules[0].name, "BooleanFilter", "RuleName is different than expected"); await sendOrders(); - const receivedMsgs = await receiveOrders(client, expectedMessageCount); - - return receivedMsgs; + await receiveOrders(client, expectedMessageCount); + await testPeekMsgsLength(client, 0); } it("True boolean filter receives all messages", async function(): Promise { - const receivedMsgs = await addFilterAndReceiveOrders(true, subscriptionClient, data.length); - - should.equal(Array.isArray(receivedMsgs), true, "`ReceivedMessages` is not an array"); - should.equal(receivedMsgs.length, data.length, "Unexpected number of messages"); - - await testPeekMsgsLength(subscriptionClient, 0); + await addFilterAndReceiveOrders(true, subscriptionClient, data.length); }); it("False boolean filter does not receive any messages", async function(): Promise { - const receivedMsgs = await addFilterAndReceiveOrders(false, subscriptionClient, 0); - - should.equal(Array.isArray(receivedMsgs), true, "`ReceivedMessages` is not an array"); - should.equal(receivedMsgs.length, 0, "Unexpected number of messages"); - - await testPeekMsgsLength(subscriptionClient, 0); + await addFilterAndReceiveOrders(false, subscriptionClient, 0); }); }); @@ -530,10 +520,7 @@ describe("Sql Filter - Send/Receive", function(): void { await sendOrders(); const dataLength = data.filter((x) => x.Color === "red").length; - const receivedMsgs = await receiveOrders(subscriptionClient, dataLength); - - should.equal(Array.isArray(receivedMsgs), true, "`ReceivedMessages` is not an array"); - should.equal(receivedMsgs.length, dataLength, "Unexpected number of messages"); + await receiveOrders(subscriptionClient, dataLength); await testPeekMsgsLength(subscriptionClient, 0); }); @@ -543,10 +530,7 @@ describe("Sql Filter - Send/Receive", function(): void { await sendOrders(); const dataLength = data.filter((x) => x.Color === "red").length; - const receivedMsgs = await receiveOrders(subscriptionClient, dataLength); - - should.equal(Array.isArray(receivedMsgs), true, "`ReceivedMessages` is not an array"); - should.equal(receivedMsgs.length, dataLength, "Unexpected number of messages"); + await receiveOrders(subscriptionClient, dataLength); await testPeekMsgsLength(subscriptionClient, 0); }); @@ -556,10 +540,7 @@ describe("Sql Filter - Send/Receive", function(): void { await sendOrders(); const dataLength = data.filter((x) => x.Color === "blue" && x.Quantity === 10).length; - const receivedMsgs = await receiveOrders(subscriptionClient, dataLength); - - should.equal(Array.isArray(receivedMsgs), true, "`ReceivedMessages` is not an array"); - should.equal(receivedMsgs.length, dataLength, "Unexpected number of messages"); + await receiveOrders(subscriptionClient, dataLength); await testPeekMsgsLength(subscriptionClient, 0); }); @@ -569,10 +550,7 @@ describe("Sql Filter - Send/Receive", function(): void { await sendOrders(); const dataLength = data.filter((x) => x.Color === "blue" || x.Quantity === 10).length; - const receivedMsgs = await receiveOrders(subscriptionClient, dataLength); - - should.equal(Array.isArray(receivedMsgs), true, "`ReceivedMessages` is not an array"); - should.equal(receivedMsgs.length, dataLength, "Unexpected number of messages"); + await receiveOrders(subscriptionClient, dataLength); await testPeekMsgsLength(subscriptionClient, 0); }); @@ -584,8 +562,6 @@ describe("Sql Filter - Send/Receive", function(): void { const dataLength = data.filter((x) => x.Color === "blue").length; const receivedMsgs = await receiveOrders(subscriptionClient, dataLength); - should.equal(Array.isArray(receivedMsgs), true, "`ReceivedMessages` is not an array"); - should.equal(receivedMsgs.length, dataLength, "Unexpected number of messages"); if (receivedMsgs[0].userProperties) { should.equal( receivedMsgs[0].userProperties.priority, @@ -608,8 +584,6 @@ describe("Sql Filter - Send/Receive", function(): void { const dataLength = data.filter((x) => x.Color === "blue").length; const receivedMsgs = await receiveOrders(subscriptionClient, dataLength); - should.equal(Array.isArray(receivedMsgs), true, "`ReceivedMessages` is not an array"); - should.equal(receivedMsgs.length, dataLength,"Unexpected number of messages"); if (receivedMsgs[0].userProperties) { should.equal(receivedMsgs[0].userProperties.priority, "High", "Priority of the receivedMessage is different than expected"); @@ -636,10 +610,7 @@ describe("Correlation Filter - Send/Receive", function(): void { await sendOrders(); const dataLength = data.filter((x) => x.Color === "red").length; - const receivedMsgs = await receiveOrders(subscriptionClient, dataLength); - - should.equal(Array.isArray(receivedMsgs), true, "`ReceivedMessages` is not an array"); - should.equal(receivedMsgs.length, dataLength, "Unexpected number of messages"); + await receiveOrders(subscriptionClient, dataLength); await testPeekMsgsLength(subscriptionClient, 0); }); @@ -653,10 +624,7 @@ describe("Correlation Filter - Send/Receive", function(): void { await sendOrders(); const dataLength = data.filter((x) => x.Color === "red").length; - const receivedMsgs = await receiveOrders(subscriptionClient, dataLength); - - should.equal(Array.isArray(receivedMsgs), true, "`ReceivedMessages` is not an array"); - should.equal(receivedMsgs.length, dataLength, "Unexpected number of messages"); + await receiveOrders(subscriptionClient, dataLength); await testPeekMsgsLength(subscriptionClient, 0); }); @@ -676,9 +644,6 @@ describe("Correlation Filter - Send/Receive", function(): void { const dataLength = data.filter((x) => x.Color === "blue").length; const receivedMsgs = await receiveOrders(subscriptionClient, dataLength); - should.equal(Array.isArray(receivedMsgs), true, "`ReceivedMessages` is not an array"); - should.equal(receivedMsgs.length, dataLength, "Unexpected number of messages"); - if (receivedMsgs[0].userProperties) { should.equal( receivedMsgs[0].userProperties.priority, From 06c2c71cdd00cd05588bb8a6ffcd96053c50c063 Mon Sep 17 00:00:00 2001 From: Ramya Achutha Rao Date: Mon, 18 Feb 2019 14:16:07 -0800 Subject: [PATCH 2/2] Ensure all messages go to same partition --- .../@azure/servicebus/data-plane/test/topicFilters.spec.ts | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/packages/@azure/servicebus/data-plane/test/topicFilters.spec.ts b/packages/@azure/servicebus/data-plane/test/topicFilters.spec.ts index 0f4b0d08a0af..2eaee76dc922 100644 --- a/packages/@azure/servicebus/data-plane/test/topicFilters.spec.ts +++ b/packages/@azure/servicebus/data-plane/test/topicFilters.spec.ts @@ -108,7 +108,8 @@ async function sendOrders(): Promise { color: `${element.Color}`, quantity: element.Quantity, priority: `${element.Priority}` - } + }, + partitionKey: "dummy" //Ensures all messages go to same parition to make peek work reliably }; await sender.send(message); }