Update error message of some rules (#602)

This commit is contained in:
Ray Chen 2021-03-30 16:28:37 +08:00 коммит произвёл GitHub
Родитель ff64062a5b
Коммит a3176ba721
Не найден ключ, соответствующий данной подписи
Идентификатор ключа GPG: 4AEE18F83AFDEB23
5 изменённых файлов: 50 добавлений и 45 удалений

Просмотреть файл

@ -1,9 +1,14 @@
# Change Log - oav
## 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'.

Просмотреть файл

@ -51,8 +51,8 @@ export const validateErrorMessages: { [key in ExtendedErrorCode]?: (params: any)
MISSING_REQUIRED_PARAMETER: strTemplate`Value is required but was not provided`,
INVALID_RESPONSE_BODY: strTemplate`Body is required in response but not provided`,
INVALID_RESPONSE_HEADER: strTemplate`Header ${"missingProperty"} is required in response but not provided`,
MISSING_RESOURCE_ID: strTemplate`id is required to return in response of GET/PUT resource calls but not provided`,
LRO_RESPONSE_CODE: strTemplate`For initial request, Patch/Post long running operation must return 201 or 202, Delete long running operation must return 202 or 204, Put long running operation must return 202 or 201 or 200, but ${"statusCode"} returned`,
MISSING_RESOURCE_ID: strTemplate`id is required to return in response of GET/PUT resource calls but not being provided`,
LRO_RESPONSE_CODE: strTemplate`Respond to the initial request of a long running operation, Patch/Post call must return 201 or 202, Delete call must return 202 or 204, Put call must return 202 or 201 or 200, but ${"statusCode"} being returned`,
LRO_RESPONSE_HEADER: strTemplate`Long running operation should return ${"header"} in header but not provided`,
DISCRIMINATOR_VALUE_NOT_FOUND: strTemplate`Discriminator value "${"data"}" not found`,

78
package-lock.json сгенерированный
Просмотреть файл

@ -1,6 +1,6 @@
{
"name": "oav",
"version": "2.3.0",
"version": "2.3.1",
"lockfileVersion": 1,
"requires": true,
"dependencies": {
@ -342,7 +342,7 @@
"dependencies": {
"commonmark": {
"version": "0.28.1",
"resolved": "https://devdiv.pkgs.visualstudio.com/_packaging/openapi-platform/npm/registry/commonmark/-/commonmark-0.28.1.tgz",
"resolved": "https://registry.npmjs.org/commonmark/-/commonmark-0.28.1.tgz",
"integrity": "sha1-Buq41SM4uDn6Gi11rwCF7tGxvq4=",
"requires": {
"entities": "~ 1.1.1",
@ -2367,7 +2367,7 @@
"dependencies": {
"commonmark": {
"version": "0.28.1",
"resolved": "https://devdiv.pkgs.visualstudio.com/_packaging/openapi-platform/npm/registry/commonmark/-/commonmark-0.28.1.tgz",
"resolved": "https://registry.npmjs.org/commonmark/-/commonmark-0.28.1.tgz",
"integrity": "sha1-Buq41SM4uDn6Gi11rwCF7tGxvq4=",
"requires": {
"entities": "~ 1.1.1",
@ -3464,7 +3464,7 @@
"dependencies": {
"define-property": {
"version": "1.0.0",
"resolved": "https://devdiv.pkgs.visualstudio.com/_packaging/openapi-platform/npm/registry/define-property/-/define-property-1.0.0.tgz",
"resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz",
"integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=",
"requires": {
"is-descriptor": "^1.0.0"
@ -3568,7 +3568,7 @@
"dependencies": {
"extend-shallow": {
"version": "2.0.1",
"resolved": "https://devdiv.pkgs.visualstudio.com/_packaging/openapi-platform/npm/registry/extend-shallow/-/extend-shallow-2.0.1.tgz",
"resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
"integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
"requires": {
"is-extendable": "^0.1.0"
@ -3762,7 +3762,7 @@
"dependencies": {
"define-property": {
"version": "0.2.5",
"resolved": "https://devdiv.pkgs.visualstudio.com/_packaging/openapi-platform/npm/registry/define-property/-/define-property-0.2.5.tgz",
"resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
"integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
"requires": {
"is-descriptor": "^0.1.0"
@ -4443,7 +4443,7 @@
"dependencies": {
"is-arrayish": {
"version": "0.2.1",
"resolved": "https://devdiv.pkgs.visualstudio.com/_packaging/openapi-platform/npm/registry/is-arrayish/-/is-arrayish-0.2.1.tgz",
"resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz",
"integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0="
}
}
@ -4517,7 +4517,7 @@
"dependencies": {
"esprima": {
"version": "3.1.3",
"resolved": "https://devdiv.pkgs.visualstudio.com/_packaging/openapi-platform/npm/registry/esprima/-/esprima-3.1.3.tgz",
"resolved": "https://registry.npmjs.org/esprima/-/esprima-3.1.3.tgz",
"integrity": "sha1-/cpRzuYTOJXjyI1TXOSdv/YqRjM="
},
"source-map": {
@ -5231,7 +5231,7 @@
"dependencies": {
"define-property": {
"version": "0.2.5",
"resolved": "https://devdiv.pkgs.visualstudio.com/_packaging/openapi-platform/npm/registry/define-property/-/define-property-0.2.5.tgz",
"resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
"integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
"requires": {
"is-descriptor": "^0.1.0"
@ -5239,7 +5239,7 @@
},
"extend-shallow": {
"version": "2.0.1",
"resolved": "https://devdiv.pkgs.visualstudio.com/_packaging/openapi-platform/npm/registry/extend-shallow/-/extend-shallow-2.0.1.tgz",
"resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
"integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
"requires": {
"is-extendable": "^0.1.0"
@ -5397,7 +5397,7 @@
"dependencies": {
"define-property": {
"version": "1.0.0",
"resolved": "https://devdiv.pkgs.visualstudio.com/_packaging/openapi-platform/npm/registry/define-property/-/define-property-1.0.0.tgz",
"resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz",
"integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=",
"requires": {
"is-descriptor": "^1.0.0"
@ -5405,7 +5405,7 @@
},
"extend-shallow": {
"version": "2.0.1",
"resolved": "https://devdiv.pkgs.visualstudio.com/_packaging/openapi-platform/npm/registry/extend-shallow/-/extend-shallow-2.0.1.tgz",
"resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
"integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
"requires": {
"is-extendable": "^0.1.0"
@ -5534,7 +5534,7 @@
"dependencies": {
"extend-shallow": {
"version": "2.0.1",
"resolved": "https://devdiv.pkgs.visualstudio.com/_packaging/openapi-platform/npm/registry/extend-shallow/-/extend-shallow-2.0.1.tgz",
"resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
"integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
"requires": {
"is-extendable": "^0.1.0"
@ -5868,7 +5868,7 @@
"dependencies": {
"is-glob": {
"version": "3.1.0",
"resolved": "https://devdiv.pkgs.visualstudio.com/_packaging/openapi-platform/npm/registry/is-glob/-/is-glob-3.1.0.tgz",
"resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz",
"integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=",
"requires": {
"is-extglob": "^2.1.0"
@ -6031,7 +6031,7 @@
"dependencies": {
"kind-of": {
"version": "4.0.0",
"resolved": "https://devdiv.pkgs.visualstudio.com/_packaging/openapi-platform/npm/registry/kind-of/-/kind-of-4.0.0.tgz",
"resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz",
"integrity": "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=",
"requires": {
"is-buffer": "^1.1.5"
@ -6305,7 +6305,7 @@
"dependencies": {
"kind-of": {
"version": "3.2.2",
"resolved": "https://devdiv.pkgs.visualstudio.com/_packaging/openapi-platform/npm/registry/kind-of/-/kind-of-3.2.2.tgz",
"resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
"integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
"requires": {
"is-buffer": "^1.1.5"
@ -6357,7 +6357,7 @@
"dependencies": {
"kind-of": {
"version": "3.2.2",
"resolved": "https://devdiv.pkgs.visualstudio.com/_packaging/openapi-platform/npm/registry/kind-of/-/kind-of-3.2.2.tgz",
"resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
"integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
"requires": {
"is-buffer": "^1.1.5"
@ -6441,7 +6441,7 @@
"dependencies": {
"kind-of": {
"version": "3.2.2",
"resolved": "https://devdiv.pkgs.visualstudio.com/_packaging/openapi-platform/npm/registry/kind-of/-/kind-of-3.2.2.tgz",
"resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
"integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
"requires": {
"is-buffer": "^1.1.5"
@ -6558,12 +6558,12 @@
"dependencies": {
"async": {
"version": "1.5.2",
"resolved": "https://devdiv.pkgs.visualstudio.com/_packaging/openapi-platform/npm/registry/async/-/async-1.5.2.tgz",
"resolved": "https://registry.npmjs.org/async/-/async-1.5.2.tgz",
"integrity": "sha1-7GphrlZIDAw8skHJVhjiCJL5Zyo="
},
"escodegen": {
"version": "1.8.1",
"resolved": "https://devdiv.pkgs.visualstudio.com/_packaging/openapi-platform/npm/registry/escodegen/-/escodegen-1.8.1.tgz",
"resolved": "https://registry.npmjs.org/escodegen/-/escodegen-1.8.1.tgz",
"integrity": "sha1-WltTr0aTEQvrsIZ6o0MN07cKEBg=",
"requires": {
"esprima": "^2.7.1",
@ -6575,12 +6575,12 @@
},
"esprima": {
"version": "2.7.3",
"resolved": "https://devdiv.pkgs.visualstudio.com/_packaging/openapi-platform/npm/registry/esprima/-/esprima-2.7.3.tgz",
"resolved": "https://registry.npmjs.org/esprima/-/esprima-2.7.3.tgz",
"integrity": "sha1-luO3DVd59q1JzQMmc9HDEnZ7pYE="
},
"estraverse": {
"version": "1.9.3",
"resolved": "https://devdiv.pkgs.visualstudio.com/_packaging/openapi-platform/npm/registry/estraverse/-/estraverse-1.9.3.tgz",
"resolved": "https://registry.npmjs.org/estraverse/-/estraverse-1.9.3.tgz",
"integrity": "sha1-r2fy3JIlgkFZUJJgkaQAXSnJu0Q="
},
"glob": {
@ -6621,12 +6621,12 @@
},
"resolve": {
"version": "1.1.7",
"resolved": "https://devdiv.pkgs.visualstudio.com/_packaging/openapi-platform/npm/registry/resolve/-/resolve-1.1.7.tgz",
"resolved": "https://registry.npmjs.org/resolve/-/resolve-1.1.7.tgz",
"integrity": "sha1-IDEU2CrSxe2ejgQRs5ModeiJ6Xs="
},
"source-map": {
"version": "0.2.0",
"resolved": "https://devdiv.pkgs.visualstudio.com/_packaging/openapi-platform/npm/registry/source-map/-/source-map-0.2.0.tgz",
"resolved": "https://registry.npmjs.org/source-map/-/source-map-0.2.0.tgz",
"integrity": "sha1-2rc/vPwrqBm03gO9b26qSBZLP50=",
"optional": true,
"requires": {
@ -10361,7 +10361,7 @@
},
"pify": {
"version": "2.3.0",
"resolved": "https://devdiv.pkgs.visualstudio.com/_packaging/openapi-platform/npm/registry/pify/-/pify-2.3.0.tgz",
"resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz",
"integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw="
},
"strip-bom": {
@ -11529,7 +11529,7 @@
"dependencies": {
"define-property": {
"version": "0.2.5",
"resolved": "https://devdiv.pkgs.visualstudio.com/_packaging/openapi-platform/npm/registry/define-property/-/define-property-0.2.5.tgz",
"resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
"integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
"requires": {
"is-descriptor": "^0.1.0"
@ -11537,7 +11537,7 @@
},
"kind-of": {
"version": "3.2.2",
"resolved": "https://devdiv.pkgs.visualstudio.com/_packaging/openapi-platform/npm/registry/kind-of/-/kind-of-3.2.2.tgz",
"resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
"integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
"requires": {
"is-buffer": "^1.1.5"
@ -12003,7 +12003,7 @@
"dependencies": {
"pify": {
"version": "3.0.0",
"resolved": "https://devdiv.pkgs.visualstudio.com/_packaging/openapi-platform/npm/registry/pify/-/pify-3.0.0.tgz",
"resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz",
"integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY="
}
}
@ -12913,7 +12913,7 @@
"dependencies": {
"extend-shallow": {
"version": "2.0.1",
"resolved": "https://devdiv.pkgs.visualstudio.com/_packaging/openapi-platform/npm/registry/extend-shallow/-/extend-shallow-2.0.1.tgz",
"resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
"integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
"requires": {
"is-extendable": "^0.1.0"
@ -13117,7 +13117,7 @@
"dependencies": {
"define-property": {
"version": "0.2.5",
"resolved": "https://devdiv.pkgs.visualstudio.com/_packaging/openapi-platform/npm/registry/define-property/-/define-property-0.2.5.tgz",
"resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
"integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
"requires": {
"is-descriptor": "^0.1.0"
@ -13125,7 +13125,7 @@
},
"extend-shallow": {
"version": "2.0.1",
"resolved": "https://devdiv.pkgs.visualstudio.com/_packaging/openapi-platform/npm/registry/extend-shallow/-/extend-shallow-2.0.1.tgz",
"resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
"integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
"requires": {
"is-extendable": "^0.1.0"
@ -13145,7 +13145,7 @@
"dependencies": {
"define-property": {
"version": "1.0.0",
"resolved": "https://devdiv.pkgs.visualstudio.com/_packaging/openapi-platform/npm/registry/define-property/-/define-property-1.0.0.tgz",
"resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz",
"integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=",
"requires": {
"is-descriptor": "^1.0.0"
@ -13189,7 +13189,7 @@
"dependencies": {
"kind-of": {
"version": "3.2.2",
"resolved": "https://devdiv.pkgs.visualstudio.com/_packaging/openapi-platform/npm/registry/kind-of/-/kind-of-3.2.2.tgz",
"resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
"integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
"requires": {
"is-buffer": "^1.1.5"
@ -13359,7 +13359,7 @@
"dependencies": {
"define-property": {
"version": "0.2.5",
"resolved": "https://devdiv.pkgs.visualstudio.com/_packaging/openapi-platform/npm/registry/define-property/-/define-property-0.2.5.tgz",
"resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
"integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
"requires": {
"is-descriptor": "^0.1.0"
@ -14002,7 +14002,7 @@
"dependencies": {
"kind-of": {
"version": "3.2.2",
"resolved": "https://devdiv.pkgs.visualstudio.com/_packaging/openapi-platform/npm/registry/kind-of/-/kind-of-3.2.2.tgz",
"resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
"integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
"requires": {
"is-buffer": "^1.1.5"
@ -14046,7 +14046,7 @@
"dependencies": {
"punycode": {
"version": "1.4.1",
"resolved": "https://devdiv.pkgs.visualstudio.com/_packaging/openapi-platform/npm/registry/punycode/-/punycode-1.4.1.tgz",
"resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz",
"integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4="
}
}
@ -14219,7 +14219,7 @@
"dependencies": {
"has-value": {
"version": "0.3.1",
"resolved": "https://devdiv.pkgs.visualstudio.com/_packaging/openapi-platform/npm/registry/has-value/-/has-value-0.3.1.tgz",
"resolved": "https://registry.npmjs.org/has-value/-/has-value-0.3.1.tgz",
"integrity": "sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8=",
"requires": {
"get-value": "^2.0.3",
@ -14229,7 +14229,7 @@
"dependencies": {
"isobject": {
"version": "2.1.0",
"resolved": "https://devdiv.pkgs.visualstudio.com/_packaging/openapi-platform/npm/registry/isobject/-/isobject-2.1.0.tgz",
"resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz",
"integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=",
"requires": {
"isarray": "1.0.0"
@ -14239,7 +14239,7 @@
},
"has-values": {
"version": "0.1.4",
"resolved": "https://devdiv.pkgs.visualstudio.com/_packaging/openapi-platform/npm/registry/has-values/-/has-values-0.1.4.tgz",
"resolved": "https://registry.npmjs.org/has-values/-/has-values-0.1.4.tgz",
"integrity": "sha1-bWHeldkd/Km5oCCJrThL/49it3E="
}
}

Просмотреть файл

@ -1,6 +1,6 @@
{
"name": "oav",
"version": "2.3.0",
"version": "2.3.1",
"author": {
"name": "Microsoft Corporation",
"email": "azsdkteam@microsoft.com",

Просмотреть файл

@ -19,7 +19,7 @@ Object {
"jsonPathsInPayload": Array [
"$",
],
"message": "id is required to return in response of GET/PUT resource calls but not provided",
"message": "id is required to return in response of GET/PUT resource calls but not being provided",
"params": Array [],
"pathsInPayload": Array [
"",
@ -63,7 +63,7 @@ Object {
"code": "LRO_RESPONSE_CODE",
"documentationUrl": "",
"jsonPathsInPayload": Array [],
"message": "For initial request, Patch/Post long running operation must return 201 or 202, Delete long running operation must return 202 or 204, Put long running operation must return 202 or 201 or 200, but 204 returned",
"message": "Respond to the initial request of a long running operation, Patch/Post call must return 201 or 202, Delete call must return 202 or 204, Put call must return 202 or 201 or 200, but 204 being returned",
"pathsInPayload": Array [],
"schemaPath": "",
"severity": 0,
@ -121,7 +121,7 @@ Object {
"jsonPathsInPayload": Array [
"$",
],
"message": "id is required to return in response of GET/PUT resource calls but not provided",
"message": "id is required to return in response of GET/PUT resource calls but not being provided",
"params": Array [],
"pathsInPayload": Array [
"",