Array with unspecified item specification passes validation
Nobody has claimed this yet.
Assessment
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Newbie friendliness
- 45/100
Research direction
Start by locating the OpenAPI array validation entry point and compare its behavior with the specification cited in the issue. Use the supplied valid and misindented YAML examples as a regression case; done means an array without an items specification is rejected while the correctly nested version remains valid.
Written by the indexing model from the issue text.
Description
An array without specified items: passes validation.
From swagger.io:
the items keyword is required in arrays
Example
(correct version)
definitions:
Pet:
required:
- id
- name
properties:
id:
type: integer
format: int64
name:
type: string
tag:
type: string
Pets:
type: object
properties:
payload:
type: array
items:
$ref: '#/definitions/Pet'
(buggy version, shares the same Pet definition)
Pets:
type: object
properties:
payload:
type: array
items:
$ref: '#/definitions/Pet'
Due to bad indentation, items is interpreted as another property of Pets and payload array is without item specification.
This schema passes through validator, but can't be used in (eg. swagger-ui).
Since the validator let's this pass, a bug like this can be very difficult to find, especially if it's part of a big code diff.
- Dominant language
- Python
- Stars
- 409
- Forks
- 73
- PR merge metrics
- No merged PRs in 30d
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from python-openapi/openapi-spec-validator
-
Difficulty 4/5 3-5 days Newbie friendliness 55/100
-
Difficulty 3/5 1-2 days Newbie friendliness 55/100
-
Difficulty 3/5 1-2 days Newbie friendliness 30/100
-
Difficulty 4/5 3-5 days Newbie friendliness 42/100
python-openapi/openapi-spec-validator#400 · 1 comment ·
-
kind/bug/confirmed
Difficulty 5/5 Over a week Newbie friendliness 25/100
python-openapi/openapi-spec-validator#373 · 1 comment ·
All issues in python-openapi/openapi-spec-validator
Similar issues
-
Add: hunch Open
Difficulty 2/5 1-3 hours Newbie friendliness 74/100
AbdelStark/awesome-typesafe#104 ·
-
enhancement
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
-
Difficulty 2/5 1-3 hours Newbie friendliness 68/100
DiamondLightSource/dodal#2211 ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 88/100
openml/openml-python#1749 ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 88/100
sipyourdrink-ltd/bernstein#6191 ·