Incorrect validation occuring due to property using "enum" as a property name

未关闭
#490 5 条评论 0 个 reaction 已指派 0 人 在 GitHub 查看

还没有人认领这个 Issue。

评估

难度
3/5
预计耗时
1-2 天
新手友好度
35/100
Issue 类型
缺陷
描述清晰度
基本清楚
活跃度
停滞
技术栈
javascript
领域
api, tooling

调研方向

首先,使用所引用的 openapi.yaml 和 PropertyPrototype 示例重现该警告,重点关注属性名为 "enum" 的路径。跟踪 validator 如何解释该路径,并添加一个覆盖此示例的回归用例;完成的标准是该文档不再产生错误的 enum 警告,同时真正的 enum 验证仍然正常工作。

由索引模型根据 Issue 内容生成。

描述

bug spectral

Version: [email protected]

The validator comes back with a warning for the content of some of our example responses:

 Message :   Enum value "option1" must be "single_select".                                                                                                
 Path    :   paths./tekton_pipelines/{pipeline_id}/properties.post.requestBody.content.application/json.examples.single_select_env_properties.value.enum.0
 Line    :   1119                                                                                                                                         

This is arising in 9 places in our API yaml. The full yaml file can be seen here

This is one example:

      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PropertyPrototype'
            examples:
              single_select_env_properties:
                value:
                  name: "enums"
                  type: "single_select"
                  enum: ["option1","option2","option3"]
                  value: "option1"

Schema for the enum:

enum:
          description: Options for `single_select` property type
          type: array
          minItems: 0
          maxItems: 1024
          items:
            $ref: '#/components/schemas/GeneralString'

It seems like the fact we are using the term enum for one of the properties in our API schema is confusing the validator

主要语言
JavaScript
星标
635
派生
98
平均合并
1 天 5 小时
30 天内合并 PR
8

环境准备

从这里开始

  1. 先读完整个 Issue,再读项目的贡献指南。
  2. 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
  3. Fork 仓库,在一个分支上完成修改。
  4. 提交 Pull Request,并在描述里引用这个 Issue 编号。

IBM/openapi-validator 的其他 Issue

查看 IBM/openapi-validator 的全部 Issue

相似的 Issue

更多 JavaScript Issue

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。