Add two more AQ enqMany() tests

This commit is contained in:
Christopher Jones 2019-08-14 22:06:08 +10:00
parent c6e11a98c2
commit dcb7bd6191
2 changed files with 118 additions and 0 deletions

View File

@ -288,4 +288,119 @@ describe('218. aq2.js', function() {
should.not.exist(err);
}
}); // 218.7
const addrArray = [
{
NAME: "John",
ADDRESS: "100 Oracle Parkway Redwood City, CA US 94065"
},
{
NAME: "Jenny",
ADDRESS: "200 Oracle Parkway Redwood City, CA US 94065"
},
{
NAME: "Laura",
ADDRESS: "300 Oracle Parkway Redwood City, CA US 94065"
},
{
NAME: "Lawrance",
ADDRESS: "400 Oracle Parkway Redwood City, CA US 94065"
}
];
it('218.8 enqMany() with DB object array', async () => {
try {
// Enqueue
const queue1 = await conn.getQueue(
objQueueName,
{ payloadType: objType }
);
let msgArray = [];
for (let i = 0; i < addrArray.length; i++) {
msgArray[i] = new queue1.payloadTypeClass(addrArray[i]);
}
await queue1.enqMany(msgArray);
// Dequeue
const queue2 = await conn.getQueue(
objQueueName,
{ payloadType: objType }
);
const messages = await queue2.deqMany(5); // get at most 5 messages
if (messages) {
should.strictEqual(addrArray.length, messages.length);
should.strictEqual(addrArray[0].NAME, messages[0].payload.NAME);
should.strictEqual(addrArray[0].ADDRESS, messages[0].payload.ADDRESS);
should.strictEqual(addrArray[3].NAME, messages[3].payload.NAME);
should.strictEqual(addrArray[3].ADDRESS, messages[3].payload.ADDRESS);
}
} catch (err) {
should.not.exist(err);
}
}); // 218.8
it('218.9 enqMany() with DB object array as payload', async () => {
try {
// Enqueue
const queue1 = await conn.getQueue(
objQueueName,
{ payloadType: objType }
);
let msgArray = [];
for (let i = 0; i < addrArray.length; i++) {
let msg = new queue1.payloadTypeClass(addrArray[i]);
msgArray[i] = { payload: msg };
}
await queue1.enqMany(msgArray);
// Dequeue
const queue2 = await conn.getQueue(
objQueueName,
{ payloadType: objType }
);
const messages = await queue2.deqMany(5); // get at most 5 messages
if (messages) {
should.strictEqual(addrArray.length, messages.length);
should.strictEqual(addrArray[0].NAME, messages[0].payload.NAME);
should.strictEqual(addrArray[0].ADDRESS, messages[0].payload.ADDRESS);
should.strictEqual(addrArray[3].NAME, messages[3].payload.NAME);
should.strictEqual(addrArray[3].ADDRESS, messages[3].payload.ADDRESS);
}
} catch (err) {
should.not.exist(err);
}
}); //218.9
it('218.10 enqMany() with JavaScript objects as payload', async () => {
try {
// Enqueue
const queue1 = await conn.getQueue(
objQueueName,
{ payloadType: objType }
);
let msgArray = [];
for (let i = 0; i < addrArray.length; i++) {
let msg = addrArray[i];
msgArray[i] = { payload: msg };
}
await queue1.enqMany(msgArray);
// Dequeue
const queue2 = await conn.getQueue(
objQueueName,
{ payloadType: objType }
);
const messages = await queue2.deqMany(5); // get at most 5 messages
if (messages) {
should.strictEqual(addrArray.length, messages.length);
should.strictEqual(addrArray[0].NAME, messages[0].payload.NAME);
should.strictEqual(addrArray[0].ADDRESS, messages[0].payload.ADDRESS);
should.strictEqual(addrArray[3].NAME, messages[3].payload.NAME);
should.strictEqual(addrArray[3].ADDRESS, messages[3].payload.ADDRESS);
}
} catch (err) {
should.not.exist(err);
}
}); // 218.10
});

View File

@ -4590,6 +4590,9 @@ oracledb.OUT_FORMAT_OBJECT and resultSet = true
218.5 Enqueue a DB object as payload attribute
218.6 Enqueue a JavaScript object as payload attribute
218.7 Negative - Set payloadType as oracledb.DB_TYPE_OBJECT
218.8 enqMany() with DB object array
218.9 enqMany() with DB object array as payload
218.10 enqMany() with JavaScript objects as payload
219. aq3.js
219.1 The read-only property "name" of AqQueue Class