Only top-level objects are validated
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 3/5
- Tiempo estimado
- 1-2 días
- Aptitud para principiantes
- 35/100
Línea de trabajo
Start by tracing how required properties are validated for schemas nested inside array items and other object properties. Add regression cases matching the invalid array-item and nested-object examples, then verify validation rejects required names missing from properties while preserving the existing top-level behavior.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
Validation should fail when an object has an item in the required list that isn't defined in properties.
Validation fails as expected when an object is defined on the top level:
openapi: "3.0.0"
info:
version: 1.0.0
title: Swagger Petstore
license:
name: MIT
servers:
- url: http://petstore.swagger.io/v1
paths:
/my-pet:
get:
summary: A pet
operationId: getPet
tags:
- pets
responses:
'200':
description: A pet
content:
application/json:
schema:
$ref: "#/components/schemas/Pet"
components:
schemas:
Pet:
type: object
required:
- name
- undefinedRequiredItem # This item is not defined in properties, FAIL validation
properties:
name:
type: string
> Required list has not defined properties: ['undefinedRequiredItem']
BUG: Validation passes for an invalid object used as an array item:
openapi: "3.0.0"
info:
version: 1.0.0
title: Swagger Petstore
license:
name: MIT
servers:
- url: http://petstore.swagger.io/v1
paths:
/pets:
get:
summary: List all pets
operationId: listPets
tags:
- pets
responses:
'200':
description: Array of pets
content:
application/json:
schema:
$ref: "#/components/schemas/Pets"
components:
schemas:
Pets:
type: array
items:
type: object
required:
- name
- undefinedRequiredItem # This item is not defined in properties, but validation passes
properties:
name:
type: string
> OK
BUG: Validation passes for an invalid nested object:
openapi: "3.0.0"
info:
version: 1.0.0
title: Swagger Petstore
license:
name: MIT
servers:
- url: http://petstore.swagger.io/v1
paths:
/my-pet:
get:
summary: A pet
operationId: getPet
tags:
- pets
responses:
'200':
description: A pet
content:
application/json:
schema:
$ref: "#/components/schemas/Pet"
components:
schemas:
Pet:
type: object
properties:
pet:
type: object
required:
- name
- undefinedRequiredItem # This item is not defined in properties, but validation passes
properties:
name:
type: string
> OK
- Lenguaje dominante
- Python
- Estrellas
- 409
- Forks
- 73
- Métricas de merge de PR
- Sin PR fusionados en 30 d
Guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de python-openapi/openapi-spec-validator
-
Dificultad 4/5 3-5 días Aptitud para principiantes 55/100
-
Dificultad 3/5 1-2 días Aptitud para principiantes 55/100
-
Dificultad 3/5 1-2 días Aptitud para principiantes 30/100
-
Dificultad 4/5 3-5 días Aptitud para principiantes 42/100
python-openapi/openapi-spec-validator#400 · 1 comentario ·
-
kind/bug/confirmed
Dificultad 5/5 Más de una semana Aptitud para principiantes 25/100
python-openapi/openapi-spec-validator#373 · 1 comentario ·
Todos los issues de python-openapi/openapi-spec-validator
Issues similares
-
Add: hunch Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 74/100
AbdelStark/awesome-typesafe#104 ·
-
enhancement
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100
DiamondLightSource/dodal#2211 ·
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 88/100
openml/openml-python#1749 ·
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 88/100
sipyourdrink-ltd/bernstein#6191 ·