24 KiB
24 KiB
Change Log - oav
08/17/2021 2.8.0
- Isolate RP when running transform on cache model in live validator so that the transform won't fail on global cache level
- Fix type error in nullableTransformer
- Throw exception when getting error in transformLoadedSpecs at livevalidator initialization
- Improve wording of error messages
08/12/2021 2.7.3
- Refactor semantic validation using AJV
- Enable url path for a swagger loading
08/09/2021 2.7.2
- Add runner architecture drawio
- Oav runner run test scenarios sequentially
- Oav runner can reuse the 'after-step' environment of the previous step in debugging mode.
08/03/2021 2.7.1
- Disable checkUnderFileRoot in
Validate Traffic
command
07/21/2021 2.7.0
- Oav runner support specifying option 'runId' with option 'from' and/or 'to' to debug.
- Oav runner support using env variable 'TEST_SCENARIO_JSON_ENV' to override variables in env.json.
- Replace Oav runner option 'cleanUp' with 'skipCleanUp'.
- Update README.md add gif to show API test
- Fix bug. Avoid duplicate step name when generate postman collection
- Small bug fix. Set postman collection subscriptionId env when do AAD auth
- Response diff ignore exception
07/15/2021 2.6.2
- Bug Fix:
validate-traffic
command doesn't support relative path input
7/13/2021 2.6.1
- Oav test scenario runner support output variables from step
- New oav command "oav run" alias for "oav run-test-scenario" command
- Oav runner support dryRun mode. Only generate postman collection
- Oav runner support predefined resourceGroup and skip cleanUp
- Test scenario schema support "requestUpdate" and "outputVariables" syntax
- Fix resourceUpdate bug
07/08/2021 2.6.0
- Support
validate-traffic <traffic-path> <spec-path>
command in OAV cli
07/05/2021 2.5.9
- Ignore LRO_RESPONSE_HEADER rule check in case of synchronous api call
06/25/2021 2.5.8
- support extract armTemplate deployment output to variables
06/22/2021 2.5.7
- small fix for passing validation-level
06/22/2021 2.5.6
- optimise validation logical. Ignore readonly and secret property response check
- DO NOT output log when request method is POST
- Support level option. Current two levels: validate-request, validate-request-response. validate-request will only check request parameters. validate-request-response check both request and response.
- Improve test scenario markdown report format
- Bugfix: packaging issue for handlebar files
- Add test scenario JUnit xml report support
6/10/2021 2.5.5
- add markdown report support for test scenario runner
- support rule based test scenario generation
- rename error code
- fix relative path bug
5/27/2021 2.5.4
- Analyze dependency return resource id schema reference
- Bug fix: test scenario get arm deployment parameters
- Bug fix: test scenario definition step use anyOf instead of oneOf.
- Postman runner support check armTemplate deployment status
5/25/2021 2.5.3
- Ignore MISSING_RESOURCE_ID rule for sub level azure resources
5/18/2021 2.5.2
- Supports different log types in livevalidator
5/13/2021 2.5.1
- test scenario runner support overwrite location, armEndpoint, subscriptionId
05/12/2021 2.5.0
- Optimise report blob path.
- Support mask client secret, token and swagger sensitive data
- Refine report schema
- Response diff ignore Id, location, datetime.
- Bump handlebars version to fix vulnerability issue
05/11/2021 2.4.0
- Support example generation with multiple operations input
- Added more logging and duration to live validator
04/14/2021 2.3.3
- Support auto upload generated file to azure blob.
- Support mask bearer token
- generate-static-test-scenario support generate readme.test.md
04/06/2021 2.3.2
- Support auto generate test scenario based on resource type.
- Support directly run test scenario file with embedded internal newman runner
- Support analyze dependency from readme tag.
03/30/2021 2.3.1
- Update error message of some rules to align to the document
03/24/2021 2.3.0
- Support load test-scenario file
- Support generate postman collection from test-scenario
02/08/2021 2.2.7
- Add new rules of 'LRO_RESPONSE_HEADER' and 'LRO_RESPONSE_CODE'.
- Add option of 'isArmCall' to differentiate rulesets for Arm and RpaaS in validation apis.
03/12/2021 2.2.6
- Fixed the mock value of 'location' header and 'azure_AsyncOperation' header.
02/08/2021 2.2.5
- Add new rule of 'MISSING_RESOURCE_ID'.
- Add option of 'isArmCall' to differentiate rulesets for Arm and RpaaS.
02/08/2021 2.2.4
- Bump version to republish since previous version is stuck to be fetched.
01/26/2021 2.2.3
- Bugfix collect correct err.data in discriminator validation for multiple level allOf
01/22/2021 2.2.2
- Bugfix for example generator: resolve reference undefined property.
01/21/2021 2.2.1
- Bugfix should copy required array for allOf transformer
- Bugfix collect correct err.data in discriminator validation
01/15/2021 2.2.0
- Enable support for test scenario parsing
11/25/2020 2.0.1
- Ignore required validation rule in response when x-ms-secret is true
- Ignore schema validation when request body is not required and value is empty {}
11/23/2020 2.0.0
- Replace ts-common libraries by openapi-tools-common single library
- Adding example generation functionality
- Bugfix show source in response code not found
- Bugfix error on response body root
- Bugfix content type
- Downgrade tsconfig target to es2018
- Bugfix Don't report error if readme.md is found outside of rootpath
- Remove readonly/writeonly/secret value in description and params
- Bugfix exclusiveMinimum not reported
- Adding new code DISCRIMINATOR_VALUE_NOT_FOUND
07/24/2020 0.22.1
- Upgrade yasway with removing clonedeep when validate schema.
07/09/2020 0.21.7
- Fix the bug that the value of 'x-ms-secret' should be boolean instead of string.
05/21/2020 0.21.6
- Avoid adding nullable value for parameter when its' type isn't string
- Output exception infomation for semantic validation
04/20/2020 0.21.5
- Output exception information when pretty switch is enabled.
04/10/2020 0.21.4
- Instead of replacing all the special characters in path parameters, only replace the part of parameter value which start with (http:|https:)
- Upgrade ms-rest version to 2.5.4
03/30/2020 0.21.3
- Upgrade yasway version including the fix on regression issue of customvalidator.
03/27/2020 0.21.2
- Upgrade yasway version including the fix on global parameter in request validation and x-ms-mutability check for read in request.
03/16/2020 0.21.1
- Enabled request parameter suppression in model validation.
03/16/2020 0.21.0
- Fixed oav does not report the invalid internal references error issue. Added a function (verfiyInternalReference) to check the error.
03/13/2020 0.20.13
- Normalize the path parameter values by using whilelist (0-9a-zA-Z._) to fix the issue of validate-example failed which caused by host path parameter values including special characters (:)
03/10/2020 0.20.12
- Fixed typeerror in live validator when search operation in case of unknownapiversion
03/03/2020 0.20.11
- Upgrade openapi-markdown package version
03/02/2020 0.20.10
- Upgrade virtual-fs package version
02/13/2020 0.20.9
- Fall back to match child resouce in live validator
02/13/2020 0.20.8
- The path matching for subscription and provider in Live validation should be case-insensitive.
02/05/2020 0.20.7
- Add base model name as a value to discriminator enum value list.Issue#468
01/16/2020 0.20.6
- security vulnerability fix for handlebars, kind-of and lodash
12/26/2019 0.20.4
- Upgrade yasway and z-schema version.
12/05/2019 0.20.3
- Change the swaggerPathsPattern of LiveValidatorOptions to array type
11/26/2019 0.20.2
- Upgrade yasway version to consume the change for x-ms-secret property update
11/20/2019 0.20.1
- Resource provider and API version should be case-insensitive in live validation
- Upgrade yasway version to reflect the deep clone performance improvement change
11/4/2019 0.20.0
- Support x-ms-mutability in the response validation. If there's a write-only x-ms-mutabitlity property in the response, report an error
10/22/2019 0.19.9
- Extends logging for live validator to log performance metrics, correlationId and structured request information.
10/14/2019 0.19.8
- Add an optional logging callback to consume by livevalidator in order to dump log to external caller.
- Update the yasway version to 1.8.5.
- Add the new validation error code of SECRET_PROPERTY.
09/04/2019 0.19.6
- Report example position for request parameter errors Issue#423.
- Fixed internal error when load invalid local reference file Issue#449.
- Fixed internal error when load empty reference file Issue#444.
09/03/2019 0.19.5
- Add package.lock file to lock the version of dependencies.
08/12/2019 0.19.4
- Update the error handling when loading and parsing suppression files.
07/30/2019 0.19.3
- Fixed validation of nullable array types if they were defined as tope level models or transformed into top level models in the
"definitions"
object. Fixes #437. - Fixed an issue where
"properties": {}
was being incorrectly added to a schema with"$ref"
in the response or a top levelarray
.
07/12/2019 0.19.2
- Add support for validating discriminator is required and also the support for suppression.Issue#386.
07/02/2019 0.19.1
- Update TypeScript to 3.5
@types/jsonpath
is a dependency becausePathComponent
type from the package is exported inlib/util/validationError.ts
.
07/12/2019 0.19.0
- Modify path in payload for MISSING_REQUIRED_PROPERTIES and for OBJECT_ADDITIONAL_PROPERTIES to point to the actual property.
07/02/2019 0.18.6
- Adding support for JSON path & schema path in errors.
- Improved model validation when example provides the response body however the spec doesn't have a schema for the response and vice-versa.
06/12/2019 0.18.5
- Added support for JSON path & schema path in errors.
05/30/2019 0.18.4
- Better error reporting for spec reference pointing to invalid files.
05/29/2019 0.18.3
- Update cache initialization in live validator to
Promise.all()
. - Update package version of
yuml2svg
dependency (since it contains typescript definitions). - Add support for validating
readOnly
properties in the request. - Limiting dependencies on
@types/lodash
andtypescript
due to stricter type definition rules in the later versions.
04/25/2019 0.18.2
- Use node env for jest #422.
04/08/2019 0.18.1
- Validate request body when it is a JSON object.
04/08/2019 0.18.0
- The
isSuccessful
isundefined
in case of an existingruntimeException
. RequestResponseLiveValidationResult
has a runtimeExceptions field instead of an errors field.
04/05/2019 0.17.0
- Live Validation mode is now skipping validating for errors not specified when using the
includeErrors
option. - The types
RequestValidationResult
andResponseValidationResult
have been replaced with theLiveValidationResult
type.
04/05/2019 0.16.1
- OAV should exit with code
1
if it finds errors. - Breaking changes in SpecValidationResult, CommonValidationResult.
04/01/2019 0.15.3
- Polymporphic anyOf's will be validated only against the matching subschema and any error wont be nested.
04/01/2019 0.15.2
- Inner errors will have the
LiveValidationIssue
type instead ofobject
.
03/28/2019 0.15.1
- Allow for live validation to exclude/include specific errors.
03/27/2019 0.15.0
- Refactor live validator and new types for validation results.
- Expose separate request and response validate methods.
- Expose types for live validation parameters.
processValidationErrors
,serializeErrors
andgetPotentialOperations
are not exported anymore. Validation methods automatically call these.
03/20/2019 0.14.8
- Don't parse examples when not needed.
- Remove example references when not needed to avoid "UNRESOLVABLE_REFERENCE" errors.
03/20/2019 0.14.7
- Change test runner to jest.
03/19/2019 0.14.6
- Don't resolve x-ms-examples for live validation and for semantic validation.
03/07/2019 0.14.5
- Fixing linting and coding style issues.
03/08/2019 0.14.4
INTERNAL_ERROR
as an error code.
03/07/2019 0.14.3
- OAV shouldn't parse
error.title
twice.
03/06/2019 0.14.2
- Use one cache per SpecValidator inside the LiveValidator.
03/06/2019 0.14.1
- Add doc cache during
LiveValidator initialization
to reduce memory footprint and execution time.
03/06/2019 0.14.0
- Remove package level global doc cache.
- Remove external exports of
clearCache()
and ofexecutePromisesSequentially()
02/06/2019 0.13.6
- Polymorphic models should have
"type": "object"
.
02/05/2019 0.13.5
- Fixing
ONE_OF_MULTIPLE
. It was caused byx-ms-enum.modelAsString
which validates discriminators as an unrestricted strings
01/29/2019 0.13.4
- Provide url and file position for these errors:
RESPONSE_STATUS_CODE_NOT_IN_SPEC
,RESPONSE_STATUS_CODE_NOT_IN_EXAMPLE
,XMS_EXAMPLE_NOT_FOUND_ERROR
,DOUBLE_FORWARD_SLASHES_IN_URL
,RESPONSE_SCHEMA_NOT_IN_SPEC
, andREQUIRED_PARAMETER_EXAMPLE_NOT_FOUND
.
01/28/2019 0.13.3
- Provide url and file position for
RESPONSE_STATUS_CODE_NOT_IN_EXAMPLE
errors.
01/23/2019 0.13.2
- Update
z-schema
.
01/18/2019 0.13.1
- Handle
text-matches
in suppression.
01/15/2019 0.13.0
- JSON types are updated.
01/14/2019 0.12.0
- Simplify model and semantic property names.
errorCode
becomescode
anderrorDetails
becomesdetails
.
01/14/2019 0.11.1
- Replace an example object with a function to avoid reference resolutions in examples.
01/08/2019 0.11.0
- Remove JS symbols from errors to avoid logging failure.
01/08/2019 0.10.4
- remove
ts-node
12/11/2018 0.10.3
- exporting NodeError to consume it outside of oav..
12/07/2018 0.10.2
- no default response for non errors.
12/07/2018 0.10.1
- update
@ts-common/virtual-fs
to retry network requests.
12/05/2018 0.10.0
- no
CloudError
generation.
12/01/2018 0.9.7
- Properly handle JSON errors
11/29/2018 0.9.6
- update
@ts-common/json-parser
to properly handle UNICODE escape symbols.
11/28/2018 0.9.5
- catch
jsonpath
exceptions. - Better internal structure.
11/27/2018 0.9.4
- Improve exception/error message.
11/26/2018 0.9.3
- Use
z-schema
instead of@ts-common/z-schema
.
11/21/2018 0.9.2
- Remove
rewire()
package.
11/20/2018 0.9.1
- getErrorsFromSemanticValidation().
11/19/2018 0.9.0
- Improve error types.
11/16/2018 0.8.1
- Suppressions may have multiple
where
andfrom
fields. OAV didn't handle it properly.
11/08/2018 0.8.0
- a source map for CloudError
- a bug fix for embedded examples.
11/08/2018 0.7.14
- update swagger definition
10/23/2018 0.7.13
- switch to Azure DevOps.
10/23/2018 0.7.12
- switch from
@ts-common/azure-openapi-markdown
to@azure/openapi-markdown
.
10/15/2018 0.7.11
- exported functions don't catch exceptions.
10/15/2018 0.7.10
- Provide Title for all Schema Objects.
10/12/2018 0.7.9
- Additional source map for generated Schema objects.
10/09/2018 0.7.8
- Update
@ts-common/azure-openapi-markdown
package.
10/08/2018 0.7.7
- Fix a bug applying suppressions from HTTPS.
10/08/2018 0.7.6
- Fix a bug in ReadFile from HTTPS.
10/08/2018 0.7.5
- Get suppressions from HTTPS.
10/03/2018 0.7.4
- Fix
@ts-common/source-map
.d.ts
files.
10/02/2018 0.7.3
- Suppress promise rejection.
10/02/2018 0.7.2
- Fix URL encoding test.
10/02/2018 0.7.1
- Fix yasway.
10/01/2018 0.7.0
- Suppression API is changed.
09/27/2018 0.6.5
- Suppression supports relative file and object paths.
09/25/2018 0.6.4
- Source Map for
.d.ts
files.
09/25/2018 0.6.3
- Source Map
09/25/2018 0.6.2
- Bug fix for
resolve-spec
CLI (#320)
09/25/2018 0.6.1
- Semantic validation warning bug fix.
09/21/2018 0.6.0
- Suppression.
where
is not supported yet.
09/21/2018 0.5.13
- Correcting where we add url and position information to semantic validation errors.
09/19/2018 0.5.12
- Adding url and position to source where issue occurs for semantic validation errors.
09/19/2018 0.5.11
- Adding pretty printing to validate-spec command, --pretty option.
09/17/2018 0.5.10
- xMsExamplesExtractor bug fix #309
09/11/2018 0.5.9
- OAV is using '@ts-common/z-schema' instead of 'z-schema'
09/10/2018 0.5.8
- Fix JSON-Pointer encoding.
08/28/2018 0.5.7
- Errors have optional
jsonUrl
andjsonPosition
fields.
08/22/2018 0.5.6
- CloudError proper fix
08/22/2018 0.5.5
- CloudError bug fix #300.
08/22/2018 0.5.4
- Simplified source-map
08/21/2018 0.5.3
- Friendly nested definition name
08/21/2018 0.5.2
- Bug fix for
"type": "file"
08/17/2018 0.5.1
- File URL and position in title
08/17/2018 0.5.0
- File URL and position
08/16/2018 0.4.70
- New transformation functions.
08/14/2018 0.4.69
- Collapse of similar errors for array elements in
similarPaths
property on the error.
08/13/2018 0.4.68
- Using a JSON parser with a source map.
08/11/2018 0.4.67
- Single error for not matching any discriminated types.
08/10/2018 0.4.66
- Use JSON Pointer format for inserted schema title for properties and definitions.
08/10/2018 0.4.65
- Include property name as schema title in the property object.
08/10/2018 0.4.64
- Include definition name as schema title in the definitions.
08/01/2018 0.4.63
- Replacing
reduce
error collections with lazy iterators.
07/18/2018 0.4.62
- Solve security vulnerabilities
07/18/2018 0.4.61
- Export more types
07/18/2018 0.4.60
- Use
yasway
type definitions
07/18/2018 0.4.59
- Bug fix:
scenarios is undefined
when running AutoRest plugin.
07/17/2018 0.4.58
- export additional types.
07/05/2018 0.4.57
--pretty
output.
07/05/2018 0.4.56
- Error serialization.
07/05/2018 0.4.55
- Remove a dependency on
@types/winston
package.winston
is updated to3.0.0
.
06/21/2018 0.4.54
- Apply rules for Nested Properties
06/26/2018 0.4.51
- Bug fix: Do BOM stripping for remote URL's #266.
06/20/2018 0.4.50
- Replace sway dependency with yasway.
06/19/2018 0.4.49
- Bug fix: Data is valid against more than one schema from
oneOf
#248 The problem occurs when referenced model may also acceptnull
. The fix is replacingoneOf
withanyOf
.
05/14/2018 0.4.38
- Bug fix:
oav extract-xmsexamples
also extracts request headers. #241 - Bug fix: x-ms-parametrized-host is not validated correctly #240
04/23/2018 0.4.37
- Update dependencies.
- Bug fixes: #238
- Path parameters can include single quotes and be evaluated succesfully.
- Enums with non-string values are properly evaluated.
04/19/2018 0.4.36
- If enums mismatch only in casing the new error ENUM_CASE_MISMATCH will be returned.
03/15/2018 0.4.35
03/08/2018 0.4.34
- Updating default output level to info.
- Fixing issue #225, where output verbosity wasn't respected in one case.
02/28/2018 0.4.33
- Don't validate pure objects.
02/05/2018 0.4.32
- Fix bug for resolve external references introduced part of #202.
02/05/2018 0.4.31
- Bug fix for the fix made to resolve jshint issues in #202.
02/05/2018 0.4.30
- Improve matching for status code string for live validation.
02/05/2018 0.4.29
- Add support for live validation to support status code string along the status code number.
- Update to use package autorest-extension-base from npm.
02/01/2018 0.4.28
- Fix undefined headers issue when the spec does not define consumes values.
01/31/2018 0.4.27
- Updating dependency of lodash to 4.17.4.
01/31/2018 0.4.26
- Fix all linter issues. #201
- Add option to do case insensitive regex matches on swagger paths to the SpecValidator and LiveValidator. #203
01/30/2018 0.4.25
- Fixed a typo in the variable name while resolving nullable types.
01/17/2018 0.4.24
- The tool does not error on missing definitions in the swagger spec #194
- Added support for application/octet-stream or file upload/download scenarios #192
01/05/2018 0.4.23
- Addressing INVALID_TYPE issues reported by model validation due to nullable types/properties. #155. In order to allow null types, we relax types to be 'oneOf'
null
or its type, for the cases where properties/models have x-nullable set or x-nullable is not defined and property is not required.
12/11/2017 0.4.22
- Added support to generate class diagram from a given swagger spec #188.
- Fixed #190, #191.
12/4/2017 0.4.21
- Removed the enum constraint or reference to an enum on the discriminator property if previously present before making it a constant.
11/20/2017 0.4.20
- Added support for processing
"x-ms-parameterized-host": {}
extension if present in the 2.0 swagger spec.
11/19/2017 0.4.19
- Added support for validating examples for parameters
"in": "formData"
.
11/09/2017 0.4.18
- Ensure scheme, host and basePath are used to construct the base url #180.
10/24/2017 0.4.17
- Disable resolving discriminators while performing semantic validation for an open api specification that conforms to 2.0 version.
10/20/2017 0.4.16
- Entire tree except the leaf nodes need to be traversed for replacing references of (an uber(root) or intermediate) parent with a
"oneof"
array containing references to itself and all its children. #175
10/18/2017 0.4.15
- Updating model validator to resolve polymorphic types using oneOf. #171
10/17/2017 0.4.14
- Updating model validator to plugin to autorest.
09/12/2017 0.4.13
- Provide the filepath of the file that has an incorrect json. This makes it easy for customers to find out the faulty file among numerous files.
09/12/2017 0.4.12
- [Model Validator] Should handle forward slashes in path parameters. #165
- [Model Validator] Should handle question mark in paths that are defined in x-ms-paths. #140
08/30/2017 0.4.11
- [Wire Format Generator] Should handle resolved x-ms-examples. #161
08/23/2017 0.4.10
- [Wire Format Generator] Removed condition for checking 200 & 204 in final status code for non-LRO. #159
- [Wire Format Generator] Updated default directory to be the api-version folder of the swagger spec. #159
08/03/2017 0.4.9
- [Live Validator] Shallow clone the azure-rest-api-spec repo.
- [Model Validator] Improve pluggability of oav into vs-code. #143
08/03/2017 0.4.8
- [Live Validator] Before cloning the rest api specs repo if directory named 'repo' exists we delete it and then create an empty directory to clone repo inside it.
07/11/2017 0.4.7
- Fixed Live validator for reorg branch of azure-rest-api-specs #137
07/03/2017 0.4.6
- Fixed issue #134
06/26/2017 0.4.5
- Added support to generate wireformat as a YAML doc
- Improved the format to specify request body for a in a request using curl.