Package Exports
- @microsoft.azure/openapi-validator
This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (@microsoft.azure/openapi-validator) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
Readme
Contributing
This project has adopted the Microsoft Open Source Code of Conduct. For more information see the Code of Conduct FAQ or contact opencode@microsoft.com with any additional questions or comments.
Build dependencies
- Node (6.9.5 or higher)
- Node Package Manager
- Typescript (2.3.0 or higher)
Build scripts
How to build
The first step would be to run npm install
so we have all the required modules installed.
gulp build
This transpiles the typescript scripts into javascript files under the js folder.
How to test
gulp test
This runs the tests under tests directory.
How to write a new validation rule
- Add a typescript file under
azure-openapi-validator
directory named same as the name of the rule. Add theid
,name
,severity
,category
,mergeState
,openapiType
,appliesTo_JsonQuery
properties to the rule.appliesTo_JsonQuery
is the node(s) to which the rule needs to be applied. This is evaluated using JsonPaths. Please refer here for a brief tutorial about JsonPaths. - Next, implement the
run
method under the rule that actually does the validation. Add a reference to this script file undersrc\azure-openapi-validator\index.ts
. - Lastly add a test case for the validation rule, by adding a test json/yaml under
src\azure-openapi-validator\tests\resources
and a script undersrc\azure-openapi-validator\tests
depending on the type of the validation rule.