@redocly/openapi-core 1.19.0 → 1.20.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +12 -0
- package/__tests__/utils.ts +14 -7
- package/lib/benchmark/benches/lint-with-many-rules.bench.d.ts +1 -0
- package/lib/benchmark/benches/lint-with-many-rules.bench.js +5 -1
- package/lib/benchmark/benches/lint-with-nested-rule.bench.d.ts +1 -0
- package/lib/benchmark/benches/lint-with-nested-rule.bench.js +5 -1
- package/lib/benchmark/benches/lint-with-no-rules.bench.d.ts +1 -0
- package/lib/benchmark/benches/lint-with-no-rules.bench.js +5 -1
- package/lib/benchmark/benches/lint-with-top-level-rule-report.bench.d.ts +1 -0
- package/lib/benchmark/benches/lint-with-top-level-rule-report.bench.js +17 -13
- package/lib/benchmark/benches/lint-with-top-level-rule.bench.d.ts +1 -0
- package/lib/benchmark/benches/lint-with-top-level-rule.bench.js +16 -12
- package/lib/benchmark/utils.d.ts +3 -3
- package/lib/benchmark/utils.js +3 -3
- package/lib/config/all.js +4 -1
- package/lib/config/builtIn.js +15 -20
- package/lib/config/config-resolvers.d.ts +1 -1
- package/lib/config/config-resolvers.js +66 -24
- package/lib/config/config.d.ts +3 -2
- package/lib/config/load.d.ts +1 -1
- package/lib/config/minimal.js +4 -0
- package/lib/config/recommended-strict.js +5 -1
- package/lib/config/recommended.js +5 -1
- package/lib/config/types.d.ts +9 -2
- package/lib/config/utils.d.ts +3 -1
- package/lib/config/utils.js +8 -0
- package/lib/decorators/common/filters/filter-helper.d.ts +1 -1
- package/lib/decorators/common/filters/filter-in.d.ts +1 -1
- package/lib/decorators/common/filters/filter-out.d.ts +1 -1
- package/lib/decorators/common/info-description-override.d.ts +1 -1
- package/lib/decorators/common/info-override.d.ts +1 -1
- package/lib/decorators/common/media-type-examples-override.d.ts +1 -1
- package/lib/decorators/common/operation-description-override.d.ts +1 -1
- package/lib/decorators/common/registry-dependencies.d.ts +1 -1
- package/lib/decorators/common/remove-x-internal.d.ts +1 -1
- package/lib/decorators/common/tag-description-override.d.ts +1 -1
- package/lib/decorators/oas2/index.d.ts +1 -1
- package/lib/decorators/oas3/index.d.ts +1 -1
- package/lib/format/codeframes.d.ts +1 -1
- package/lib/format/format.d.ts +1 -1
- package/lib/format/format.js +1 -1
- package/lib/js-yaml/index.d.ts +1 -1
- package/lib/lint.d.ts +1 -1
- package/lib/logger.js +2 -2
- package/lib/oas-types.d.ts +2 -2
- package/lib/redocly/domains.d.ts +1 -1
- package/lib/redocly/index.d.ts +1 -1
- package/lib/ref-utils.d.ts +2 -2
- package/lib/ref-utils.js +1 -0
- package/lib/resolve.d.ts +2 -2
- package/lib/rules/ajv.d.ts +1 -1
- package/lib/rules/arazzo/index.js +2 -0
- package/lib/rules/async2/channels-kebab-case.d.ts +1 -1
- package/lib/rules/async2/index.js +2 -0
- package/lib/rules/async2/no-channel-trailing-slash.d.ts +1 -1
- package/lib/rules/async3/channels-kebab-case.d.ts +1 -1
- package/lib/rules/async3/index.js +2 -0
- package/lib/rules/async3/no-channel-trailing-slash.d.ts +1 -1
- package/lib/rules/common/assertions/asserts.d.ts +2 -2
- package/lib/rules/common/assertions/index.d.ts +1 -2
- package/lib/rules/common/assertions/utils.d.ts +1 -1
- package/lib/rules/common/info-contact.d.ts +1 -1
- package/lib/rules/common/info-license-strict.d.ts +2 -0
- package/lib/rules/common/info-license-strict.js +26 -0
- package/lib/rules/common/info-license-url.d.ts +1 -1
- package/lib/rules/common/info-license.d.ts +1 -1
- package/lib/rules/common/no-ambiguous-paths.d.ts +1 -1
- package/lib/rules/common/no-enum-type-mismatch.d.ts +1 -1
- package/lib/rules/common/no-http-verbs-in-paths.d.ts +1 -1
- package/lib/rules/common/no-identical-paths.d.ts +1 -1
- package/lib/rules/common/no-path-trailing-slash.d.ts +1 -1
- package/lib/rules/common/no-required-schema-properties-undefined.d.ts +1 -1
- package/lib/rules/common/operation-2xx-response.d.ts +1 -1
- package/lib/rules/common/operation-4xx-response.d.ts +1 -1
- package/lib/rules/common/operation-description.d.ts +1 -1
- package/lib/rules/common/operation-operationId-unique.d.ts +1 -1
- package/lib/rules/common/operation-operationId-url-safe.d.ts +1 -1
- package/lib/rules/common/operation-operationId-url-safe.js +1 -0
- package/lib/rules/common/operation-operationId.d.ts +1 -1
- package/lib/rules/common/operation-parameters-unique.d.ts +1 -1
- package/lib/rules/common/operation-singular-tag.d.ts +1 -1
- package/lib/rules/common/operation-summary.d.ts +1 -1
- package/lib/rules/common/operation-tag-defined.d.ts +1 -1
- package/lib/rules/common/parameter-description.d.ts +1 -1
- package/lib/rules/common/path-declaration-must-exist.d.ts +1 -1
- package/lib/rules/common/path-excludes-patterns.d.ts +1 -1
- package/lib/rules/common/path-http-verbs-order.d.ts +1 -1
- package/lib/rules/common/path-not-include-query.d.ts +1 -1
- package/lib/rules/common/path-params-defined.d.ts +1 -1
- package/lib/rules/common/path-segment-plural.d.ts +1 -1
- package/lib/rules/common/paths-kebab-case.d.ts +1 -1
- package/lib/rules/common/required-string-property-missing-min-length.d.ts +1 -1
- package/lib/rules/common/response-contains-header.d.ts +1 -1
- package/lib/rules/common/security-defined.d.ts +1 -1
- package/lib/rules/common/spec-strict-refs.d.ts +1 -1
- package/lib/rules/common/tag-description.d.ts +1 -1
- package/lib/rules/common/tags-alphabetical.d.ts +1 -1
- package/lib/rules/no-unresolved-refs.d.ts +3 -3
- package/lib/rules/oas2/boolean-parameter-prefixes.d.ts +1 -1
- package/lib/rules/oas2/index.d.ts +1 -1
- package/lib/rules/oas2/index.js +2 -0
- package/lib/rules/oas2/response-contains-property.d.ts +1 -1
- package/lib/rules/oas3/array-parameter-serialization.d.ts +1 -1
- package/lib/rules/oas3/boolean-parameter-prefixes.d.ts +1 -1
- package/lib/rules/oas3/component-name-unique.d.ts +1 -1
- package/lib/rules/oas3/index.d.ts +1 -1
- package/lib/rules/oas3/index.js +2 -0
- package/lib/rules/oas3/no-empty-servers.d.ts +1 -1
- package/lib/rules/oas3/no-example-value-and-externalValue.d.ts +1 -1
- package/lib/rules/oas3/no-invalid-media-type-examples.d.ts +1 -1
- package/lib/rules/oas3/no-server-example.com.d.ts +1 -1
- package/lib/rules/oas3/no-server-example.com.js +1 -0
- package/lib/rules/oas3/no-server-trailing-slash.d.ts +1 -1
- package/lib/rules/oas3/no-server-variables-empty-enum.d.ts +1 -1
- package/lib/rules/oas3/no-undefined-server-variable.d.ts +1 -1
- package/lib/rules/oas3/no-unused-components.d.ts +1 -1
- package/lib/rules/oas3/response-contains-property.d.ts +1 -1
- package/lib/rules/oas3/spec-components-invalid-map-name.d.ts +1 -1
- package/lib/rules/other/stats.d.ts +3 -3
- package/lib/rules/other/stats.js +5 -3
- package/lib/rules/spot/parameters-no-body-inside-in.d.ts +2 -0
- package/lib/rules/spot/parameters-no-body-inside-in.js +18 -0
- package/lib/rules/utils.d.ts +4 -2
- package/lib/rules/utils.js +27 -1
- package/lib/types/arazzo.d.ts +1 -2275
- package/lib/types/arazzo.js +246 -309
- package/lib/types/asyncapi2.d.ts +1 -1
- package/lib/types/asyncapi2.js +3 -1
- package/lib/types/asyncapi3.d.ts +1 -1
- package/lib/types/json-schema-adapter.d.ts +1 -1
- package/lib/types/oas3.d.ts +4 -0
- package/lib/types/oas3.js +9 -9
- package/lib/types/oas3_1.d.ts +3 -0
- package/lib/types/oas3_1.js +8 -8
- package/lib/types/redocly-yaml.d.ts +6 -6
- package/lib/types/redocly-yaml.js +4 -1
- package/lib/typings/arazzo.d.ts +145 -27
- package/lib/typings/common.d.ts +1 -1
- package/lib/typings/swagger.d.ts +2 -2
- package/lib/visitors.d.ts +18 -1
- package/lib/walk.d.ts +3 -3
- package/package.json +2 -2
- package/src/__tests__/bundle.test.ts +4 -4
- package/src/__tests__/lint.test.ts +29 -21
- package/src/__tests__/walk.test.ts +25 -25
- package/src/benchmark/benches/lint-with-many-rules.bench.ts +7 -1
- package/src/benchmark/benches/lint-with-nested-rule.bench.ts +7 -1
- package/src/benchmark/benches/lint-with-no-rules.bench.ts +8 -1
- package/src/benchmark/benches/lint-with-top-level-rule-report.bench.ts +18 -13
- package/src/benchmark/benches/lint-with-top-level-rule.bench.ts +17 -11
- package/src/benchmark/fork.js +4 -0
- package/src/benchmark/utils.ts +6 -5
- package/src/bundle.ts +2 -1
- package/src/config/__tests__/__snapshots__/config-resolvers.test.ts.snap +10 -2
- package/src/config/__tests__/config-resolvers.test.ts +82 -0
- package/src/config/__tests__/fixtures/resolve-config/local-config-with-commonjs-export-function.yaml +2 -0
- package/src/config/__tests__/fixtures/resolve-config/local-config-with-esm.yaml +2 -0
- package/src/config/__tests__/fixtures/resolve-config/plugin-esm.mjs +10 -0
- package/src/config/__tests__/fixtures/resolve-config/plugin-with-export-function.cjs +10 -0
- package/src/config/__tests__/resolve-plugins.test.ts +4 -1
- package/src/config/all.ts +4 -1
- package/src/config/builtIn.ts +5 -10
- package/src/config/config-resolvers.ts +77 -19
- package/src/config/config.ts +7 -8
- package/src/config/load.ts +2 -2
- package/src/config/minimal.ts +4 -0
- package/src/config/recommended-strict.ts +5 -1
- package/src/config/recommended.ts +5 -1
- package/src/config/types.ts +19 -3
- package/src/config/utils.ts +13 -2
- package/src/decorators/__tests__/filter-in.test.ts +29 -26
- package/src/decorators/__tests__/filter-out.test.ts +32 -23
- package/src/decorators/__tests__/media-type-examples-override.test.ts +45 -45
- package/src/decorators/__tests__/remove-x-internal.test.ts +8 -5
- package/src/decorators/common/filters/filter-helper.ts +2 -1
- package/src/decorators/common/filters/filter-in.ts +2 -1
- package/src/decorators/common/filters/filter-out.ts +2 -1
- package/src/decorators/common/info-description-override.ts +3 -2
- package/src/decorators/common/info-override.ts +1 -1
- package/src/decorators/common/media-type-examples-override.ts +4 -3
- package/src/decorators/common/operation-description-override.ts +5 -4
- package/src/decorators/common/registry-dependencies.ts +2 -2
- package/src/decorators/common/remove-x-internal.ts +3 -2
- package/src/decorators/common/tag-description-override.ts +3 -2
- package/src/decorators/oas2/__tests__/remove-unused-components.test.ts +3 -3
- package/src/decorators/oas2/index.ts +2 -1
- package/src/decorators/oas2/remove-unused-components.ts +1 -1
- package/src/decorators/oas3/__tests__/remove-unused-components.test.ts +4 -4
- package/src/decorators/oas3/index.ts +2 -1
- package/src/decorators/oas3/remove-unused-components.ts +1 -1
- package/src/format/codeframes.ts +2 -1
- package/src/format/format.ts +9 -4
- package/src/js-yaml/index.ts +3 -1
- package/src/lint.ts +2 -1
- package/src/logger.ts +2 -2
- package/src/oas-types.ts +14 -13
- package/src/redocly/domains.ts +1 -1
- package/src/redocly/index.ts +3 -3
- package/src/redocly/registry-api.ts +5 -3
- package/src/ref-utils.ts +4 -2
- package/src/resolve.ts +6 -4
- package/src/rules/__tests__/no-unresolved-refs.test.ts +21 -7
- package/src/rules/ajv.ts +2 -1
- package/src/rules/arazzo/__tests__/parameters-no-body-inside-in.test.ts +76 -0
- package/src/rules/arazzo/index.ts +5 -2
- package/src/rules/async2/__tests__/channels-kebab-case.test.ts +9 -5
- package/src/rules/async2/__tests__/no-channel-trailing-slash.test.ts +3 -3
- package/src/rules/async2/channels-kebab-case.ts +2 -2
- package/src/rules/async2/index.ts +4 -1
- package/src/rules/async2/no-channel-trailing-slash.ts +2 -2
- package/src/rules/async3/__tests__/channels-kebab-case.test.ts +9 -5
- package/src/rules/async3/__tests__/no-channel-trailing-slash.test.ts +3 -3
- package/src/rules/async3/channels-kebab-case.ts +3 -3
- package/src/rules/async3/index.ts +4 -1
- package/src/rules/async3/no-channel-trailing-slash.ts +3 -3
- package/src/rules/common/__tests__/info-license-strict.test.ts +141 -0
- package/src/rules/common/__tests__/info-license.test.ts +2 -2
- package/src/rules/common/__tests__/license-url.test.ts +2 -2
- package/src/rules/common/__tests__/no-ambiguous-paths.test.ts +1 -1
- package/src/rules/common/__tests__/no-enum-type-mismatch.test.ts +5 -5
- package/src/rules/common/__tests__/no-identical-paths.test.ts +1 -1
- package/src/rules/common/__tests__/no-invalid-parameter-examples.test.ts +1 -1
- package/src/rules/common/__tests__/no-invalid-schema-examples.test.ts +1 -1
- package/src/rules/common/__tests__/no-path-trailing-slash.test.ts +4 -4
- package/src/rules/common/__tests__/no-required-schema-properties-undefined.test.ts +11 -11
- package/src/rules/common/__tests__/operation-2xx-response.test.ts +8 -6
- package/src/rules/common/__tests__/operation-4xx-response.test.ts +9 -7
- package/src/rules/common/__tests__/operation-operationId-unique.test.ts +2 -2
- package/src/rules/common/__tests__/operation-operationId-url-safe.test.ts +1 -1
- package/src/rules/common/__tests__/operation-parameters-unique.test.ts +4 -4
- package/src/rules/common/__tests__/operation-singular-tag.test.ts +2 -2
- package/src/rules/common/__tests__/path-http-verbs-order.test.ts +2 -2
- package/src/rules/common/__tests__/path-not-include-query.test.ts +2 -2
- package/src/rules/common/__tests__/path-params-defined.test.ts +5 -5
- package/src/rules/common/__tests__/paths-kebab-case.test.ts +6 -4
- package/src/rules/common/__tests__/scalar-property-missing-example.test.ts +8 -8
- package/src/rules/common/__tests__/security-defined.test.ts +14 -8
- package/src/rules/common/__tests__/spec-strict-refs.test.ts +1 -1
- package/src/rules/common/__tests__/spec.test.ts +10 -10
- package/src/rules/common/__tests__/tag-description.test.ts +2 -2
- package/src/rules/common/__tests__/tags-alphabetical.test.ts +6 -4
- package/src/rules/common/assertions/asserts.ts +5 -9
- package/src/rules/common/assertions/index.ts +1 -2
- package/src/rules/common/assertions/utils.ts +4 -2
- package/src/rules/common/info-contact.ts +2 -1
- package/src/rules/common/info-license-strict.ts +24 -0
- package/src/rules/common/info-license-url.ts +2 -1
- package/src/rules/common/info-license.ts +2 -1
- package/src/rules/common/no-ambiguous-paths.ts +4 -4
- package/src/rules/common/no-enum-type-mismatch.ts +5 -4
- package/src/rules/common/no-http-verbs-in-paths.ts +5 -4
- package/src/rules/common/no-identical-paths.ts +4 -4
- package/src/rules/common/no-invalid-parameter-examples.ts +3 -2
- package/src/rules/common/no-path-trailing-slash.ts +2 -2
- package/src/rules/common/no-required-schema-properties-undefined.ts +5 -4
- package/src/rules/common/operation-2xx-response.ts +3 -2
- package/src/rules/common/operation-4xx-response.ts +3 -2
- package/src/rules/common/operation-description.ts +5 -4
- package/src/rules/common/operation-operationId-unique.ts +4 -4
- package/src/rules/common/operation-operationId-url-safe.ts +5 -4
- package/src/rules/common/operation-operationId.ts +5 -4
- package/src/rules/common/operation-parameters-unique.ts +4 -4
- package/src/rules/common/operation-singular-tag.ts +4 -4
- package/src/rules/common/operation-summary.ts +5 -4
- package/src/rules/common/operation-tag-defined.ts +4 -4
- package/src/rules/common/parameter-description.ts +4 -4
- package/src/rules/common/path-declaration-must-exist.ts +2 -2
- package/src/rules/common/path-excludes-patterns.ts +4 -4
- package/src/rules/common/path-http-verbs-order.ts +4 -4
- package/src/rules/common/path-not-include-query.ts +2 -2
- package/src/rules/common/path-params-defined.ts +4 -4
- package/src/rules/common/path-segment-plural.ts +3 -2
- package/src/rules/common/paths-kebab-case.ts +2 -2
- package/src/rules/common/required-string-property-missing-min-length.ts +4 -4
- package/src/rules/common/response-contains-header.ts +5 -4
- package/src/rules/common/scalar-property-missing-example.ts +2 -1
- package/src/rules/common/security-defined.ts +5 -5
- package/src/rules/common/spec-strict-refs.ts +2 -1
- package/src/rules/common/spec.ts +3 -2
- package/src/rules/common/tag-description.ts +2 -1
- package/src/rules/common/tags-alphabetical.ts +4 -4
- package/src/rules/no-unresolved-refs.ts +4 -3
- package/src/rules/oas2/__tests__/boolean-parameter-prefixes.test.ts +7 -5
- package/src/rules/oas2/__tests__/response-contains-header.test.ts +14 -8
- package/src/rules/oas2/__tests__/response-contains-property.test.ts +14 -8
- package/src/rules/oas2/__tests__/spec/referenceableScalars.test.ts +3 -1
- package/src/rules/oas2/boolean-parameter-prefixes.ts +1 -1
- package/src/rules/oas2/index.ts +4 -2
- package/src/rules/oas2/request-mime-type.ts +2 -1
- package/src/rules/oas2/response-contains-property.ts +3 -2
- package/src/rules/oas2/response-mime-type.ts +2 -1
- package/src/rules/oas3/__tests__/array-parameter-serialization.test.ts +18 -6
- package/src/rules/oas3/__tests__/boolean-parameter-prefixes.test.ts +7 -5
- package/src/rules/oas3/__tests__/no-empty-enum-servers.com.test.ts +6 -6
- package/src/rules/oas3/__tests__/no-example-value-and-externalValue.test.ts +2 -2
- package/src/rules/oas3/__tests__/no-invalid-media-type-examples.test.ts +34 -24
- package/src/rules/oas3/__tests__/no-server-example.com.test.ts +3 -3
- package/src/rules/oas3/__tests__/no-server-trailing-slash.test.ts +3 -3
- package/src/rules/oas3/__tests__/no-unused-components.test.ts +1 -1
- package/src/rules/oas3/__tests__/operation-4xx-problem-details-rfc7807.test.ts +3 -3
- package/src/rules/oas3/__tests__/response-contains-header.test.ts +34 -22
- package/src/rules/oas3/__tests__/response-contains-property.test.ts +34 -20
- package/src/rules/oas3/__tests__/spec/spec.test.ts +12 -3
- package/src/rules/oas3/__tests__/spec-components-invalid-map-name.test.ts +9 -3
- package/src/rules/oas3/__tests__/utils/lint-document-for-test.ts +1 -1
- package/src/rules/oas3/array-parameter-serialization.ts +3 -2
- package/src/rules/oas3/boolean-parameter-prefixes.ts +1 -1
- package/src/rules/oas3/component-name-unique.ts +3 -3
- package/src/rules/oas3/index.ts +3 -1
- package/src/rules/oas3/no-empty-servers.ts +1 -1
- package/src/rules/oas3/no-example-value-and-externalValue.ts +1 -1
- package/src/rules/oas3/no-invalid-media-type-examples.ts +6 -4
- package/src/rules/oas3/no-server-example.com.ts +2 -1
- package/src/rules/oas3/no-server-trailing-slash.ts +1 -1
- package/src/rules/oas3/no-server-variables-empty-enum.ts +2 -2
- package/src/rules/oas3/no-undefined-server-variable.ts +1 -1
- package/src/rules/oas3/no-unused-components.ts +2 -2
- package/src/rules/oas3/operation-4xx-problem-details-rfc7807.ts +2 -1
- package/src/rules/oas3/request-mime-type.ts +2 -1
- package/src/rules/oas3/response-contains-property.ts +3 -2
- package/src/rules/oas3/response-mime-type.ts +2 -1
- package/src/rules/oas3/spec-components-invalid-map-name.ts +3 -3
- package/src/rules/other/stats.ts +8 -6
- package/src/rules/spot/parameters-no-body-inside-in.ts +17 -0
- package/src/rules/utils.ts +41 -4
- package/src/types/arazzo.ts +257 -334
- package/src/types/asyncapi2.ts +4 -1
- package/src/types/asyncapi3.ts +3 -1
- package/src/types/json-schema-adapter.ts +2 -2
- package/src/types/oas3.ts +4 -4
- package/src/types/oas3_1.ts +3 -3
- package/src/types/redocly-yaml.ts +7 -4
- package/src/typings/arazzo.ts +169 -41
- package/src/typings/common.ts +1 -0
- package/src/typings/swagger.ts +2 -2
- package/src/visitors.ts +40 -1
- package/src/walk.ts +3 -3
- package/tsconfig.tsbuildinfo +1 -1
|
@@ -0,0 +1,141 @@
|
|
|
1
|
+
import { outdent } from 'outdent';
|
|
2
|
+
import { lintDocument } from '../../../lint';
|
|
3
|
+
import { parseYamlToDocument, replaceSourceWithRef, makeConfig } from '../../../../__tests__/utils';
|
|
4
|
+
import { BaseResolver } from '../../../resolve';
|
|
5
|
+
|
|
6
|
+
describe('license-strict', () => {
|
|
7
|
+
it('should report on info.license with no url or identifier for OpenAPI 3.1', async () => {
|
|
8
|
+
const document = parseYamlToDocument(
|
|
9
|
+
outdent`
|
|
10
|
+
openapi: 3.1.0
|
|
11
|
+
info:
|
|
12
|
+
license:
|
|
13
|
+
name: MIT
|
|
14
|
+
`,
|
|
15
|
+
'foobar.yaml'
|
|
16
|
+
);
|
|
17
|
+
|
|
18
|
+
const results = await lintDocument({
|
|
19
|
+
externalRefResolver: new BaseResolver(),
|
|
20
|
+
document,
|
|
21
|
+
config: await makeConfig({ rules: { 'info-license-strict': 'error' } }),
|
|
22
|
+
});
|
|
23
|
+
|
|
24
|
+
expect(replaceSourceWithRef(results)).toMatchInlineSnapshot(`
|
|
25
|
+
[
|
|
26
|
+
{
|
|
27
|
+
"location": [
|
|
28
|
+
{
|
|
29
|
+
"pointer": "#/info/license",
|
|
30
|
+
"reportOnKey": true,
|
|
31
|
+
"source": "foobar.yaml",
|
|
32
|
+
},
|
|
33
|
+
],
|
|
34
|
+
"message": "License object should contain one of the fields: \`url\`, \`identifier\`.",
|
|
35
|
+
"ruleId": "info-license-strict",
|
|
36
|
+
"severity": "error",
|
|
37
|
+
"suggest": [],
|
|
38
|
+
},
|
|
39
|
+
]
|
|
40
|
+
`);
|
|
41
|
+
});
|
|
42
|
+
|
|
43
|
+
it('should not report on info.license with url for OpenAPI 3.1', async () => {
|
|
44
|
+
const document = parseYamlToDocument(
|
|
45
|
+
outdent`
|
|
46
|
+
openapi: 3.1.0
|
|
47
|
+
info:
|
|
48
|
+
license:
|
|
49
|
+
name: MIT
|
|
50
|
+
url: google.com
|
|
51
|
+
`,
|
|
52
|
+
'foobar.yaml'
|
|
53
|
+
);
|
|
54
|
+
|
|
55
|
+
const results = await lintDocument({
|
|
56
|
+
externalRefResolver: new BaseResolver(),
|
|
57
|
+
document,
|
|
58
|
+
config: await makeConfig({ rules: { 'info-license-strict': 'error' } }),
|
|
59
|
+
});
|
|
60
|
+
|
|
61
|
+
expect(replaceSourceWithRef(results)).toMatchInlineSnapshot(`[]`);
|
|
62
|
+
});
|
|
63
|
+
|
|
64
|
+
it('should not report on info.license with identifier', async () => {
|
|
65
|
+
const document = parseYamlToDocument(
|
|
66
|
+
outdent`
|
|
67
|
+
openapi: 3.1.0
|
|
68
|
+
info:
|
|
69
|
+
license:
|
|
70
|
+
name: MIT
|
|
71
|
+
identifier: MIT
|
|
72
|
+
`,
|
|
73
|
+
'foobar.yaml'
|
|
74
|
+
);
|
|
75
|
+
|
|
76
|
+
const results = await lintDocument({
|
|
77
|
+
externalRefResolver: new BaseResolver(),
|
|
78
|
+
document,
|
|
79
|
+
config: await makeConfig({ rules: { 'info-license-strict': 'error' } }),
|
|
80
|
+
});
|
|
81
|
+
|
|
82
|
+
expect(replaceSourceWithRef(results)).toMatchInlineSnapshot(`[]`);
|
|
83
|
+
});
|
|
84
|
+
|
|
85
|
+
it('should report on info.license with no url for AsyncAPI 3.0', async () => {
|
|
86
|
+
const document = parseYamlToDocument(
|
|
87
|
+
outdent`
|
|
88
|
+
asyncapi: 3.0.0
|
|
89
|
+
info:
|
|
90
|
+
license:
|
|
91
|
+
name: MIT
|
|
92
|
+
`,
|
|
93
|
+
'foobar.yaml'
|
|
94
|
+
);
|
|
95
|
+
|
|
96
|
+
const results = await lintDocument({
|
|
97
|
+
externalRefResolver: new BaseResolver(),
|
|
98
|
+
document,
|
|
99
|
+
config: await makeConfig({ rules: { 'info-license-strict': 'error' } }),
|
|
100
|
+
});
|
|
101
|
+
|
|
102
|
+
expect(replaceSourceWithRef(results)).toMatchInlineSnapshot(`
|
|
103
|
+
[
|
|
104
|
+
{
|
|
105
|
+
"location": [
|
|
106
|
+
{
|
|
107
|
+
"pointer": "#/info/license/url",
|
|
108
|
+
"reportOnKey": true,
|
|
109
|
+
"source": "foobar.yaml",
|
|
110
|
+
},
|
|
111
|
+
],
|
|
112
|
+
"message": "License object should contain \`url\` field.",
|
|
113
|
+
"ruleId": "info-license-strict",
|
|
114
|
+
"severity": "error",
|
|
115
|
+
"suggest": [],
|
|
116
|
+
},
|
|
117
|
+
]
|
|
118
|
+
`);
|
|
119
|
+
});
|
|
120
|
+
|
|
121
|
+
it('should not report on info.license with url for AsyncAPI 3.0', async () => {
|
|
122
|
+
const document = parseYamlToDocument(
|
|
123
|
+
outdent`
|
|
124
|
+
asyncapi: 3.0.0
|
|
125
|
+
info:
|
|
126
|
+
license:
|
|
127
|
+
name: MIT
|
|
128
|
+
url: google.com
|
|
129
|
+
`,
|
|
130
|
+
'foobar.yaml'
|
|
131
|
+
);
|
|
132
|
+
|
|
133
|
+
const results = await lintDocument({
|
|
134
|
+
externalRefResolver: new BaseResolver(),
|
|
135
|
+
document,
|
|
136
|
+
config: await makeConfig({ rules: { 'info-license-strict': 'error' } }),
|
|
137
|
+
});
|
|
138
|
+
|
|
139
|
+
expect(replaceSourceWithRef(results)).toMatchInlineSnapshot(`[]`);
|
|
140
|
+
});
|
|
141
|
+
});
|
|
@@ -17,7 +17,7 @@ describe('Oas3 info-license', () => {
|
|
|
17
17
|
const results = await lintDocument({
|
|
18
18
|
externalRefResolver: new BaseResolver(),
|
|
19
19
|
document,
|
|
20
|
-
config: await makeConfig({ 'info-license': 'error' }),
|
|
20
|
+
config: await makeConfig({ rules: { 'info-license': 'error' } }),
|
|
21
21
|
});
|
|
22
22
|
|
|
23
23
|
expect(replaceSourceWithRef(results)).toMatchInlineSnapshot(`
|
|
@@ -54,7 +54,7 @@ describe('Oas3 info-license', () => {
|
|
|
54
54
|
const results = await lintDocument({
|
|
55
55
|
externalRefResolver: new BaseResolver(),
|
|
56
56
|
document,
|
|
57
|
-
config: await makeConfig({ 'info-license': 'error' }),
|
|
57
|
+
config: await makeConfig({ rules: { 'info-license': 'error' } }),
|
|
58
58
|
});
|
|
59
59
|
|
|
60
60
|
expect(replaceSourceWithRef(results)).toMatchInlineSnapshot(`[]`);
|
|
@@ -18,7 +18,7 @@ describe('Oas3 license-url', () => {
|
|
|
18
18
|
const results = await lintDocument({
|
|
19
19
|
externalRefResolver: new BaseResolver(),
|
|
20
20
|
document,
|
|
21
|
-
config: await makeConfig({ 'info-license-url': 'error' }),
|
|
21
|
+
config: await makeConfig({ rules: { 'info-license-url': 'error' } }),
|
|
22
22
|
});
|
|
23
23
|
|
|
24
24
|
expect(replaceSourceWithRef(results)).toMatchInlineSnapshot(`
|
|
@@ -55,7 +55,7 @@ describe('Oas3 license-url', () => {
|
|
|
55
55
|
const results = await lintDocument({
|
|
56
56
|
externalRefResolver: new BaseResolver(),
|
|
57
57
|
document,
|
|
58
|
-
config: await makeConfig({ 'info-license
|
|
58
|
+
config: await makeConfig({ rules: { 'info-license': 'error' } }),
|
|
59
59
|
});
|
|
60
60
|
|
|
61
61
|
expect(replaceSourceWithRef(results)).toMatchInlineSnapshot(`[]`);
|
|
@@ -46,7 +46,7 @@ describe('no-ambiguous-paths', () => {
|
|
|
46
46
|
const results = await lintDocument({
|
|
47
47
|
externalRefResolver: new BaseResolver(),
|
|
48
48
|
document,
|
|
49
|
-
config: await makeConfig({ 'no-ambiguous-paths': 'error' }),
|
|
49
|
+
config: await makeConfig({ rules: { 'no-ambiguous-paths': 'error' } }),
|
|
50
50
|
});
|
|
51
51
|
|
|
52
52
|
expect(replaceSourceWithRef(results)).toMatchInlineSnapshot(`
|
|
@@ -29,7 +29,7 @@ describe('Oas3 typed enum', () => {
|
|
|
29
29
|
const results = await lintDocument({
|
|
30
30
|
externalRefResolver: new BaseResolver(),
|
|
31
31
|
document,
|
|
32
|
-
config: await makeConfig({ 'no-enum-type-mismatch': 'error' }),
|
|
32
|
+
config: await makeConfig({ rules: { 'no-enum-type-mismatch': 'error' } }),
|
|
33
33
|
});
|
|
34
34
|
|
|
35
35
|
expect(replaceSourceWithRef(results)).toMatchInlineSnapshot(`[]`);
|
|
@@ -62,7 +62,7 @@ describe('Oas3 typed enum', () => {
|
|
|
62
62
|
const results = await lintDocument({
|
|
63
63
|
externalRefResolver: new BaseResolver(),
|
|
64
64
|
document,
|
|
65
|
-
config: await makeConfig({ 'no-enum-type-mismatch': 'error' }),
|
|
65
|
+
config: await makeConfig({ rules: { 'no-enum-type-mismatch': 'error' } }),
|
|
66
66
|
});
|
|
67
67
|
|
|
68
68
|
expect(replaceSourceWithRef(results)).toMatchInlineSnapshot(`[]`);
|
|
@@ -92,7 +92,7 @@ describe('Oas3 typed enum', () => {
|
|
|
92
92
|
const results = await lintDocument({
|
|
93
93
|
externalRefResolver: new BaseResolver(),
|
|
94
94
|
document,
|
|
95
|
-
config: await makeConfig({ 'no-enum-type-mismatch': 'error' }),
|
|
95
|
+
config: await makeConfig({ rules: { 'no-enum-type-mismatch': 'error' } }),
|
|
96
96
|
});
|
|
97
97
|
|
|
98
98
|
expect(replaceSourceWithRef(results)).toMatchInlineSnapshot(`
|
|
@@ -140,7 +140,7 @@ describe('Oas3 typed enum', () => {
|
|
|
140
140
|
const results = await lintDocument({
|
|
141
141
|
externalRefResolver: new BaseResolver(),
|
|
142
142
|
document,
|
|
143
|
-
config: await makeConfig({ 'no-enum-type-mismatch': 'error' }),
|
|
143
|
+
config: await makeConfig({ rules: { 'no-enum-type-mismatch': 'error' } }),
|
|
144
144
|
});
|
|
145
145
|
|
|
146
146
|
expect(replaceSourceWithRef(results)).toMatchInlineSnapshot(`
|
|
@@ -185,7 +185,7 @@ describe('Oas3 typed enum', () => {
|
|
|
185
185
|
const results = await lintDocument({
|
|
186
186
|
externalRefResolver: new BaseResolver(),
|
|
187
187
|
document,
|
|
188
|
-
config: await makeConfig({ spec: 'error', 'no-enum-type-mismatch': 'error' }),
|
|
188
|
+
config: await makeConfig({ rules: { spec: 'error', 'no-enum-type-mismatch': 'error' } }),
|
|
189
189
|
});
|
|
190
190
|
|
|
191
191
|
expect(replaceSourceWithRef(results)).toMatchInlineSnapshot(`
|
|
@@ -34,7 +34,7 @@ describe('no-identical-paths', () => {
|
|
|
34
34
|
const results = await lintDocument({
|
|
35
35
|
externalRefResolver: new BaseResolver(),
|
|
36
36
|
document,
|
|
37
|
-
config: await makeConfig({ 'no-identical-paths': 'error' }),
|
|
37
|
+
config: await makeConfig({ rules: { 'no-identical-paths': 'error' } }),
|
|
38
38
|
});
|
|
39
39
|
|
|
40
40
|
expect(replaceSourceWithRef(results)).toMatchInlineSnapshot(`
|
|
@@ -25,7 +25,7 @@ describe('no-invalid-parameter-examples', () => {
|
|
|
25
25
|
const results = await lintDocument({
|
|
26
26
|
externalRefResolver: new BaseResolver(),
|
|
27
27
|
document,
|
|
28
|
-
config: await makeConfig({ 'no-invalid-parameter-examples': 'error' }),
|
|
28
|
+
config: await makeConfig({ rules: { 'no-invalid-parameter-examples': 'error' } }),
|
|
29
29
|
});
|
|
30
30
|
|
|
31
31
|
expect(replaceSourceWithRef(results)).toMatchInlineSnapshot(`
|
|
@@ -23,7 +23,7 @@ describe('no-invalid-schema-examples', () => {
|
|
|
23
23
|
const results = await lintDocument({
|
|
24
24
|
externalRefResolver: new BaseResolver(),
|
|
25
25
|
document,
|
|
26
|
-
config: await makeConfig({ 'no-invalid-schema-examples': 'error' }),
|
|
26
|
+
config: await makeConfig({ rules: { 'no-invalid-schema-examples': 'error' } }),
|
|
27
27
|
});
|
|
28
28
|
|
|
29
29
|
expect(replaceSourceWithRef(results)).toMatchInlineSnapshot(`
|
|
@@ -19,7 +19,7 @@ describe('no-path-trailing-slash', () => {
|
|
|
19
19
|
const results = await lintDocument({
|
|
20
20
|
externalRefResolver: new BaseResolver(),
|
|
21
21
|
document,
|
|
22
|
-
config: await makeConfig({ 'no-path-trailing-slash': 'error' }),
|
|
22
|
+
config: await makeConfig({ rules: { 'no-path-trailing-slash': 'error' } }),
|
|
23
23
|
});
|
|
24
24
|
|
|
25
25
|
expect(replaceSourceWithRef(results)).toMatchInlineSnapshot(`
|
|
@@ -60,7 +60,7 @@ describe('no-path-trailing-slash', () => {
|
|
|
60
60
|
const results = await lintDocument({
|
|
61
61
|
externalRefResolver: new BaseResolver(),
|
|
62
62
|
document,
|
|
63
|
-
config: await makeConfig({ 'no-path-trailing-slash': 'error' }),
|
|
63
|
+
config: await makeConfig({ rules: { 'no-path-trailing-slash': 'error' } }),
|
|
64
64
|
});
|
|
65
65
|
|
|
66
66
|
expect(replaceSourceWithRef(results)).toMatchInlineSnapshot(`
|
|
@@ -97,7 +97,7 @@ describe('no-path-trailing-slash', () => {
|
|
|
97
97
|
const results = await lintDocument({
|
|
98
98
|
externalRefResolver: new BaseResolver(),
|
|
99
99
|
document,
|
|
100
|
-
config: await makeConfig({ 'no-path-trailing-slash': 'error' }),
|
|
100
|
+
config: await makeConfig({ rules: { 'no-path-trailing-slash': 'error' } }),
|
|
101
101
|
});
|
|
102
102
|
|
|
103
103
|
expect(replaceSourceWithRef(results)).toMatchInlineSnapshot(`[]`);
|
|
@@ -118,7 +118,7 @@ describe('no-path-trailing-slash', () => {
|
|
|
118
118
|
const results = await lintDocument({
|
|
119
119
|
externalRefResolver: new BaseResolver(),
|
|
120
120
|
document,
|
|
121
|
-
config: await makeConfig({ 'no-path-trailing-slash': 'error' }),
|
|
121
|
+
config: await makeConfig({ rules: { 'no-path-trailing-slash': 'error' } }),
|
|
122
122
|
});
|
|
123
123
|
|
|
124
124
|
expect(replaceSourceWithRef(results)).toMatchInlineSnapshot(`[]`);
|
|
@@ -30,7 +30,7 @@ describe('no-required-schema-properties-undefined', () => {
|
|
|
30
30
|
const results = await lintDocument({
|
|
31
31
|
externalRefResolver: new BaseResolver(),
|
|
32
32
|
document,
|
|
33
|
-
config: await makeConfig({ 'no-required-schema-properties-undefined': 'error' }),
|
|
33
|
+
config: await makeConfig({ rules: { 'no-required-schema-properties-undefined': 'error' } }),
|
|
34
34
|
});
|
|
35
35
|
|
|
36
36
|
expect(replaceSourceWithRef(results)).toMatchInlineSnapshot(`
|
|
@@ -79,7 +79,7 @@ describe('no-required-schema-properties-undefined', () => {
|
|
|
79
79
|
const results = await lintDocument({
|
|
80
80
|
externalRefResolver: new BaseResolver(),
|
|
81
81
|
document,
|
|
82
|
-
config: await makeConfig({ 'no-required-schema-properties-undefined': 'error' }),
|
|
82
|
+
config: await makeConfig({ rules: { 'no-required-schema-properties-undefined': 'error' } }),
|
|
83
83
|
});
|
|
84
84
|
|
|
85
85
|
expect(replaceSourceWithRef(results)).toMatchInlineSnapshot(`
|
|
@@ -134,7 +134,7 @@ describe('no-required-schema-properties-undefined', () => {
|
|
|
134
134
|
const results = await lintDocument({
|
|
135
135
|
externalRefResolver: new BaseResolver(),
|
|
136
136
|
document,
|
|
137
|
-
config: await makeConfig({ 'no-required-schema-properties-undefined': 'error' }),
|
|
137
|
+
config: await makeConfig({ rules: { 'no-required-schema-properties-undefined': 'error' } }),
|
|
138
138
|
});
|
|
139
139
|
|
|
140
140
|
expect(replaceSourceWithRef(results)).toMatchInlineSnapshot(`
|
|
@@ -190,7 +190,7 @@ describe('no-required-schema-properties-undefined', () => {
|
|
|
190
190
|
const results = await lintDocument({
|
|
191
191
|
externalRefResolver: new BaseResolver(),
|
|
192
192
|
document,
|
|
193
|
-
config: await makeConfig({ 'no-required-schema-properties-undefined': 'error' }),
|
|
193
|
+
config: await makeConfig({ rules: { 'no-required-schema-properties-undefined': 'error' } }),
|
|
194
194
|
});
|
|
195
195
|
|
|
196
196
|
expect(replaceSourceWithRef(results)).toMatchInlineSnapshot(`[]`);
|
|
@@ -223,7 +223,7 @@ describe('no-required-schema-properties-undefined', () => {
|
|
|
223
223
|
const results = await lintDocument({
|
|
224
224
|
externalRefResolver: new BaseResolver(),
|
|
225
225
|
document,
|
|
226
|
-
config: await makeConfig({ 'no-required-schema-properties-undefined': 'error' }),
|
|
226
|
+
config: await makeConfig({ rules: { 'no-required-schema-properties-undefined': 'error' } }),
|
|
227
227
|
});
|
|
228
228
|
|
|
229
229
|
expect(replaceSourceWithRef(results)).toMatchInlineSnapshot(`
|
|
@@ -286,7 +286,7 @@ describe('no-required-schema-properties-undefined', () => {
|
|
|
286
286
|
const results = await lintDocument({
|
|
287
287
|
externalRefResolver: new BaseResolver(),
|
|
288
288
|
document,
|
|
289
|
-
config: await makeConfig({ 'no-required-schema-properties-undefined': 'error' }),
|
|
289
|
+
config: await makeConfig({ rules: { 'no-required-schema-properties-undefined': 'error' } }),
|
|
290
290
|
});
|
|
291
291
|
|
|
292
292
|
expect(replaceSourceWithRef(results)).toMatchInlineSnapshot(`[]`);
|
|
@@ -329,7 +329,7 @@ describe('no-required-schema-properties-undefined', () => {
|
|
|
329
329
|
const results = await lintDocument({
|
|
330
330
|
externalRefResolver: new BaseResolver(),
|
|
331
331
|
document,
|
|
332
|
-
config: await makeConfig({ 'no-required-schema-properties-undefined': 'error' }),
|
|
332
|
+
config: await makeConfig({ rules: { 'no-required-schema-properties-undefined': 'error' } }),
|
|
333
333
|
});
|
|
334
334
|
|
|
335
335
|
expect(replaceSourceWithRef(results)).toMatchInlineSnapshot(`[]`);
|
|
@@ -378,7 +378,7 @@ describe('no-required-schema-properties-undefined', () => {
|
|
|
378
378
|
const results = await lintDocument({
|
|
379
379
|
externalRefResolver: new BaseResolver(),
|
|
380
380
|
document,
|
|
381
|
-
config: await makeConfig({ 'no-required-schema-properties-undefined': 'error' }),
|
|
381
|
+
config: await makeConfig({ rules: { 'no-required-schema-properties-undefined': 'error' } }),
|
|
382
382
|
});
|
|
383
383
|
|
|
384
384
|
expect(replaceSourceWithRef(results)).toMatchInlineSnapshot(`
|
|
@@ -447,7 +447,7 @@ describe('no-required-schema-properties-undefined', () => {
|
|
|
447
447
|
const results = await lintDocument({
|
|
448
448
|
externalRefResolver: new BaseResolver(),
|
|
449
449
|
document,
|
|
450
|
-
config: await makeConfig({ 'no-required-schema-properties-undefined': 'error' }),
|
|
450
|
+
config: await makeConfig({ rules: { 'no-required-schema-properties-undefined': 'error' } }),
|
|
451
451
|
});
|
|
452
452
|
|
|
453
453
|
expect(replaceSourceWithRef(results)).toMatchInlineSnapshot(`[]`);
|
|
@@ -486,7 +486,7 @@ describe('no-required-schema-properties-undefined', () => {
|
|
|
486
486
|
const results = await lintDocument({
|
|
487
487
|
externalRefResolver: new BaseResolver(),
|
|
488
488
|
document,
|
|
489
|
-
config: await makeConfig({ 'no-required-schema-properties-undefined': 'error' }),
|
|
489
|
+
config: await makeConfig({ rules: { 'no-required-schema-properties-undefined': 'error' } }),
|
|
490
490
|
});
|
|
491
491
|
|
|
492
492
|
expect(replaceSourceWithRef(results)).toMatchInlineSnapshot(`
|
|
@@ -542,7 +542,7 @@ describe('no-required-schema-properties-undefined', () => {
|
|
|
542
542
|
const results = await lintDocument({
|
|
543
543
|
externalRefResolver: new BaseResolver(),
|
|
544
544
|
document,
|
|
545
|
-
config: await makeConfig({ 'no-required-schema-properties-undefined': 'error' }),
|
|
545
|
+
config: await makeConfig({ rules: { 'no-required-schema-properties-undefined': 'error' } }),
|
|
546
546
|
});
|
|
547
547
|
|
|
548
548
|
expect(replaceSourceWithRef(results)).toMatchInlineSnapshot(`[]`);
|
|
@@ -21,7 +21,7 @@ describe('Oas3 operation-2xx-response', () => {
|
|
|
21
21
|
const results = await lintDocument({
|
|
22
22
|
externalRefResolver: new BaseResolver(),
|
|
23
23
|
document,
|
|
24
|
-
config: await makeConfig({ 'operation-2xx-response': 'error' }),
|
|
24
|
+
config: await makeConfig({ rules: { 'operation-2xx-response': 'error' } }),
|
|
25
25
|
});
|
|
26
26
|
|
|
27
27
|
expect(replaceSourceWithRef(results)).toMatchInlineSnapshot(`
|
|
@@ -60,7 +60,7 @@ describe('Oas3 operation-2xx-response', () => {
|
|
|
60
60
|
const results = await lintDocument({
|
|
61
61
|
externalRefResolver: new BaseResolver(),
|
|
62
62
|
document,
|
|
63
|
-
config: await makeConfig({ 'operation-2xx-response': 'error' }),
|
|
63
|
+
config: await makeConfig({ rules: { 'operation-2xx-response': 'error' } }),
|
|
64
64
|
});
|
|
65
65
|
|
|
66
66
|
expect(replaceSourceWithRef(results)).toMatchInlineSnapshot(`[]`);
|
|
@@ -83,7 +83,7 @@ describe('Oas3 operation-2xx-response', () => {
|
|
|
83
83
|
const results = await lintDocument({
|
|
84
84
|
externalRefResolver: new BaseResolver(),
|
|
85
85
|
document,
|
|
86
|
-
config: await makeConfig({ 'operation-2xx-response': 'error' }),
|
|
86
|
+
config: await makeConfig({ rules: { 'operation-2xx-response': 'error' } }),
|
|
87
87
|
});
|
|
88
88
|
|
|
89
89
|
expect(replaceSourceWithRef(results)).toMatchInlineSnapshot(`[]`);
|
|
@@ -104,7 +104,7 @@ describe('Oas3 operation-2xx-response', () => {
|
|
|
104
104
|
const results = await lintDocument({
|
|
105
105
|
externalRefResolver: new BaseResolver(),
|
|
106
106
|
document,
|
|
107
|
-
config: await makeConfig({ 'operation-2xx-response': 'error' }),
|
|
107
|
+
config: await makeConfig({ rules: { 'operation-2xx-response': 'error' } }),
|
|
108
108
|
});
|
|
109
109
|
|
|
110
110
|
expect(replaceSourceWithRef(results)).toMatchInlineSnapshot(`
|
|
@@ -144,7 +144,9 @@ describe('Oas3 operation-2xx-response', () => {
|
|
|
144
144
|
externalRefResolver: new BaseResolver(),
|
|
145
145
|
document,
|
|
146
146
|
config: await makeConfig({
|
|
147
|
-
|
|
147
|
+
rules: {
|
|
148
|
+
'operation-2xx-response': { severity: 'error', validateWebhooks: true },
|
|
149
|
+
},
|
|
148
150
|
}),
|
|
149
151
|
});
|
|
150
152
|
|
|
@@ -184,7 +186,7 @@ describe('Oas3 operation-2xx-response', () => {
|
|
|
184
186
|
const results = await lintDocument({
|
|
185
187
|
externalRefResolver: new BaseResolver(),
|
|
186
188
|
document,
|
|
187
|
-
config: await makeConfig({ 'operation-2xx-response': 'error' }),
|
|
189
|
+
config: await makeConfig({ rules: { 'operation-2xx-response': 'error' } }),
|
|
188
190
|
});
|
|
189
191
|
|
|
190
192
|
expect(replaceSourceWithRef(results)).toMatchInlineSnapshot(`[]`);
|
|
@@ -21,7 +21,7 @@ describe('Oas3 operation-4xx-response', () => {
|
|
|
21
21
|
const results = await lintDocument({
|
|
22
22
|
externalRefResolver: new BaseResolver(),
|
|
23
23
|
document,
|
|
24
|
-
config: await makeConfig({ 'operation-4xx-response': 'error' }),
|
|
24
|
+
config: await makeConfig({ rules: { 'operation-4xx-response': 'error' } }),
|
|
25
25
|
});
|
|
26
26
|
|
|
27
27
|
expect(replaceSourceWithRef(results)).toMatchInlineSnapshot(`
|
|
@@ -60,7 +60,7 @@ describe('Oas3 operation-4xx-response', () => {
|
|
|
60
60
|
const results = await lintDocument({
|
|
61
61
|
externalRefResolver: new BaseResolver(),
|
|
62
62
|
document,
|
|
63
|
-
config: await makeConfig({ 'operation-4xx-response': 'error' }),
|
|
63
|
+
config: await makeConfig({ rules: { 'operation-4xx-response': 'error' } }),
|
|
64
64
|
});
|
|
65
65
|
|
|
66
66
|
expect(replaceSourceWithRef(results)).toMatchInlineSnapshot(`[]`);
|
|
@@ -83,7 +83,7 @@ describe('Oas3 operation-4xx-response', () => {
|
|
|
83
83
|
const results = await lintDocument({
|
|
84
84
|
externalRefResolver: new BaseResolver(),
|
|
85
85
|
document,
|
|
86
|
-
config: await makeConfig({ 'operation-4xx-response': 'error' }),
|
|
86
|
+
config: await makeConfig({ rules: { 'operation-4xx-response': 'error' } }),
|
|
87
87
|
});
|
|
88
88
|
|
|
89
89
|
expect(replaceSourceWithRef(results)).toMatchInlineSnapshot(`[]`);
|
|
@@ -106,7 +106,7 @@ describe('Oas3 operation-4xx-response', () => {
|
|
|
106
106
|
const results = await lintDocument({
|
|
107
107
|
externalRefResolver: new BaseResolver(),
|
|
108
108
|
document,
|
|
109
|
-
config: await makeConfig({ 'operation-4xx-response': 'error' }),
|
|
109
|
+
config: await makeConfig({ rules: { 'operation-4xx-response': 'error' } }),
|
|
110
110
|
});
|
|
111
111
|
|
|
112
112
|
expect(replaceSourceWithRef(results)).toMatchInlineSnapshot(`
|
|
@@ -143,7 +143,7 @@ describe('Oas3 operation-4xx-response', () => {
|
|
|
143
143
|
const results = await lintDocument({
|
|
144
144
|
externalRefResolver: new BaseResolver(),
|
|
145
145
|
document,
|
|
146
|
-
config: await makeConfig({ 'operation-2xx-response': 'error' }),
|
|
146
|
+
config: await makeConfig({ rules: { 'operation-2xx-response': 'error' } }),
|
|
147
147
|
});
|
|
148
148
|
|
|
149
149
|
expect(replaceSourceWithRef(results)).toMatchInlineSnapshot(`
|
|
@@ -183,7 +183,9 @@ describe('Oas3 operation-4xx-response', () => {
|
|
|
183
183
|
externalRefResolver: new BaseResolver(),
|
|
184
184
|
document,
|
|
185
185
|
config: await makeConfig({
|
|
186
|
-
|
|
186
|
+
rules: {
|
|
187
|
+
'operation-4xx-response': { severity: 'error', validateWebhooks: true },
|
|
188
|
+
},
|
|
187
189
|
}),
|
|
188
190
|
});
|
|
189
191
|
|
|
@@ -223,7 +225,7 @@ describe('Oas3 operation-4xx-response', () => {
|
|
|
223
225
|
const results = await lintDocument({
|
|
224
226
|
externalRefResolver: new BaseResolver(),
|
|
225
227
|
document,
|
|
226
|
-
config: await makeConfig({ 'operation-4xx-response': 'error' }),
|
|
228
|
+
config: await makeConfig({ rules: { 'operation-4xx-response': 'error' } }),
|
|
227
229
|
});
|
|
228
230
|
|
|
229
231
|
expect(replaceSourceWithRef(results)).toMatchInlineSnapshot(`[]`);
|
|
@@ -26,7 +26,7 @@ describe('Oas3 operation-operationId-unique', () => {
|
|
|
26
26
|
const results = await lintDocument({
|
|
27
27
|
externalRefResolver: new BaseResolver(),
|
|
28
28
|
document,
|
|
29
|
-
config: await makeConfig({ 'operation-operationId-unique': 'error' }),
|
|
29
|
+
config: await makeConfig({ rules: { 'operation-operationId-unique': 'error' } }),
|
|
30
30
|
});
|
|
31
31
|
|
|
32
32
|
expect(replaceSourceWithRef(results)).toMatchInlineSnapshot(`
|
|
@@ -68,7 +68,7 @@ describe('Oas3 operation-operationId-unique', () => {
|
|
|
68
68
|
const results = await lintDocument({
|
|
69
69
|
externalRefResolver: new BaseResolver(),
|
|
70
70
|
document,
|
|
71
|
-
config: await makeConfig({ 'peration-operationId-unique': 'error' }),
|
|
71
|
+
config: await makeConfig({ rules: { 'peration-operationId-unique': 'error' } }),
|
|
72
72
|
});
|
|
73
73
|
|
|
74
74
|
expect(replaceSourceWithRef(results)).toMatchInlineSnapshot(`[]`);
|
|
@@ -21,7 +21,7 @@ describe('Oas3 operation-operationId-url-safe', () => {
|
|
|
21
21
|
const results = await lintDocument({
|
|
22
22
|
externalRefResolver: new BaseResolver(),
|
|
23
23
|
document,
|
|
24
|
-
config: await makeConfig({ 'operation-operationId-url-safe': 'error' }),
|
|
24
|
+
config: await makeConfig({ rules: { 'operation-operationId-url-safe': 'error' } }),
|
|
25
25
|
});
|
|
26
26
|
|
|
27
27
|
expect(replaceSourceWithRef(results)).toMatchInlineSnapshot(`
|
|
@@ -22,7 +22,7 @@ describe('Oas3 operation-parameters-unique', () => {
|
|
|
22
22
|
const results = await lintDocument({
|
|
23
23
|
externalRefResolver: new BaseResolver(),
|
|
24
24
|
document,
|
|
25
|
-
config: await makeConfig({ 'operation-parameters-unique': 'error' }),
|
|
25
|
+
config: await makeConfig({ rules: { 'operation-parameters-unique': 'error' } }),
|
|
26
26
|
});
|
|
27
27
|
|
|
28
28
|
expect(replaceSourceWithRef(results)).toMatchInlineSnapshot(`
|
|
@@ -65,7 +65,7 @@ describe('Oas3 operation-parameters-unique', () => {
|
|
|
65
65
|
const results = await lintDocument({
|
|
66
66
|
externalRefResolver: new BaseResolver(),
|
|
67
67
|
document,
|
|
68
|
-
config: await makeConfig({ 'operation-parameters-unique': 'error' }),
|
|
68
|
+
config: await makeConfig({ rules: { 'operation-parameters-unique': 'error' } }),
|
|
69
69
|
});
|
|
70
70
|
|
|
71
71
|
expect(replaceSourceWithRef(results)).toMatchInlineSnapshot(`[]`);
|
|
@@ -95,7 +95,7 @@ describe('Oas3 operation-parameters-unique', () => {
|
|
|
95
95
|
const results = await lintDocument({
|
|
96
96
|
externalRefResolver: new BaseResolver(),
|
|
97
97
|
document,
|
|
98
|
-
config: await makeConfig({ 'operation-parameters-unique': 'error' }),
|
|
98
|
+
config: await makeConfig({ rules: { 'operation-parameters-unique': 'error' } }),
|
|
99
99
|
});
|
|
100
100
|
|
|
101
101
|
expect(replaceSourceWithRef(results)).toMatchInlineSnapshot(`
|
|
@@ -143,7 +143,7 @@ describe('Oas3 operation-parameters-unique', () => {
|
|
|
143
143
|
const results = await lintDocument({
|
|
144
144
|
externalRefResolver: new BaseResolver(),
|
|
145
145
|
document,
|
|
146
|
-
config: await makeConfig({ 'operation-parameters-unique': 'error' }),
|
|
146
|
+
config: await makeConfig({ rules: { 'operation-parameters-unique': 'error' } }),
|
|
147
147
|
});
|
|
148
148
|
|
|
149
149
|
expect(replaceSourceWithRef(results)).toMatchInlineSnapshot(`
|
|
@@ -24,7 +24,7 @@ describe('Oas3 operation-singular-tag', () => {
|
|
|
24
24
|
const results = await lintDocument({
|
|
25
25
|
externalRefResolver: new BaseResolver(),
|
|
26
26
|
document,
|
|
27
|
-
config: await makeConfig({ 'operation-singular-tag': 'error' }),
|
|
27
|
+
config: await makeConfig({ rules: { 'operation-singular-tag': 'error' } }),
|
|
28
28
|
});
|
|
29
29
|
|
|
30
30
|
expect(replaceSourceWithRef(results)).toMatchInlineSnapshot(`
|
|
@@ -64,7 +64,7 @@ describe('Oas3 operation-singular-tag', () => {
|
|
|
64
64
|
const results = await lintDocument({
|
|
65
65
|
externalRefResolver: new BaseResolver(),
|
|
66
66
|
document,
|
|
67
|
-
config: await makeConfig({ 'operation-singular-tag': 'error' }),
|
|
67
|
+
config: await makeConfig({ rules: { 'operation-singular-tag': 'error' } }),
|
|
68
68
|
});
|
|
69
69
|
|
|
70
70
|
expect(replaceSourceWithRef(results)).toMatchInlineSnapshot(`[]`);
|
|
@@ -23,7 +23,7 @@ describe('Common path-http-verbs-order', () => {
|
|
|
23
23
|
const results = await lintDocument({
|
|
24
24
|
externalRefResolver: new BaseResolver(),
|
|
25
25
|
document,
|
|
26
|
-
config: await makeConfig({ 'path-http-verbs-order': 'error' }),
|
|
26
|
+
config: await makeConfig({ rules: { 'path-http-verbs-order': 'error' } }),
|
|
27
27
|
});
|
|
28
28
|
|
|
29
29
|
expect(replaceSourceWithRef(results)).toMatchInlineSnapshot(`
|
|
@@ -87,7 +87,7 @@ describe('Common path-http-verbs-order', () => {
|
|
|
87
87
|
const results = await lintDocument({
|
|
88
88
|
externalRefResolver: new BaseResolver(),
|
|
89
89
|
document,
|
|
90
|
-
config: await makeConfig({ 'path-http-verbs-order': 'error' }),
|
|
90
|
+
config: await makeConfig({ rules: { 'path-http-verbs-order': 'error' } }),
|
|
91
91
|
});
|
|
92
92
|
|
|
93
93
|
expect(replaceSourceWithRef(results)).toMatchInlineSnapshot(`[]`);
|
|
@@ -19,7 +19,7 @@ describe('Oas3 path-not-include-query', () => {
|
|
|
19
19
|
const results = await lintDocument({
|
|
20
20
|
externalRefResolver: new BaseResolver(),
|
|
21
21
|
document,
|
|
22
|
-
config: await makeConfig({ 'path-not-include-query': 'error' }),
|
|
22
|
+
config: await makeConfig({ rules: { 'path-not-include-query': 'error' } }),
|
|
23
23
|
});
|
|
24
24
|
|
|
25
25
|
expect(replaceSourceWithRef(results)).toMatchInlineSnapshot(`
|
|
@@ -56,7 +56,7 @@ describe('Oas3 path-not-include-query', () => {
|
|
|
56
56
|
const results = await lintDocument({
|
|
57
57
|
externalRefResolver: new BaseResolver(),
|
|
58
58
|
document,
|
|
59
|
-
config: await makeConfig({ 'path-not-include-query': 'error' }),
|
|
59
|
+
config: await makeConfig({ rules: { 'path-not-include-query': 'error' } }),
|
|
60
60
|
});
|
|
61
61
|
|
|
62
62
|
expect(replaceSourceWithRef(results)).toMatchInlineSnapshot(`[]`);
|