01-07-2020 08:12 PM
Hi Team,
I am sending a invalid json payload from the postman to my pipeline.
The pipeline has first snap as Copy, when i checked the output of copy it has removed duplicated keys from the invalid json payload. My expectation was that it will throw error as i have sent invalid json.
Any thought on how can i fail the pipeline if the payload coming as invalid json into pipeline/snap?
Below was payload i sent to pipe from postman tool-
{
“www”: {
“station”: “3333”,
“station”: “22222”,
“station”: “44444”,
“dd”: 24224,
“dd1”: “34224”,
“dd2”: “sfsf”,
“dd3”: “dddsfsf”
}
}
The output of copy snap came as below(i wannt the snap to be failed as it was invalid json data)-
{
“www”: {
“station”: “44444”,
“scaleId”: “wrwr”,
“dd”: 24224,
“dd1”: “34224”,
“dd2”: “sfsf”,
“dd3”: “dddsfsf”
}
}
Thanks,
Kumar R
01-08-2020 10:00 AM
Most (all?) JSON parsers don’t consider duplicate keys as a problem. Why are you concerned about this?
I think you’ll find that other errors, like non-terminated strings, missing curly braces, and other syntax errors will be flagged correctly.
01-08-2020 08:15 PM
Hi Tim,
Yes other errors like non-terminated strings are giving proper validation erros.
Concern for dup key is because our testing team has this scenario of sending invalid json for the automation testing and they want this case to be failed, but as dup key is not problem for most of snaps so they will get success response. Testing team will expect invalid json error for this but getting success.
We have test pattern in all interfaces for all tools. As apigee and tibco have solution for this.
Apigee has policy regExp and tibco parser has Staxon function for json parsers, so i am looking for similar option in snaps.
Please let me know any thoughts to validate this invalid json due to dup keys.
With Regards,
KumarR
01-18-2020 11:07 PM
Hi Team,
Below workaround i did to using Python script to validate invalid json -
1-Have binary to doc snap as first snap and land i/p as encodedBase64
2-Add next snap as Script snap with python lang.
Decode back the i/p doc in script and use json.loads module for parsing json it will raise error on dup key.
Refer below link for script-
Thanks,
Kumar