asyncapi / parser-js

AsyncAPI parser for Javascript (browser-compatible too).
115 stars 91 forks source link

[BUG] schemaValidation does not allow string examples for other schema types #997

Open timonback opened 1 month ago

timonback commented 1 month ago

Describe the bug.

The spectral rule schemaValidation currently enforces that all examples have the same type as the schema type. However, we believe that there are cases in AsyncAPI, where it is needed to accept string examples regardless of the schema type.

Expected behavior

No error/validation message when using string examples

Screenshots

N/A

How to Reproduce

  1. Use the AsyncAPI document: https://github.com/asyncapi/spec/issues/1038#issuecomment-1969489452
  2. See the error: 66:11 error asyncapi-schema-examples "0" property type must be object components.schemas.io.github.springwolf.examples.kafka.dtos.XmlPayloadDto.examples[0]

🥦 Browser

None

👀 Have you checked for similar open issues?

🏢 Have you read the Contributing Guidelines?

Are you willing to work on this issue ?

Yes I am willing to submit a PR!

Initial proposal, after issue is approved: https://github.com/asyncapi/parser-js/compare/master...timonback:parser-js:fix/GH-997?expand=1

github-actions[bot] commented 1 month ago

Welcome to AsyncAPI. Thanks a lot for reporting your first issue. Please check out our contributors guide and the instructions about a basic recommended setup useful for opening a pull request.
Keep in mind there are also other channels you can use to interact with AsyncAPI community. For more details check out this issue.

timonback commented 1 month ago

Relates to https://github.com/stoplightio/spectral/issues/2624 (Now I believe that async api studio uses parser-js only, not the spectral ruleset) Relates to https://github.com/asyncapi/spec/issues/1038 (embedding xml examples as strings in a (JSON) AsyncAPI document)