asyncapi / parser-js

AsyncAPI parser for Javascript (browser-compatible too).
Apache License 2.0
125 stars 96 forks source link

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

Open timonback opened 6 months ago

timonback commented 6 months 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 6 months 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 6 months 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)

github-actions[bot] commented 2 months ago

This issue has been automatically marked as stale because it has not had recent activity :sleeping:

It will be closed in 120 days if no further activity occurs. To unstale this issue, add a comment with a detailed explanation.

There can be many reasons why some specific issue has no activity. The most probable cause is lack of time, not lack of interest. AsyncAPI Initiative is a Linux Foundation project not owned by a single for-profit company. It is a community-driven initiative ruled under open governance model.

Let us figure out together how to push this issue forward. Connect with us through one of many communication channels we established here.

Thank you for your patience :heart: