diff --git a/src/generator/testBody.js b/src/generator/testBody.js index b037e3d..aa6f1bf 100644 --- a/src/generator/testBody.js +++ b/src/generator/testBody.js @@ -41,10 +41,13 @@ module.exports = function() { "", "var schema = "+schemaJSON+";", "", - "var checkRecursive = false;", - "var banUnknownProperties = true;", - "var schemaIsValid = tv4.validateMultiple(json, schema, checkRecursive,banUnknownProperties);", - "pm.expect(schemaIsValid.valid, schemaIsValid.errors).to.be.true;" + "var Ajv = require(\"ajv\");", + "var ajv = new Ajv({ allErrors: false });", + "var validate = ajv.compile(schema);", + "var valid = validate(json);", + "pm.test(\"Schema is valid according to AJV\", function () {", + " pm.expect(valid, JSON.stringify(validate.errors, null, 2)).to.be.true;", + "});" ]); return postmanRequest; }; diff --git a/src/generator/validateSchema.js b/src/generator/validateSchema.js index 6c3a1fa..9e5eed7 100644 --- a/src/generator/validateSchema.js +++ b/src/generator/validateSchema.js @@ -34,12 +34,12 @@ module.exports = function() { function deleteValidateSchema(execCode){ let findEnd = false for (let i in execCode){ - if (execCode[i] === "var schemaIsValid = tv4.validateMultiple(json, schema, checkRecursive,banUnknownProperties);"){ - execCode[i] = "/*var schemaIsValid = tv4.validateMultiple(json, schema, checkRecursive,banUnknownProperties);" + if (execCode[i] === "var Ajv = require(\"ajv\");"){ + execCode[i] = "/*var Ajv = require(\"ajv\");" findEnd = true } - if (findEnd && execCode[i] === "pm.expect(schemaIsValid.valid, schemaIsValid.errors).to.be.true;"){ - execCode[i] = "pm.expect(schemaIsValid.valid, schemaIsValid.errors).to.be.true;*/" + if (findEnd && execCode[i] === "});"){ + execCode[i] = "});*/" return } }