Skip to content

Commit dcb7bd6

Browse files
committed
Add two more AQ enqMany() tests
1 parent c6e11a9 commit dcb7bd6

File tree

2 files changed

+118
-0
lines changed

2 files changed

+118
-0
lines changed

test/aq2.js

Lines changed: 115 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -288,4 +288,119 @@ describe('218. aq2.js', function() {
288288
should.not.exist(err);
289289
}
290290
}); // 218.7
291+
292+
const addrArray = [
293+
{
294+
NAME: "John",
295+
ADDRESS: "100 Oracle Parkway Redwood City, CA US 94065"
296+
},
297+
{
298+
NAME: "Jenny",
299+
ADDRESS: "200 Oracle Parkway Redwood City, CA US 94065"
300+
},
301+
{
302+
NAME: "Laura",
303+
ADDRESS: "300 Oracle Parkway Redwood City, CA US 94065"
304+
},
305+
{
306+
NAME: "Lawrance",
307+
ADDRESS: "400 Oracle Parkway Redwood City, CA US 94065"
308+
}
309+
];
310+
311+
it('218.8 enqMany() with DB object array', async () => {
312+
313+
try {
314+
// Enqueue
315+
const queue1 = await conn.getQueue(
316+
objQueueName,
317+
{ payloadType: objType }
318+
);
319+
let msgArray = [];
320+
for (let i = 0; i < addrArray.length; i++) {
321+
msgArray[i] = new queue1.payloadTypeClass(addrArray[i]);
322+
}
323+
await queue1.enqMany(msgArray);
324+
325+
// Dequeue
326+
const queue2 = await conn.getQueue(
327+
objQueueName,
328+
{ payloadType: objType }
329+
);
330+
const messages = await queue2.deqMany(5); // get at most 5 messages
331+
if (messages) {
332+
should.strictEqual(addrArray.length, messages.length);
333+
should.strictEqual(addrArray[0].NAME, messages[0].payload.NAME);
334+
should.strictEqual(addrArray[0].ADDRESS, messages[0].payload.ADDRESS);
335+
should.strictEqual(addrArray[3].NAME, messages[3].payload.NAME);
336+
should.strictEqual(addrArray[3].ADDRESS, messages[3].payload.ADDRESS);
337+
}
338+
} catch (err) {
339+
should.not.exist(err);
340+
}
341+
}); // 218.8
342+
343+
it('218.9 enqMany() with DB object array as payload', async () => {
344+
try {
345+
// Enqueue
346+
const queue1 = await conn.getQueue(
347+
objQueueName,
348+
{ payloadType: objType }
349+
);
350+
let msgArray = [];
351+
for (let i = 0; i < addrArray.length; i++) {
352+
let msg = new queue1.payloadTypeClass(addrArray[i]);
353+
msgArray[i] = { payload: msg };
354+
}
355+
await queue1.enqMany(msgArray);
356+
357+
// Dequeue
358+
const queue2 = await conn.getQueue(
359+
objQueueName,
360+
{ payloadType: objType }
361+
);
362+
const messages = await queue2.deqMany(5); // get at most 5 messages
363+
if (messages) {
364+
should.strictEqual(addrArray.length, messages.length);
365+
should.strictEqual(addrArray[0].NAME, messages[0].payload.NAME);
366+
should.strictEqual(addrArray[0].ADDRESS, messages[0].payload.ADDRESS);
367+
should.strictEqual(addrArray[3].NAME, messages[3].payload.NAME);
368+
should.strictEqual(addrArray[3].ADDRESS, messages[3].payload.ADDRESS);
369+
}
370+
} catch (err) {
371+
should.not.exist(err);
372+
}
373+
}); //218.9
374+
375+
it('218.10 enqMany() with JavaScript objects as payload', async () => {
376+
try {
377+
// Enqueue
378+
const queue1 = await conn.getQueue(
379+
objQueueName,
380+
{ payloadType: objType }
381+
);
382+
let msgArray = [];
383+
for (let i = 0; i < addrArray.length; i++) {
384+
let msg = addrArray[i];
385+
msgArray[i] = { payload: msg };
386+
}
387+
await queue1.enqMany(msgArray);
388+
389+
// Dequeue
390+
const queue2 = await conn.getQueue(
391+
objQueueName,
392+
{ payloadType: objType }
393+
);
394+
const messages = await queue2.deqMany(5); // get at most 5 messages
395+
if (messages) {
396+
should.strictEqual(addrArray.length, messages.length);
397+
should.strictEqual(addrArray[0].NAME, messages[0].payload.NAME);
398+
should.strictEqual(addrArray[0].ADDRESS, messages[0].payload.ADDRESS);
399+
should.strictEqual(addrArray[3].NAME, messages[3].payload.NAME);
400+
should.strictEqual(addrArray[3].ADDRESS, messages[3].payload.ADDRESS);
401+
}
402+
} catch (err) {
403+
should.not.exist(err);
404+
}
405+
}); // 218.10
291406
});

test/list.txt

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4590,6 +4590,9 @@ oracledb.OUT_FORMAT_OBJECT and resultSet = true
45904590
218.5 Enqueue a DB object as payload attribute
45914591
218.6 Enqueue a JavaScript object as payload attribute
45924592
218.7 Negative - Set payloadType as oracledb.DB_TYPE_OBJECT
4593+
218.8 enqMany() with DB object array
4594+
218.9 enqMany() with DB object array as payload
4595+
218.10 enqMany() with JavaScript objects as payload
45934596

45944597
219. aq3.js
45954598
219.1 The read-only property "name" of AqQueue Class

0 commit comments

Comments
 (0)