UNPKG

irest-app-test

Version:

iRest simulator application tooling and scripts - Backend

3 lines 7.48 kB
"use strict";var _interopRequireDefault=require("@babel/runtime/helpers/interopRequireDefault");Object.defineProperty(exports,"__esModule",{value:!0}),exports["default"]=void 0;var _defineProperty2=_interopRequireDefault(require("@babel/runtime/helpers/defineProperty")),_toConsumableArray2=_interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray")),_isEmpty=_interopRequireDefault(require("lodash/isEmpty")),_path=_interopRequireDefault(require("path")),_responseHelper=_interopRequireDefault(require("../../../helpers/responseHelper")),_schemaDefaults=require("../../../constants/schemaDefaults"),_messages=require("../../../constants/messages"),_streamlineResponse=_interopRequireDefault(require("./streamlineResponse")),_collectResponse=_interopRequireDefault(require("./collectResponse")),_logger=_interopRequireDefault(require("../../../logger")),_sqliteConf=_interopRequireDefault(require("../../../sqliteConf"));function ownKeys(a,b){var c=Object.keys(a);if(Object.getOwnPropertySymbols){var d=Object.getOwnPropertySymbols(a);b&&(d=d.filter(function(b){return Object.getOwnPropertyDescriptor(a,b).enumerable})),c.push.apply(c,d)}return c}function _objectSpread(a){for(var b,c=1;c<arguments.length;c++)b=null==arguments[c]?{}:arguments[c],c%2?ownKeys(Object(b),!0).forEach(function(c){(0,_defineProperty2["default"])(a,c,b[c])}):Object.getOwnPropertyDescriptors?Object.defineProperties(a,Object.getOwnPropertyDescriptors(b)):ownKeys(Object(b)).forEach(function(c){Object.defineProperty(a,c,Object.getOwnPropertyDescriptor(b,c))});return a}var _require=require("@faker-js/faker"),faker=_require.faker,getReturnedFileNames=function(a){return"text/csv"===a?"iRest.csv":"application/pdf"===a?"iRest.pdf":"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"===a?"iRest.xlsx":"image/jpeg"===a?"iRest.jpg":"image/png"===a?"iRest.png":"iRest.csv"};function defaultApiResponseHander(a,b){var c=a.mockData,d=c._id,e=a.mockData.statusCode,f=a.isPreview?_sqliteConf["default"].TempServiceResponse:_sqliteConf["default"].ServiceResponse;f.findOne({where:{mockId:d}}).then(function(d){// Return uploaded file if(_logger["default"].debug(d),"application/json"!==c.contentType&&c.dynamicResponseSpecificKeyValue)try{var f=JSON.parse(c.dynamicResponseSpecificKeyValue);if(f.fileName&&f.updatedFileName)return b.download("uploads/".concat(f.updatedFileName),f.fileName,function(a){_logger["default"].error(a),b.headersSent||b.status(a.statusCode||500).send("Error getting downloaded file")})}catch(a){_logger["default"].error(a),b.status(a.statusCode||500).send("Error sending file")}// Return sample file if(_schemaDefaults.fileResponseTypes.includes(c.contentType)){var g=getReturnedFileNames(c.contentType),h=_path["default"].resolve(__dirname,"../../../"),i=_path["default"].resolve(h,"responseFiles",g);return b.download(i,function(a){b.headersSent||b.status(a.statusCode||500).send("Error sending file")})}if(!(0,_isEmpty["default"])(d.serviceResponseBody)){var j;try{j=JSON.parse(d.serviceResponseBody)}catch(a){_logger["default"].error(JSON.stringify(a)),j=d.serviceResponseBody}if(!c.isDynamicResponse){if(c.isBulkDataCount)return c.bulkDataCount>_schemaDefaults.dataLimits.dataCount?b.status(500).send(_messages.countExceedErrorMessage):(a.requestData="application/octet-stream"===d.contentType?{inputData:j,bulkDataCount:c.bulkDataCount}:{inputData:Array.isArray(j)?(0,_toConsumableArray2["default"])(j):_objectSpread({},j),bulkDataCount:c.bulkDataCount},c.bulkDataCount<=_schemaDefaults.dataLimits.nonStreamDataCount?(0,_collectResponse["default"])(a,b):(0,_streamlineResponse["default"])(a,b));if(c.isBulkDataSize)return c.bulkDataSize>_schemaDefaults.dataLimits.dataSize/1024?b.status(500).send(_messages.sizeExceedErrorMessage):(a.requestData={inputData:Array.isArray(j)?(0,_toConsumableArray2["default"])(j):_objectSpread({},j),bulkDataSize:c.bulkDataSize},c.bulkDataSize<=_schemaDefaults.dataLimits.nonStreamDataSize/1024?(0,_collectResponse["default"])(a,b):(0,_streamlineResponse["default"])(a,b))}if(!c.isDynamicResponse){if(c.isBulkDataCount)return c.bulkDataCount>_schemaDefaults.dataLimits.dataCount?b.status(500).send(_messages.countExceedErrorMessage):(a.requestData={inputData:Array.isArray(j)?(0,_toConsumableArray2["default"])(j):_objectSpread({},j),bulkDataCount:c.bulkDataCount},c.bulkDataCount<=_schemaDefaults.dataLimits.nonStreamDataCount?(0,_collectResponse["default"])(a,b):(0,_streamlineResponse["default"])(a,b));if(c.isBulkDataSize)return c.bulkDataSize>_schemaDefaults.dataLimits.dataSize/1024?b.status(500).send(_messages.sizeExceedErrorMessage):(a.requestData={inputData:Array.isArray(j)?(0,_toConsumableArray2["default"])(j):_objectSpread({},j),bulkDataSize:c.bulkDataSize},c.bulkDataSize<=_schemaDefaults.dataLimits.nonStreamDataSize/1024?(0,_collectResponse["default"])(a,b):(0,_streamlineResponse["default"])(a,b))}if(c.isDynamicResponse){if(c.dynamicResponseRandom){var k=c.dynamicResponseKey;if(c.isDynamicImportCount)return c.dynamicImportCount>_schemaDefaults.dataLimits.dataCount?b.status(500).send(_messages.countExceedErrorMessage):(a.requestData={inputData:Array.isArray(j)?(0,_toConsumableArray2["default"])(j):_objectSpread({},j),dynamicData:JSON.stringify(faker.lorem.sentences()),specificKey:k,dataCount:c.dynamicImportCount,bulkDataCount:c.bulkDataCount,bulkDataSize:c.bulkDataSize},c.dynamicImportCount<=_schemaDefaults.dataLimits.nonStreamDataCount?(0,_collectResponse["default"])(a,b):(0,_streamlineResponse["default"])(a,b));if(c.isDynamicImportSize)return c.dynamicImportSize>_schemaDefaults.dataLimits.dataSize/1024?b.status(500).send(_messages.sizeExceedErrorMessage):(a.requestData={inputData:Array.isArray(j)?(0,_toConsumableArray2["default"])(j):_objectSpread({},j),dynamicData:JSON.stringify(faker.lorem.sentences()),specificKey:k,dataSize:c.dynamicImportSize,bulkDataSize:c.bulkDataSize,bulkDataCount:c.bulkDataCount},c.dynamicImportSize<=_schemaDefaults.dataLimits.nonStreamDataSize/1024?(0,_collectResponse["default"])(a,b):(0,_streamlineResponse["default"])(a,b))}if(c.dynamicResponseSpecific){var l,m=c.dynamicResponseKey,n=c.dynamicResponseSpecificKeyValue;try{l=JSON.parse(n)}catch(a){_logger["default"].error(JSON.stringify(a)),l=n}if(c.isDynamicImportCount)return c.dynamicImportCount>_schemaDefaults.dataLimits.dataCount?b.status(500).send(_messages.countExceedErrorMessage):(a.requestData={inputData:Array.isArray(j)?(0,_toConsumableArray2["default"])(j):_objectSpread({},j),dynamicData:l,specificKey:m,dataCount:c.dynamicImportCount,bulkDataSize:c.bulkDataSize,bulkDataCount:c.bulkDataCount},c.dynamicImportCount<=_schemaDefaults.dataLimits.nonStreamDataCount?(0,_collectResponse["default"])(a,b):(0,_streamlineResponse["default"])(a,b));if(c.isDynamicImportSize)return c.dynamicImportSize>_schemaDefaults.dataLimits.dataSize/1024?b.status(500).send(_messages.sizeExceedErrorMessage):(a.requestData={inputData:Array.isArray(j)?(0,_toConsumableArray2["default"])(j):_objectSpread({},j),dynamicData:l,specificKey:m,dataSize:c.dynamicImportSize,bulkDataSize:c.bulkDataSize,bulkDataCount:c.bulkDataCount},c.dynamicImportSize<=_schemaDefaults.dataLimits.nonStreamDataSize/1024?(0,_collectResponse["default"])(a,b):(0,_streamlineResponse["default"])(a,b))}}return b.status(e).send(j)}return b.status(204).send()})["catch"](function(c){return _logger["default"].error(JSON.stringify(c)),(0,_responseHelper["default"])(a,b)})}var _default=exports["default"]=defaultApiResponseHander;