diff --git a/src/lib/model/OutboundBulkQuotesModel.js b/src/lib/model/OutboundBulkQuotesModel.js index 7d3cabf88..950219193 100644 --- a/src/lib/model/OutboundBulkQuotesModel.js +++ b/src/lib/model/OutboundBulkQuotesModel.js @@ -162,8 +162,8 @@ class OutboundBulkQuotesModel { } } } else if (message.type === 'bulkQuoteResponseError') { - error = new BackendError(`Got an error response requesting bulk quote: ${util.inspect(message.data, { depth: Infinity })}`, 500); - error.mojaloopError = message.data; + error = new BackendError(`Got an error response requesting bulk quote: ${util.inspect(message.data.body, { depth: Infinity })}`, 500); + error.mojaloopError = message.data.body; } else { this._logger.push({ message }).log(`Ignoring cache notification for bulk quote ${bulkQuoteKey}. Unknown message type ${message.type}.`); @@ -297,8 +297,8 @@ class OutboundBulkQuotesModel { let message = JSON.parse(msg); if (message.type === 'bulkQuoteError') { - error = new BackendError(`Got an error response retrieving bulk quote: ${util.inspect(message.data, { depth: Infinity })}`, 500); - error.mojaloopError = message.data; + error = new BackendError(`Got an error response retrieving bulk quote: ${util.inspect(message.data.body, { depth: Infinity })}`, 500); + error.mojaloopError = message.data.body; } else if (message.type !== 'bulkQuoteResponse') { this._logger.push({ message }).log(`Ignoring cache notification for bulk quote ${bulkQuoteKey}. Uknokwn message type ${message.type}.`); return; diff --git a/src/lib/model/OutboundBulkTransfersModel.js b/src/lib/model/OutboundBulkTransfersModel.js index ce953c8f6..e79997563 100644 --- a/src/lib/model/OutboundBulkTransfersModel.js +++ b/src/lib/model/OutboundBulkTransfersModel.js @@ -161,8 +161,8 @@ class OutboundBulkTransfersModel { } } } else if (message.type === 'bulkTransferError') { - error = new BackendError(`Got an error response preparing bulk transfer: ${util.inspect(message.data, { depth: Infinity })}`, 500); - error.mojaloopError = message.data; + error = new BackendError(`Got an error response preparing bulk transfer: ${util.inspect(message.data.body, { depth: Infinity })}`, 500); + error.mojaloopError = message.data.body; } else { this._logger.push({ message }).log(`Ignoring cache notification for bulk transfer ${bulkTransferKey}. Unknown message type ${message.type}.`); @@ -289,8 +289,8 @@ class OutboundBulkTransfersModel { let message = JSON.parse(msg); if (message.type === 'bulkTransferError') { - error = new BackendError(`Got an error response retrieving bulk transfer: ${util.inspect(message.data, { depth: Infinity })}`, 500); - error.mojaloopError = message.data; + error = new BackendError(`Got an error response retrieving bulk transfer: ${util.inspect(message.data.body, { depth: Infinity })}`, 500); + error.mojaloopError = message.data.body; } else if (message.type !== 'bulkTransferFulfil') { this._logger.push({ message }).log(`Ignoring cache notification for bulk transfer ${bulkTransferKey}. Uknokwn message type ${message.type}.`); return; diff --git a/src/lib/model/OutboundRequestToPayTransferModel.js b/src/lib/model/OutboundRequestToPayTransferModel.js index 503753cd0..17505f7cb 100644 --- a/src/lib/model/OutboundRequestToPayTransferModel.js +++ b/src/lib/model/OutboundRequestToPayTransferModel.js @@ -267,11 +267,10 @@ class OutboundRequestToPayTransferModel { const subId = await this._cache.subscribe(payeeKey, (cn, msg, subId) => { try { let payee = JSON.parse(msg); - - if(payee.errorInformation) { + if(payee.body && payee.body.errorInformation) { // this is an error response to our GET /parties request - const err = new BackendError(`Got an error response resolving party: ${util.inspect(payee)}`, 500); - err.mojaloopError = payee; + const err = new BackendError(`Got an error response resolving party: ${util.inspect(payee.body)}`, 500); + err.mojaloopError = payee.body; // cancel the timeout handler clearTimeout(timeout); @@ -405,8 +404,8 @@ class OutboundRequestToPayTransferModel { } } } else if (message.type === 'quoteResponseError') { - error = new BackendError(`Got an error response requesting quote: ${util.inspect(message.data)}`, 500); - error.mojaloopError = message.data; + error = new BackendError(`Got an error response requesting quote: ${util.inspect(message.data.body)}`, 500); + error.mojaloopError = message.data.body; } else { this._logger.push({ message }).log(`Ignoring cache notification for quote ${quoteKey}. Unknown message type ${message.type}.`); @@ -620,8 +619,8 @@ class OutboundRequestToPayTransferModel { } } } else if (message.type === 'transferError') { - error = new BackendError(`Got an error response preparing transfer: ${util.inspect(message.data)}`, 500); - error.mojaloopError = message.data; + error = new BackendError(`Got an error response preparing transfer: ${util.inspect(message.data.body)}`, 500); + error.mojaloopError = message.data.body; } else { this._logger.push({ message }).log(`Ignoring cache notification for transfer ${transferKey}. Uknokwn message type ${message.type}.`); return; @@ -701,8 +700,8 @@ class OutboundRequestToPayTransferModel { let message = JSON.parse(msg); if (message.type === 'transferError') { - error = new BackendError(`Got an error response retrieving transfer: ${util.inspect(message.data)}`, 500); - error.mojaloopError = message.data; + error = new BackendError(`Got an error response retrieving transfer: ${util.inspect(message.data.body)}`, 500); + error.mojaloopError = message.data.body; } else if (message.type !== 'transferFulfil') { this._logger.push({ message }).log(`Ignoring cache notification for transfer ${transferKey}. Uknokwn message type ${message.type}.`); return; diff --git a/src/lib/model/OutboundTransfersModel.js b/src/lib/model/OutboundTransfersModel.js index 09d03b086..607c640af 100644 --- a/src/lib/model/OutboundTransfersModel.js +++ b/src/lib/model/OutboundTransfersModel.js @@ -497,8 +497,8 @@ class OutboundTransfersModel { } } } else if (message.type === 'quoteResponseError') { - error = new BackendError(`Got an error response requesting quote: ${util.inspect(message.data, { depth: Infinity })}`, 500); - error.mojaloopError = message.data; + error = new BackendError(`Got an error response requesting quote: ${util.inspect(message.data.body, { depth: Infinity })}`, 500); + error.mojaloopError = message.data.body; } else { this._logger.push({ message }).log(`Ignoring cache notification for quote ${quoteKey}. Unknown message type ${message.type}.`); diff --git a/test/unit/lib/model/OutboundBulkQuotesModel.test.js b/test/unit/lib/model/OutboundBulkQuotesModel.test.js index 74a6b33e9..67e333d18 100644 --- a/test/unit/lib/model/OutboundBulkQuotesModel.test.js +++ b/test/unit/lib/model/OutboundBulkQuotesModel.test.js @@ -207,10 +207,13 @@ describe('OutboundBulkQuotesModel', () => { const expectError = { type: 'bulkQuoteResponseError', data: { - errorInformation: { - errorCode: '3205', - errorDescription: 'Bulk quote ID not found' - } + body: { + errorInformation: { + errorCode: '3205', + errorDescription: 'Bulk quote ID not found' + } + }, + headers: {} } }; @@ -239,7 +242,7 @@ describe('OutboundBulkQuotesModel', () => { expect(err.message.replace(/[ \n]/g,'')).toEqual(errMsg.replace(/[ \n]/g,'')); expect(err.bulkQuoteState).toBeTruthy(); expect(err.bulkQuoteState.lastError).toBeTruthy(); - expect(err.bulkQuoteState.lastError.mojaloopError).toEqual(expectError.data); + expect(err.bulkQuoteState.lastError.mojaloopError).toEqual(expectError.data.body); expect(err.bulkQuoteState.lastError.bulkQuoteState).toBe(undefined); return; } diff --git a/test/unit/lib/model/OutboundBulkTransfersModel.test.js b/test/unit/lib/model/OutboundBulkTransfersModel.test.js index 3ae7ebcc5..80d10ab02 100644 --- a/test/unit/lib/model/OutboundBulkTransfersModel.test.js +++ b/test/unit/lib/model/OutboundBulkTransfersModel.test.js @@ -202,10 +202,13 @@ describe('outboundBulkTransferModel', () => { const expectError = { type: 'bulkTransferError', data: { - errorInformation: { - errorCode: '4001', - errorDescription: 'Payer FSP insufficient liquidity' - } + body: { + errorInformation: { + errorCode: '4001', + errorDescription: 'Payer FSP insufficient liquidity' + } + }, + headers: {} } }; @@ -234,7 +237,7 @@ describe('outboundBulkTransferModel', () => { expect(err.message.replace(/[ \n]/g,'')).toEqual(errMsg.replace(/[ \n]/g,'')); expect(err.bulkTransferState).toBeTruthy(); expect(err.bulkTransferState.lastError).toBeTruthy(); - expect(err.bulkTransferState.lastError.mojaloopError).toEqual(expectError.data); + expect(err.bulkTransferState.lastError.mojaloopError).toEqual(expectError.data.body); expect(err.bulkTransferState.lastError.bulkTransferState).toBe(undefined); return; } diff --git a/test/unit/lib/model/OutboundTransfersModel.test.js b/test/unit/lib/model/OutboundTransfersModel.test.js index 029346469..8986554d5 100644 --- a/test/unit/lib/model/OutboundTransfersModel.test.js +++ b/test/unit/lib/model/OutboundTransfersModel.test.js @@ -1390,10 +1390,13 @@ describe('outboundModel', () => { const expectError = { type: 'quoteResponseError', data: { - errorInformation: { - errorCode: '3205', - errorDescription: 'Quote ID not found' - } + body: { + errorInformation: { + errorCode: '3205', + errorDescription: 'Quote ID not found' + } + }, + headers: {} } }; @@ -1430,7 +1433,7 @@ describe('outboundModel', () => { expect(err.message.replace(/[ \n]/g,'')).toEqual(errMsg.replace(/[ \n]/g,'')); expect(err.transferState).toBeTruthy(); expect(err.transferState.lastError).toBeTruthy(); - expect(err.transferState.lastError.mojaloopError).toEqual(expectError.data); + expect(err.transferState.lastError.mojaloopError).toEqual(expectError.data.body); expect(err.transferState.lastError.transferState).toBe(undefined); return; }