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.
- Node (6.9.5 or higher)
- Node Package Manager
- Typescript (2.3.0 or higher)
The first step would be to run npm install
so we have all the required modules installed.
gulp build
gulp build/typescript
To restore the dotnet packages
gulp restore/dotnet
This builds the dotnet projects.
gulp build/dotnet
To run all tests under the repo
gulp test
gulp test/typescript
gulp test/dotnet
- 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/typescript/azure-openapi-validator/index.ts
. - Lastly add a test case for the validation rule, by adding a test json/yaml under
src/typescript/azure-openapi-validator/tests/resources
and a script undersrc/typescript/azure-openapi-validator/tests
depending on the type of the validation rule.