diff --git a/utilities/log-validation-utility/.gitignore b/utilities/log-validation-utility/.gitignore index e848144..20d954d 100644 --- a/utilities/log-validation-utility/.gitignore +++ b/utilities/log-validation-utility/.gitignore @@ -9,7 +9,6 @@ verification-logs test_logs dbfiles test.js -public/ !README.md !LICENSE.md *.md \ No newline at end of file diff --git a/utilities/log-validation-utility/public/.placeholder b/utilities/log-validation-utility/public/.placeholder new file mode 100644 index 0000000..e69de29 diff --git a/utilities/log-validation-utility/public/logs/.placeholder b/utilities/log-validation-utility/public/logs/.placeholder new file mode 100644 index 0000000..e69de29 diff --git a/utilities/log-validation-utility/schema/retail_api_json_schema/SchemaValidator.js b/utilities/log-validation-utility/schema/retail_api_json_schema/SchemaValidator.js index 5dc6f19..8981d71 100644 --- a/utilities/log-validation-utility/schema/retail_api_json_schema/SchemaValidator.js +++ b/utilities/log-validation-utility/schema/retail_api_json_schema/SchemaValidator.js @@ -24,21 +24,6 @@ const addFormats = require("ajv-formats"); addFormats(ajv); require("ajv-errors")(ajv); -// transform_on_search_schema = (payload) => { -// transformed_payload = payload; -// bpp_providers = transformed_payload["message"]["catalog"]["bpp/providers"]; -// bpp_providers.forEach((provider) => { -// if (provider.hasOwnProperty("@ondc/org/fssai_license_no")) { -// fssai = provider["@ondc/org/fssai_license_no"]; -// items = provider["items"]; -// items.forEach((item) => { -// item["@ondc/org/fssai_license_no"] = fssai; -// }); -// } - -// return transformed_payload; -// }); -// }; const formatted_error = (errors) => { error_list = []; let status = ""; diff --git a/utilities/log-validation-utility/schema/retail_api_json_schema/cancelSchema.js b/utilities/log-validation-utility/schema/retail_api_json_schema/cancelSchema.js index 00127f1..f9ef729 100644 --- a/utilities/log-validation-utility/schema/retail_api_json_schema/cancelSchema.js +++ b/utilities/log-validation-utility/schema/retail_api_json_schema/cancelSchema.js @@ -1,5 +1,4 @@ module.exports = { - $schema: "http://json-schema.org/draft-04/schema#", type: "object", properties: { context: { diff --git a/utilities/log-validation-utility/schema/retail_api_json_schema/onSearchSchema.js b/utilities/log-validation-utility/schema/retail_api_json_schema/onSearchSchema.js index 314fa0a..63e8279 100644 --- a/utilities/log-validation-utility/schema/retail_api_json_schema/onSearchSchema.js +++ b/utilities/log-validation-utility/schema/retail_api_json_schema/onSearchSchema.js @@ -55,7 +55,6 @@ module.exports = { type: "array", items: { type: "string", - pattern: "^(?!\\s*$).+\\.(jpeg|jpg|jfif|gif|png|ico)$", }, }, }, @@ -86,8 +85,6 @@ module.exports = { type: "array", items: { type: "string", - pattern: - "^(?!\\s*$).+\\.(jpeg|jpg|jfif|gif|png|ico)$", }, }, }, diff --git a/utilities/log-validation-utility/utils/retail/retCancel.js b/utilities/log-validation-utility/utils/retail/retCancel.js index 7869a4b..9eb97ae 100644 --- a/utilities/log-validation-utility/utils/retail/retCancel.js +++ b/utilities/log-validation-utility/utils/retail/retCancel.js @@ -30,7 +30,7 @@ const checkCancel = (dirPath, msgIdSet) => { try { res = checkContext(cancel.context, constants.RET_CANCEL); if (!res.valid) { - cnclObj = res.ERRORS; + Object.assign(cnclObj, res.ERRORS); } } catch (error) { console.log( diff --git a/utilities/log-validation-utility/utils/retail/retConfirm.js b/utilities/log-validation-utility/utils/retail/retConfirm.js index 67151f3..93294bd 100644 --- a/utilities/log-validation-utility/utils/retail/retConfirm.js +++ b/utilities/log-validation-utility/utils/retail/retConfirm.js @@ -29,7 +29,7 @@ const checkConfirm = (dirPath, msgIdSet) => { console.log(`Checking context for /${constants.RET_CONFIRM} API`); //checking context res = checkContext(confirm.context, constants.RET_CONFIRM); if (!res.valid) { - cnfrmObj = res.ERRORS; + Object.assign(cnfrmObj, res.ERRORS); } } catch (error) { console.log( @@ -277,7 +277,7 @@ const checkConfirm = (dirPath, msgIdSet) => { if ( !_.isEqual( - confirm.payment["@ondc/org/settlement_details"], + confirm.payment["@ondc/org/settlement_details"][0], dao.getValue("sttlmntdtls") ) ) { @@ -325,7 +325,7 @@ const checkConfirm = (dirPath, msgIdSet) => { ); console.log("confirm quote", confirm.quote); if (!_.isEqual(dao.getValue("quoteObj"), confirm.quote)) { - cnfrmObj.quoteObj = `Quote Objects in /${constants.RET_ONSELECT} and /${constants.RET_CONFIRM} do not match`; + cnfrmObj.quoteObj = `Discrepancies between the quote object in /${constants.RET_ONSELECT} and /${constants.RET_CONFIRM}`; } } catch (error) { console.log( diff --git a/utilities/log-validation-utility/utils/retail/retInit.js b/utilities/log-validation-utility/utils/retail/retInit.js index add1126..c5b6ee1 100644 --- a/utilities/log-validation-utility/utils/retail/retInit.js +++ b/utilities/log-validation-utility/utils/retail/retInit.js @@ -14,8 +14,8 @@ const checkInit = (dirPath, msgIdSet) => { try { console.log(`Validating Schema for ${constants.RET_INIT} API`); const vs = validateSchema("retail", constants.RET_INIT, init); + console.log("DEBUGGG", vs); if (vs != "error") { - // console.log(vs); Object.assign(initObj, vs); } } catch (error) { @@ -29,7 +29,7 @@ const checkInit = (dirPath, msgIdSet) => { console.log(`Checking context for /${constants.RET_INIT} API`); //checking context res = checkContext(init.context, constants.RET_INIT); if (!res.valid) { - initObj = res.ERRORS; + Object.assign(initObj, res.ERRORS); } } catch (error) { console.log( @@ -255,7 +255,8 @@ const checkInit = (dirPath, msgIdSet) => { console.log(`!!File not found for /${constants.RET_INIT} API!`); } else { console.log( - `!!Some error occurred while checking /${constants.RET_INIT} API` + `!!Some error occurred while checking /${constants.RET_INIT} API`, + err ); } } diff --git a/utilities/log-validation-utility/utils/retail/retOnCancel.js b/utilities/log-validation-utility/utils/retail/retOnCancel.js index fec973b..2b8cdd9 100644 --- a/utilities/log-validation-utility/utils/retail/retOnCancel.js +++ b/utilities/log-validation-utility/utils/retail/retOnCancel.js @@ -33,7 +33,7 @@ const checkOnCancel = (dirPath, msgIdSet) => { console.log(`Checking context for /${constants.RET_ONCANCEL} API`); //checking context res = checkContext(on_cancel.context, constants.RET_ONCANCEL); if (!res.valid) { - onCnclObj = res.ERRORS; + Object.assign(onCnclObj, res.ERRORS); } } catch (error) { console.log( diff --git a/utilities/log-validation-utility/utils/retail/retOnConfirm.js b/utilities/log-validation-utility/utils/retail/retOnConfirm.js index 69796c7..317ec21 100644 --- a/utilities/log-validation-utility/utils/retail/retOnConfirm.js +++ b/utilities/log-validation-utility/utils/retail/retOnConfirm.js @@ -33,7 +33,7 @@ const checkOnConfirm = (dirPath, msgIdSet) => { console.log(`Checking context for /${constants.RET_ONCONFIRM} API`); //checking context res = checkContext(on_confirm.context, constants.RET_ONCONFIRM); if (!res.valid) { - onCnfrmObj = res.ERRORS; + Object.assign(onCnfrmObj, res.ERRORS); } } catch (error) { console.log( @@ -142,9 +142,10 @@ const checkOnConfirm = (dirPath, msgIdSet) => { if ( cnfrmOrdrUpdtd && (!on_confirm.updated_at || - _.gte(cnfrmOrdrUpdtd, on_confirm.updated_at)) + _.gte(cnfrmOrdrUpdtd, on_confirm.updated_at) || + on_confirm.updated_at != dao.getValue("tmpstmp")) ) { - onCnfrmObj.updtdtmstmp = `order.updated_at timestamp should be updated (Default fulfillment state is added)`; + onCnfrmObj.updtdtmstmp = `order.updated_at timestamp should be updated as per the context.timestamp (since default fulfillment state is added)`; } } @@ -347,7 +348,7 @@ const checkOnConfirm = (dirPath, msgIdSet) => { `Comparing Quote object for /${constants.RET_ONSELECT} and /${constants.RET_ONCONFIRM}` ); if (!_.isEqual(dao.getValue("quoteObj"), on_confirm.quote)) { - onCnfrmObj.onQuoteObj = `Quote Object in /${constants.RET_ONSELECT} and /${constants.RET_ONCONFIRM} do not match`; + onCnfrmObj.onQuoteObj = `Discrepancies between the quote object /${constants.RET_ONSELECT} and /${constants.RET_ONCONFIRM}`; } } catch (error) { // onCnfrmObj.onQuoteObj = `Quote Object in /on_init and /${constants.RET_ONCONFIRM} mismatch`; @@ -381,7 +382,7 @@ const checkOnConfirm = (dirPath, msgIdSet) => { ); if (!_.isEqual(dao.getValue("cnfrmpymnt"), on_confirm.payment)) { - `payment object mismatches in /${constants.RET_CONFIRM} & /${constants.RET_ONCONFIRM}`; + onCnfrmObj.pymntObj = `payment object mismatches in /${constants.RET_CONFIRM} & /${constants.RET_ONCONFIRM}`; } } catch (error) { console.log( diff --git a/utilities/log-validation-utility/utils/retail/retOnInit.js b/utilities/log-validation-utility/utils/retail/retOnInit.js index 6050707..233bba4 100644 --- a/utilities/log-validation-utility/utils/retail/retOnInit.js +++ b/utilities/log-validation-utility/utils/retail/retOnInit.js @@ -12,9 +12,9 @@ const checkOnInit = (dirPath, msgIdSet) => { var on_init = fs.readFileSync(dirPath + `/${constants.RET_ONINIT}.json`); on_init = JSON.parse(on_init); - console.log(`Validating Schema for /${constants.RET_ONINIT} API`); try { + console.log(`Validating Schema for /${constants.RET_ONINIT} API`); const vs = validateSchema("retail", constants.RET_ONINIT, on_init); if (vs != "error") { // console.log(vs); @@ -31,7 +31,7 @@ const checkOnInit = (dirPath, msgIdSet) => { try { res = checkContext(on_init.context, constants.RET_ONINIT); if (!res.valid) { - onInitObj = res.ERRORS; + Object.assign(onInitObj, res.ERRORS); } } catch (error) { console.log( @@ -313,7 +313,7 @@ const checkOnInit = (dirPath, msgIdSet) => { `Checking Quote Object in /${constants.RET_ONSELECT} and /${constants.RET_ONINIT}` ); if (!_.isEqual(dao.getValue("quoteObj"), on_init.quote)) { - onInitObj.quoteErr = `Quote object mismatches in /${constants.RET_ONSELECT} and /${constants.RET_ONINIT}`; + onInitObj.quoteErr = `Discrepancies between the quote object in /${constants.RET_ONSELECT} and /${constants.RET_ONINIT}`; } } catch (error) { console.log( @@ -361,7 +361,7 @@ const checkOnInit = (dirPath, msgIdSet) => { onInitObj.sttlmntcntrparty = `settlement_counterparty is expected to be 'seller-app' in @ondc/org/settlement_details`; } } catch (error) { - console.err( + console.log( `!!Error while checking payment object in /${constants.RET_ONINIT}` ); } @@ -373,7 +373,7 @@ const checkOnInit = (dirPath, msgIdSet) => { if (on_init.payment.hasOwnProperty("@ondc/org/settlement_details")) dao.setValue( "sttlmntdtls", - on_init.payment["@ondc/org/settlement_details"] + on_init.payment["@ondc/org/settlement_details"][0] ); else { onInitObj.pymntSttlmntObj = `payment settlement_details missing in /${constants.RET_ONINIT}`; @@ -390,7 +390,8 @@ const checkOnInit = (dirPath, msgIdSet) => { console.log(`!!File not found for /${constants.RET_ONINIT} API!`); } else { console.log( - `!!Some error occurred while checking /${constants.RET_ONINIT} API` + `!!Some error occurred while checking /${constants.RET_ONINIT} API`, + err ); } } diff --git a/utilities/log-validation-utility/utils/retail/retOnSelect.js b/utilities/log-validation-utility/utils/retail/retOnSelect.js index bdbc89b..b8c4466 100644 --- a/utilities/log-validation-utility/utils/retail/retOnSelect.js +++ b/utilities/log-validation-utility/utils/retail/retOnSelect.js @@ -12,29 +12,29 @@ const checkOnSelect = (dirPath, msgIdSet) => { on_select = fs.readFileSync(dirPath + `/${constants.RET_ONSELECT}.json`); on_select = JSON.parse(on_select); + try { - console.log(`Validating Schema for /${constants.RET_ONSELECT} API`); - const vs = validateSchema("retail", constants.RET_ONSELECT, on_select); - if (vs != "error") { - // console.log(vs); - Object.assign(onSlctObj, vs); + console.log(`Checking context for /${constants.RET_ONSELECT} API`); //checking context + res = checkContext(on_select.context, constants.RET_ONSELECT); + if (!res.valid) { + Object.assign(onSlctObj, res.ERRORS); } } catch (error) { console.log( - `!!Error occurred while performing schema validation for /${constants.RET_ONSELECT}`, + `!!Some error occurred while checking /${constants.RET_ONSELECT} context`, error ); } - try { - console.log(`Checking context for /${constants.RET_ONSELECT} API`); //checking context - res = checkContext(on_select.context, constants.RET_ONSELECT); - if (!res.valid) { - onSlctObj = res.ERRORS; + console.log(`Validating Schema for /${constants.RET_ONSELECT} API`); + const vs = validateSchema("retail", constants.RET_ONSELECT, on_select); + if (vs != "error") { + // console.log(vs); + Object.assign(onSlctObj, vs); } } catch (error) { console.log( - `!!Some error occurred while checking /${constants.RET_ONSELECT} context`, + `!!Error occurred while performing schema validation for /${constants.RET_ONSELECT}`, error ); } @@ -294,11 +294,14 @@ const checkOnSelect = (dirPath, msgIdSet) => { if (element.item.hasOwnProperty("quantity")) { if ( _.gt( - element.item.quantity.available.count, - element.item.quantity.maximum.count + parseFloat(element.item.quantity.available.count), + parseFloat(element.item.quantity.maximum.count) ) ) { - onSlctObj.qntCnt = `available count can't be greater than maximum count for item id: ${element["@ondc/org/item_id"]}`; + let key = `qntcnt${i}`; + onSlctObj[ + key + ] = `available count can't be greater than maximum count for item id: ${element["@ondc/org/item_id"]}`; } } } diff --git a/utilities/log-validation-utility/utils/retail/retOnStatus.js b/utilities/log-validation-utility/utils/retail/retOnStatus.js index 5ab244e..8566510 100644 --- a/utilities/log-validation-utility/utils/retail/retOnStatus.js +++ b/utilities/log-validation-utility/utils/retail/retOnStatus.js @@ -33,7 +33,7 @@ const checkOnStatus = (dirPath, msgIdSet) => { console.log("Checking context for /${constants.RET_ONSTATUS} API"); //checking context res = checkContext(on_status.context, "on_status"); if (!res.valid) { - onStatObj = res.ERRORS; + Object.assign(onStatObj, res.ERRORS); } } catch (error) { console.log( diff --git a/utilities/log-validation-utility/utils/retail/retOnSupport.js b/utilities/log-validation-utility/utils/retail/retOnSupport.js index a9ec41a..37bd6cf 100644 --- a/utilities/log-validation-utility/utils/retail/retOnSupport.js +++ b/utilities/log-validation-utility/utils/retail/retOnSupport.js @@ -33,7 +33,7 @@ const checkOnSupport = (dirPath, msgIdSet) => { console.log(`Checking context for /${constants.RET_ONSUPPORT} API`); //checking context res = checkContext(on_support.context, constants.RET_ONSUPPORT); if (!res.valid) { - onSprtObj = res.ERRORS; + Object.assign(onSprtObj, res.ERRORS); } } catch (error) { console.log( diff --git a/utilities/log-validation-utility/utils/retail/retOnTrack.js b/utilities/log-validation-utility/utils/retail/retOnTrack.js index ab8ff04..edfe0ca 100644 --- a/utilities/log-validation-utility/utils/retail/retOnTrack.js +++ b/utilities/log-validation-utility/utils/retail/retOnTrack.js @@ -28,7 +28,7 @@ const checkOnTrack = (dirPath, msgIdSet) => { try { res = checkContext(on_track.context, "on_track"); if (!res.valid) { - onTrckObj = res.ERRORS; + Object.assign(onTrckObj, res.ERRORS); } } catch (error) { console.log( diff --git a/utilities/log-validation-utility/utils/retail/retOnUpdate.js b/utilities/log-validation-utility/utils/retail/retOnUpdate.js index 7e6a213..e8365d4 100644 --- a/utilities/log-validation-utility/utils/retail/retOnUpdate.js +++ b/utilities/log-validation-utility/utils/retail/retOnUpdate.js @@ -34,7 +34,7 @@ const checkOnUpdate = (dirPath, msgIdSet) => { console.log(`Checking context for /${constants.RET_ONUPDATE} API`); //checking context res = checkContext(on_update.context, constants.RET_ONUPDATE); if (!res.valid) { - onUpdtObj = res.ERRORS; + Object.assign(onUpdtObj, res.ERRORS); } } catch (error) { console.log( @@ -205,7 +205,7 @@ const checkOnUpdate = (dirPath, msgIdSet) => { `Comparing individual item's total price and unit price ` ); if (!element.hasOwnProperty("item")) { - onSlctObj.priceBreakup = `Item's unit price missing in quote.breakup for item id ${element["@ondc/org/item_id"]}`; + onUpdtObj.priceBreakup = `Item's unit price missing in quote.breakup for item id ${element["@ondc/org/item_id"]}`; } else if ( parseFloat(element.item.price.value) * element["@ondc/org/item_quantity"].count != diff --git a/utilities/log-validation-utility/utils/retail/retSearch.js b/utilities/log-validation-utility/utils/retail/retSearch.js index 5bec2bc..a5f6854 100644 --- a/utilities/log-validation-utility/utils/retail/retSearch.js +++ b/utilities/log-validation-utility/utils/retail/retSearch.js @@ -10,23 +10,9 @@ const checkSearch = (dirPath, msgIdSet) => { try { let search = fs.readFileSync(dirPath + `/${constants.RET_SEARCH}.json`); search = JSON.parse(search); - try { - console.log(`Validating Schema for ${constants.RET_SEARCH} API`); - const vs = validateSchema("retail", constants.RET_SEARCH, search); - if (vs != "error") { - // console.log(vs); - Object.assign(srchObj, vs); - } - } catch (error) { - console.log( - `!!Error occurred while performing schema validation for /${constants.RET_SEARCH}`, - error - ); - } - - console.log(`Checking context for ${constants.RET_SEARCH} API`); //context checking try { + console.log(`Checking context for ${constants.RET_SEARCH} API`); //context checking res = checkContext(search.context, constants.RET_SEARCH); dao.setValue("tmpstmp", search.context.timestamp); dao.setValue("txnId", search.context.transaction_id); @@ -34,7 +20,7 @@ const checkSearch = (dirPath, msgIdSet) => { dao.setValue("city", search.context.city); msgIdSet.add(search.context.message_id); if (!res.valid) { - srchObj = res.ERRORS; + Object.assign(srchObj, res.ERRORS); } } catch (error) { console.log( @@ -43,6 +29,20 @@ const checkSearch = (dirPath, msgIdSet) => { ); } + try { + console.log(`Validating Schema for ${constants.RET_SEARCH} API`); + const vs = validateSchema("retail", constants.RET_SEARCH, search); + if (vs != "error") { + // console.log(vs); + Object.assign(srchObj, vs); + } + } catch (error) { + console.log( + `!!Error occurred while performing schema validation for /${constants.RET_SEARCH}`, + error + ); + } + search = search.message.intent; try { console.log("Getting Buyer App finder fee amount"); @@ -67,14 +67,15 @@ const checkSearch = (dirPath, msgIdSet) => { if (!gpsLat || !gpsLong) { srchObj.gpsErr = `location.gps is not as per the API contract`; - } else { - if ( - utils.countDecimalDigits(gpsLat) != - utils.countDecimalDigits(gpsLong) - ) { - srchObj.gpsErr = `GPS Lat/Long Precision should be same `; - } } + // else { + // if ( + // utils.countDecimalDigits(gpsLat) != + // utils.countDecimalDigits(gpsLong) + // ) { + // srchObj.gpsErr = `GPS Lat/Long Precision should be same `; + // } + // } } else { srchObj.flfllmntObj = `Fulfillment object missing in /${constants.RET_SEARCH} API`; } diff --git a/utilities/log-validation-utility/utils/retail/retSelect.js b/utilities/log-validation-utility/utils/retail/retSelect.js index eef6ae5..01473f1 100644 --- a/utilities/log-validation-utility/utils/retail/retSelect.js +++ b/utilities/log-validation-utility/utils/retail/retSelect.js @@ -36,7 +36,7 @@ const checkSelect = (dirPath, msgIdSet) => { try { res = checkContext(select.context, constants.RET_SELECT); if (!res.valid) { - slctObj = res.ERRORS; + Object.assign(slctObj, res.ERRORS); } } catch (error) { console.log( @@ -193,14 +193,15 @@ const checkSelect = (dirPath, msgIdSet) => { // console.log(gpsLat, " sfsfdsf ", gpsLong); if (!gpsLat || !gpsLong) { slctObj.gpsErr = `fulfillments location.gps is not as per the API contract`; - } else { - if ( - utils.countDecimalDigits(gpsLat) != - utils.countDecimalDigits(gpsLong) - ) { - slctObj.gpsErr = `fulfillments GPS Lat/Long Precision should be same `; - } } + // else { + // if ( + // utils.countDecimalDigits(gpsLat) != + // utils.countDecimalDigits(gpsLong) + // ) { + // slctObj.gpsErr = `fulfillments GPS Lat/Long Precision should be same `; + // } + // } if (!ff.end.location.address.hasOwnProperty("area_code")) { slctObj.areaCode = `address.area_code is required property in /${constants.RET_SELECT}`; diff --git a/utilities/log-validation-utility/utils/retail/retStatus.js b/utilities/log-validation-utility/utils/retail/retStatus.js index 130794e..cbf4014 100644 --- a/utilities/log-validation-utility/utils/retail/retStatus.js +++ b/utilities/log-validation-utility/utils/retail/retStatus.js @@ -29,7 +29,7 @@ const checkStatus = (dirPath, msgIdSet) => { console.log(`Checking context for /${constants.RET_STATUS} API`); //checking context res = checkContext(status.context, constants.RET_STATUS); if (!res.valid) { - statObj = res.ERRORS; + Object.assign(statObj, res.ERRORS); } } catch (error) { console.log( diff --git a/utilities/log-validation-utility/utils/retail/retSupport.js b/utilities/log-validation-utility/utils/retail/retSupport.js index 5806036..5ebfd92 100644 --- a/utilities/log-validation-utility/utils/retail/retSupport.js +++ b/utilities/log-validation-utility/utils/retail/retSupport.js @@ -9,11 +9,25 @@ const checkSupport = (dirPath, msgIdSet) => { try { var support = fs.readFileSync(dirPath + `/${constants.RET_SUPPORT}.json`); support = JSON.parse(support); - console.log(`Checking context for /${constants.RET_SUPPORT} API`); //checking context + + try { + console.log(`Validating Schema for ${constants.RET_SUPPORT} API`); + const vs = validateSchema("retail", constants.RET_SUPPORT, support); + if (vs != "error") { + // console.log(vs); + Object.assign(sprtObj, vs); + } + } catch (error) { + console.log( + `!!Error occurred while performing schema validation for /${constants.RET_SUPPORT}`, + error + ); + } try { + console.log(`Checking context for /${constants.RET_SUPPORT} API`); //checking context res = checkContext(support.context, constants.RET_SUPPORT); if (!res.valid) { - sprtObj = res.ERRORS; + Object.assign(sprtObj, res.ERRORS); } } catch (error) { console.log( diff --git a/utilities/log-validation-utility/utils/retail/retTrack.js b/utilities/log-validation-utility/utils/retail/retTrack.js index ce66708..856224f 100644 --- a/utilities/log-validation-utility/utils/retail/retTrack.js +++ b/utilities/log-validation-utility/utils/retail/retTrack.js @@ -10,11 +10,25 @@ const checkTrack = (dirPath, msgIdSet) => { let track = fs.readFileSync(dirPath + `/${constants.RET_TRACK}.json`); track = JSON.parse(track); - console.log(`Checking context for /${constants.RET_TRACK}rack API`); //checking context try { + console.log(`Validating Schema for ${constants.RET_TRACK} API`); + const vs = validateSchema("retail", constants.RET_TRACK, track); + if (vs != "error") { + // console.log(vs); + Object.assign(trckObj, vs); + } + } catch (error) { + console.log( + `!!Error occurred while performing schema validation for /${constants.RET_TRACK}`, + error + ); + } + + try { + console.log(`Checking context for /${constants.RET_TRACK}rack API`); //checking context res = checkContext(track.context, constants.RET_TRACK); if (!res.valid) { - trckObj = res.ERRORS; + Object.assign(trckObj, res.ERRORS); } } catch (error) { console.log( diff --git a/utilities/log-validation-utility/utils/retail/retUpdate.js b/utilities/log-validation-utility/utils/retail/retUpdate.js index a41204b..3a47516 100644 --- a/utilities/log-validation-utility/utils/retail/retUpdate.js +++ b/utilities/log-validation-utility/utils/retail/retUpdate.js @@ -32,7 +32,7 @@ const checkUpdate = (dirPath, msgIdSet) => { console.log(`Checking context for /${constants.RET_UPDATE} API`); //checking context res = checkContext(update.context, constants.RET_UPDATE); if (!res.valid) { - updtObj = res.ERRORS; + Object.assign(updtObj, res.ERRORS); } } catch (error) { console.log( diff --git a/utilities/log-validation-utility/utils/schemaValidation.js b/utilities/log-validation-utility/utils/schemaValidation.js index 2316dd7..8cfe7a2 100644 --- a/utilities/log-validation-utility/utils/schemaValidation.js +++ b/utilities/log-validation-utility/utils/schemaValidation.js @@ -5,22 +5,7 @@ const fs = require("fs"); const validateSchema = (domain, api, data) => { console.log(`Inside Schema Validation for domain: ${domain}, api: ${api}`); let errObj = {}; - // data = JSON.parse(data); - // const schemaValidator = path.join( - // __dirname, - // "..", - // "schema", - // "ondc-schema-validator", - // "main.py" - // ); - // const pySchmaVldtr = spawnSync("python3", [ - // schemaValidator, - // "validate_schema_for_retail_json", - // domain, - // api, - // data, - // ]); const schmaVldtr = schemaValidator(domain, api, data); const datavld = schmaVldtr; @@ -34,14 +19,8 @@ const validateSchema = (domain, api, data) => { errObj[key] = `${res[i].details} ${res[i].message}`; i++; } - return errObj; } else return "error"; - - // pySchmaVldtr.stderr.on("data", (data) => { - // console.log(`ERROR validating schema for ${api} :`, data); - // return "error"; - // }); }; module.exports = validateSchema;