OpenAPI 3.0 spec pattern constant validation

Offen
#57 0 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen

Dieses Issue hat noch niemand übernommen.

Bewertung

Schwierigkeit
3/5
Geschätzter Aufwand
1-2 Tage
Anfängerfreundlichkeit
42/100
Issue-Typ
Bug
Klarheit
Klar beschrieben
Aktivitätsstatus
Veraltet
Tech-Stack
python

Rechercherichtung

No file or test is named in the issue. Start by reproducing the validator behavior with the two pattern examples, then locate the OpenAPI 3.0 pattern validation entry point. Done means slash-delimited ECMA 262 patterns are accepted while the undelimited form is rejected.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Beschreibung

Description

According to the OpenAPI 3.0 specification for the pattern attribute of a schema object, the pattern provided should comply with ECMA 262 regular expression syntax. The syntax defined in that specification defines regular expression literals as being preceded and trailed by a '/' character, as they are in Javascript/ECMAscript.

Expected behaviour

Pattern specified in a specification as:

pattern: /regular expression/

should be valid, patterns specified without the leading and trailing '/' characters should not.

Actual Behavior

Both

pattern: /^(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/

and

pattern: ^(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$

are valid pattern constants according to the validator. The second should not be valid, unless I'm misreading the two specification documents linked above.

This is a follow up on Connexion issue number 871.

Vorherrschende Sprache
Python
Sterne
409
Forks
73
PR-Merge-Kennzahlen
Keine gemergten PRs in 30 T.

Beitragsleitfaden

Beitragsleitfaden öffnen

Erste Schritte

  1. Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
  3. Forken Sie das Repository und arbeiten Sie in einem Branch.
  4. Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.

Mehr aus python-openapi/openapi-spec-validator

Alle Issues in python-openapi/openapi-spec-validator

Ähnliche Issues

Weitere Issues zu Python

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.