Skip to content

Commit f58d925

Browse files
mohsin-mehmoodMohsin Mehmood
andauthored
[servicebus]scheduleMessages method swap enqueedTime and messages order (Azure#11994)
Co-authored-by: Mohsin Mehmood <mohsin85mehmod@gmail.com>
1 parent 0dd5785 commit f58d925

File tree

9 files changed

+26
-25
lines changed

9 files changed

+26
-25
lines changed

sdk/servicebus/service-bus/CHANGELOG.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,7 @@
3131
- "properties" renamed to "applicationProperties"
3232
- "label" renamed to "subject"
3333
- `SqlRuleFilter` interface "sqlExpression" changed from optional to required
34+
- `ServiceBusSender.scheduleMessages` method signature updated: `scheduledEnqueueTimeUtc` and `messages` parameters are swapped.
3435

3536
## 7.0.0-preview.7 (2020-10-07)
3637

sdk/servicebus/service-bus/review/service-bus.api.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -468,7 +468,7 @@ export interface ServiceBusSender {
468468
entityPath: string;
469469
isClosed: boolean;
470470
open(options?: OperationOptionsBase): Promise<void>;
471-
scheduleMessages(scheduledEnqueueTimeUtc: Date, messages: ServiceBusMessage | ServiceBusMessage[], options?: OperationOptionsBase): Promise<Long[]>;
471+
scheduleMessages(messages: ServiceBusMessage | ServiceBusMessage[], scheduledEnqueueTimeUtc: Date, options?: OperationOptionsBase): Promise<Long[]>;
472472
sendMessages(messages: ServiceBusMessage | ServiceBusMessage[] | ServiceBusMessageBatch, options?: OperationOptionsBase): Promise<void>;
473473
}
474474

sdk/servicebus/service-bus/src/sender.ts

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -89,8 +89,8 @@ export interface ServiceBusSender {
8989
/**
9090
* Schedules given messages to appear on Service Bus Queue/Subscription at a later time.
9191
*
92-
* @param scheduledEnqueueTimeUtc - The UTC time at which the messages should be enqueued.
9392
* @param messages - Message or an array of messages that need to be scheduled.
93+
* @param scheduledEnqueueTimeUtc - The UTC time at which the messages should be enqueued.
9494
* @param options - Options bag to pass an abort signal or tracing options.
9595
* @returns Promise<Long[]> - The sequence numbers of messages that were scheduled.
9696
* You will need the sequence number if you intend to cancel the scheduling of the messages.
@@ -100,8 +100,8 @@ export interface ServiceBusSender {
100100
* @throws MessagingError if the service returns an error while scheduling messages.
101101
*/
102102
scheduleMessages(
103-
scheduledEnqueueTimeUtc: Date,
104103
messages: ServiceBusMessage | ServiceBusMessage[],
104+
scheduledEnqueueTimeUtc: Date,
105105
options?: OperationOptionsBase
106106
): Promise<Long[]>;
107107

@@ -244,8 +244,8 @@ export class ServiceBusSenderImpl implements ServiceBusSender {
244244
}
245245

246246
async scheduleMessages(
247-
scheduledEnqueueTimeUtc: Date,
248247
messages: ServiceBusMessage | ServiceBusMessage[],
248+
scheduledEnqueueTimeUtc: Date,
249249
options: OperationOptionsBase = {}
250250
): Promise<Long[]> {
251251
this._throwIfSenderOrConnectionClosed();

sdk/servicebus/service-bus/test/internal/sender.spec.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -77,9 +77,9 @@ describe("sender unit tests", () => {
7777

7878
try {
7979
await sender.scheduleMessages(
80-
new Date(),
8180
// @ts-expect-error
82-
invalidValue
81+
invalidValue,
82+
new Date()
8383
);
8484
} catch (err) {
8585
assert.equal(err.name, "TypeError");

sdk/servicebus/service-bus/test/invalidParameters.spec.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -399,7 +399,7 @@ describe("invalid parameters", () => {
399399
it("ScheduledMessages: Missing messages in Sender", async function(): Promise<void> {
400400
let caughtError: Error | undefined;
401401
try {
402-
await sender.scheduleMessages(new Date(), undefined as any);
402+
await sender.scheduleMessages(undefined as any, new Date());
403403
} catch (error) {
404404
caughtError = error;
405405
}

sdk/servicebus/service-bus/test/managementClient.spec.ts

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -78,8 +78,8 @@ describe("ManagementClient - disconnects", function(): void {
7878
// Send a message so we have something to peek.
7979

8080
const deliveryIds = await sender.scheduleMessages(
81-
new Date("2020-04-25T12:00:00Z"),
82-
TestMessage.getSample()
81+
TestMessage.getSample(),
82+
new Date("2020-04-25T12:00:00Z")
8383
);
8484

8585
deliveryIds.length.should.equal(1, "Unexpected number of scheduled messages.");
@@ -97,8 +97,8 @@ describe("ManagementClient - disconnects", function(): void {
9797

9898
// peek additional messages
9999
const [deliveryId] = await sender.scheduleMessages(
100-
new Date("2020-04-25T12:00:00Z"),
101-
TestMessage.getSample()
100+
TestMessage.getSample(),
101+
new Date("2020-04-25T12:00:00Z")
102102
);
103103
deliveryIds.push(deliveryId);
104104
deliveryIds.length.should.equal(2, "Unexpected number of scheduled messages.");

sdk/servicebus/service-bus/test/retries.spec.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -102,7 +102,7 @@ describe("Retries - ManagementClient", () => {
102102
it("Unpartitioned Queue: scheduleMessages", async function(): Promise<void> {
103103
await beforeEachTest(TestClientType.UnpartitionedQueue);
104104
await mockManagementClientAndVerifyRetries(async () => {
105-
await sender.scheduleMessages(new Date(), [TestMessage.getSample()]);
105+
await sender.scheduleMessages([TestMessage.getSample()], new Date());
106106
});
107107
});
108108

sdk/servicebus/service-bus/test/sendAndSchedule.spec.ts

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -155,7 +155,7 @@ describe("Sender Tests", () => {
155155
: TestMessage.getSample();
156156
const scheduleTime = new Date(Date.now() + 10000); // 10 seconds from
157157

158-
await sender.scheduleMessages(scheduleTime, testMessage);
158+
await sender.scheduleMessages(testMessage, scheduleTime);
159159

160160
const msgs = await receiver.receiveMessages(1);
161161
const msgEnqueueTime = msgs[0].enqueuedTimeUtc ? msgs[0].enqueuedTimeUtc.valueOf() : 0;
@@ -180,7 +180,7 @@ describe("Sender Tests", () => {
180180
? [TestMessage.getSessionSample(), TestMessage.getSessionSample()]
181181
: [TestMessage.getSample(), TestMessage.getSample()];
182182
const scheduleTime = new Date(Date.now() + 10000); // 10 seconds from now
183-
await sender.scheduleMessages(scheduleTime, testMessages);
183+
await sender.scheduleMessages(testMessages, scheduleTime);
184184

185185
const msgs = await receiver.receiveMessages(2);
186186
should.equal(Array.isArray(msgs), true, "`ReceivedMessages` is not an array");
@@ -232,7 +232,7 @@ describe("Sender Tests", () => {
232232
? TestMessage.getSessionSample()
233233
: TestMessage.getSample();
234234
const scheduleTime = new Date(Date.now() + 30000); // 30 seconds from now as anything less gives inconsistent results for cancelling
235-
const [sequenceNumber] = await sender.scheduleMessages(scheduleTime, testMessage);
235+
const [sequenceNumber] = await sender.scheduleMessages(testMessage, scheduleTime);
236236

237237
await delay(2000);
238238

@@ -249,10 +249,10 @@ describe("Sender Tests", () => {
249249
: TestMessage.getSample;
250250

251251
const scheduleTime = new Date(Date.now() + 30000); // 30 seconds from now as anything less gives inconsistent results for cancelling
252-
const [sequenceNumber1, sequenceNumber2] = await sender.scheduleMessages(scheduleTime, [
253-
getTestMessage(),
254-
getTestMessage()
255-
]);
252+
const [sequenceNumber1, sequenceNumber2] = await sender.scheduleMessages(
253+
[getTestMessage(), getTestMessage()],
254+
scheduleTime
255+
);
256256

257257
await delay(2000);
258258

@@ -293,9 +293,9 @@ describe("Sender Tests", () => {
293293
];
294294
const [result1, result2, result3] = await Promise.all([
295295
// Schedule messages in parallel
296-
sender.scheduleMessages(date, messages[0]),
297-
sender.scheduleMessages(date, messages[1]),
298-
sender.scheduleMessages(date, messages[2])
296+
sender.scheduleMessages(messages[0], date),
297+
sender.scheduleMessages(messages[1], date),
298+
sender.scheduleMessages(messages[2], date)
299299
]);
300300
const sequenceNumbers = [result1[0], result2[0], result3[0]];
301301
compareSequenceNumbers(sequenceNumbers[0], sequenceNumbers[1]);
@@ -354,7 +354,7 @@ describe("Sender Tests", () => {
354354
const controller = new AbortController();
355355
setTimeout(() => controller.abort(), 1);
356356
try {
357-
await sender.scheduleMessages(new Date(), [TestMessage.getSample()], {
357+
await sender.scheduleMessages([TestMessage.getSample()], new Date(), {
358358
abortSignal: controller.signal
359359
});
360360
throw new Error(`Test failure`);
@@ -521,7 +521,7 @@ describe("ServiceBusMessage validations", function(): void {
521521
it("ScheduleMessages() throws if " + testInput.title, async function(): Promise<void> {
522522
let actualErrorMsg = "";
523523
let actualErr;
524-
await sender.scheduleMessages(new Date(), testInput.message).catch((err) => {
524+
await sender.scheduleMessages(testInput.message, new Date()).catch((err) => {
525525
actualErr = err;
526526
actualErrorMsg = err.message;
527527
});

sdk/servicebus/service-bus/test/serviceBusClient.spec.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -511,7 +511,7 @@ describe("Errors after close()", function(): void {
511511
should.equal(errorSendBatch, expectedErrorMsg, "Expected error not thrown for sendBatch()");
512512

513513
let errorScheduleMsgs: string = "";
514-
await sender.scheduleMessages(new Date(Date.now() + 30000), [testMessage]).catch((err) => {
514+
await sender.scheduleMessages([testMessage], new Date(Date.now() + 30000)).catch((err) => {
515515
errorScheduleMsgs = err.message;
516516
});
517517
should.equal(

0 commit comments

Comments
 (0)