openapi-generators / openapi-generators/openapi-python-client
Minor schema validation error: doesn't complain about invalid default for null and file types
Dieses Issue hat noch niemand übernommen.
- Vorherrschende Sprache
- Python
- Sterne
- 2k
- Forks
- 293
- Ø Merge
- 34 Min.
- Gemergte PRs (30 T.)
- 1
Beschreibung
Describe the bug
NoneProperty.build and FileProperty.build do have logic to detect if a default other than None was provided for a null property, or if any default was provided for a binary string—and we do have unit tests for those. However, in reality NoneProperty.build and FileProperty.build do not actually get called, because property_from_data just calls the initializers directly instead. Therefore if you do something like this, the default is simply ignored.
OpenAPI Spec File
components:
schemas:
MyModel:
properties:
myNullProperty:
type: "null"
default: "definitely not null"
myBinaryString:
type: string
format: binary
default: "???"
Desktop (please complete the following information):
- OS: any
- Python Version: any
- openapi-python-client version: 0.21.6
Beitragsleitfaden
Erste Schritte
- Lies das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreib ins Issue, dass du es übernimmst — das erspart doppelte Arbeit.
- Forke das Repository und arbeite in einem Branch.
- Öffne einen Pull Request, der die Issue-Nummer nennt.
Rechercherichtung
Beginne damit, property_from_data nachzuverfolgen und vergleiche seine direkten Aufrufe der Initializer mit NoneProperty.build und FileProperty.build, die bereits Validierungslogik enthalten. Führe die bestehenden Unit-Tests für diese Builder aus und ergänze Tests, die zeigen, dass ungültige Standardwerte in den bereitgestellten OpenAPI-Schemas abgelehnt statt ignoriert werden.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Bewertung
- Tech-Stack
- python
- Bereich
- api, tooling
- Issue-Typ
- Bug
- Schwierigkeit
- 2/5
- Geschätzter Aufwand
- 1-3 Stunden
- Aktivitätsstatus
- Veraltet
- Klarheit
- Klar beschrieben
- Anfängerfreundlichkeit
- 58/100