Added tests for long messages

This commit is contained in:
2015-06-04 00:27:42 +02:00
parent f15d89283d
commit 4d1d44ff55
2 changed files with 84 additions and 20 deletions
+15 -14
View File
@@ -15,10 +15,11 @@ var log = require('winston'),
* @param func callback(err, [retPdu, ...])
*/
function smsResp(status, callback) {
var sms = this,
var sms = this,
tasks = [],
localSmsId,
err,
i,
tasks = [];
i;
if (typeof status === 'function') {
callback = status;
@@ -43,26 +44,27 @@ function smsResp(status, callback) {
status = 'ESME_RUNKNOWNERR'; // Set to unknown error in this case
}
if (sms.pduObjs === undefined && sms.pduObj === undefined) {
if (sms.pduObjs === undefined) {
err = new Error('No pdu objects found to base return PDU upon');
log.warn('larvitsmpp: lib/session.js: smsResp() - ' + err.message);
callback(err);
return;
}
if (sms.pduObjs === undefined) {
sms.pduObjs = [{'pduObj': sms.pduObj}];
}
// Build async tasks to run the responses in parallel
i = 0;
while (sms.pduObjs[i] !== undefined) {
if (sms.pduObjs[i].pduObj.params.esm_class === 0x40) {
localSmsId = sms.smsId + '-' + (i + 1);
} else {
localSmsId = sms.smsId;
}
tasks.push(async.apply(
sms.session.sendReturn,
sms.pduObjs[i].pduObj,
status,
{'message_id': sms.smsId},
{'message_id': localSmsId},
false
));
@@ -355,7 +357,7 @@ function session(sock) {
* to - international format
* message - string
* dlr - boolean defaults to false
* @param func callback(err, smsIds, retPduObj)
* @param func callback(err, smsIds, retPduObjs)
*/
returnObj.sendSms = function(smsOptions, callback) {
var pduObj = {};
@@ -384,7 +386,7 @@ function session(sock) {
returnObj.send(pduObj, function(err, retPduObj) {
if (typeof callback === 'function') {
callback(err, [retPduObj.params.message_id], retPduObj);
callback(err, [retPduObj.params.message_id], [retPduObj]);
}
});
};
@@ -619,8 +621,7 @@ function session(sock) {
// These are needed for references here and there in functions
'session': returnObj,
'pduObj': pduObj,
'pduObjs': [{'pduObj': pduObj}],
'from': pduObj.params.source_addr,
'to': pduObj.params.destination_addr,
'submitTime': new Date(),