Connexion: Erreur avec les énumérations contenant la valeur « non »

Créé le 29 juil. 2018  ·  3Commentaires  ·  Source: zalando/connexion

La description

Une énumération qui contient la valeur 'no' a cette valeur convertie en False dans le validateur de schéma, provoquant des erreurs de validation.

Comportement attendu

'no' signifie 'no' .

Comportement réel

'no' est converti en Faux.

Étapes à reproduire

Créez simplement une énumération comme celle-ci :

Countries:
    type: string
    enum:
      - ad
      - ae
      - af
      - ag
      - ai
      - al
      - am
      - ao
      - aq
      - ar
      - as
      - at
      - au
      - aw
      - ax
      - az
      - ba
      - bb
      - bd
      - be
      - bf
      - bg
      - bh
      - bi
      - bj
      - bl
      - bm
      - bn
      - bo
      - bq
      - br
      - bs
      - bt
      - bv
      - bw
      - by
      - bz
      - ca
      - cc
      - cd
      - cf
      - cg
      - ch
      - ci
      - ck
      - cl
      - cm
      - cn
      - co
      - cr
      - cu
      - cv
      - cw
      - cx
      - cy
      - cz
      - de
      - dj
      - dk
      - dm
      - do
      - dz
      - ec
      - ee
      - eg
      - eh
      - er
      - es
      - et
      - fi
      - fj
      - fk
      - fm
      - fo
      - fr
      - ga
      - gb
      - gd
      - ge
      - gf
      - gg
      - gh
      - gi
      - gl
      - gm
      - gn
      - gp
      - gq
      - gr
      - gs
      - gt
      - gu
      - gw
      - gy
      - hk
      - hm
      - hn
      - hr
      - ht
      - hu
      - id
      - ie
      - il
      - im
      - in
      - io
      - iq
      - ir
      - is
      - it
      - je
      - jm
      - jo
      - jp
      - ke
      - kg
      - kh
      - ki
      - km
      - kn
      - kp
      - kr
      - kw
      - ky
      - kz
      - la
      - lb
      - lc
      - li
      - lk
      - lr
      - ls
      - lt
      - lu
      - lv
      - ly
      - ma
      - mc
      - md
      - me
      - mf
      - mg
      - mh
      - mk
      - ml
      - mm
      - mn
      - mo
      - mp
      - mq
      - mr
      - ms
      - mt
      - mu
      - mv
      - mw
      - mx
      - my
      - mz
      - na
      - nc
      - ne
      - nf
      - ng
      - ni
      - nl
      - no
      - np
      - nr
      - nu
      - nz
      - om
      - pa
      - pe
      - pf
      - pg
      - ph
      - pk
      - pl
      - pm
      - pn
      - pr
      - ps
      - pt
      - pw
      - py
      - qa
      - re
      - ro
      - rs
      - ru
      - rw
      - sa
      - sb
      - sc
      - sd
      - se
      - sg
      - sh
      - si
      - sk
      - sl
      - sm
      - sn
      - so
      - sr
      - ss
      - st
      - sv
      - sx
      - sy
      - sz
      - tc
      - td
      - tf
      - tg
      - th
      - tj
      - tk
      - tl
      - tm
      - tn
      - to
      - tr
      - tt
      - tv
      - tw
      - tz
      - ua
      - ug
      - um
      - us
      - uy
      - uz
      - va
      - vc
      - ve
      - vg
      - vi
      - vn
      - vu
      - wf
      - ws
      - ye
      - yt
      - za
      - zm
      - zw

et envoyez-le comme paramètre et comme réponse - vous le verrez se produire.

Information additionnelle:

Exemple d'erreur du validateur Connexion :

2018-07-27 11:56:33,268 [15/#7fc7bc797638] ERROR in validation.validate_schema:131: validation error: 'no' is not one of ['ww', 'eu', 'ad', 'ae', 'af', 'ag', 'ai', 'al', 'am', 'ao', 'aq', 'ar', 'as', 'at', 'au', 'aw', 'ax', 'az', 'ba', 'bb', 'bd', 'be', 'bf', 'bg', 'bh', 'bi', 'bj', 'bl', 'bm', 'bn', 'bo', 'bq', 'br', 'bs', 'bt', 'bv', 'bw', 'by', 'bz', 'ca', 'cc', 'cd', 'cf', 'cg', 'ch', 'ci', 'ck', 'cl', 'cm', 'cn', 'co', 'cr', 'cu', 'cv', 'cw', 'cx', 'cy', 'cz', 'de', 'dj', 'dk', 'dm', 'do', 'dz', 'ec', 'ee', 'eg', 'eh', 'er', 'es', 'et', 'fi', 'fj', 'fk', 'fm', 'fo', 'fr', 'ga', 'gb', 'gd', 'ge', 'gf', 'gg', 'gh', 'gi', 'gl', 'gm', 'gn', 'gp', 'gq', 'gr', 'gs', 'gt', 'gu', 'gw', 'gy', 'hk', 'hm', 'hn', 'hr', 'ht', 'hu', 'id', 'ie', 'il', 'im', 'in', 'io', 'iq', 'ir', 'is', 'it', 'je', 'jm', 'jo', 'jp', 'ke', 'kg', 'kh', 'ki', 'km', 'kn', 'kp', 'kr', 'kw', 'ky', 'kz', 'la', 'lb', 'lc', 'li', 'lk', 'lr', 'ls', 'lt', 'lu', 'lv', 'ly', 'ma', 'mc', 'md', 'me', 'mf', 'mg', 'mh', 'mk', 'ml', 'mm', 'mn', 'mo', 'mp', 'mq', 'mr', 'ms', 'mt', 'mu', 'mv', 'mw', 'mx', 'my', 'mz', 'na', 'nc', 'ne', 'nf', 'ng', 'ni', 'nl', False, 'np', 'nr', 'nu', 'nz', 'om', 'pa', 'pe', 'pf', 'pg', 'ph', 'pk', 'pl', 'pm', 'pn', 'pr', 'ps', 'pt', 'pw', 'py', 'qa', 're', 'ro', 'rs', 'ru', 'rw', 'sa', 'sb', 'sc', 'sd', 'se', 'sg', 'sh', 'si', 'sk', 'sl', 'sm', 'sn', 'so', 'sr', 'ss', 'st', 'sv', 'sx', 'sy', 'sz', 'tc', 'td', 'tf', 'tg', 'th', 'tj', 'tk', 'tl', 'tm', 'tn', 'to', 'tr', 'tt', 'tv', 'tw', 'tz', 'ua', 'ug', 'um', 'us', 'uy', 'uz', 'va', 'vc', 've', 'vg', 'vi', 'vn', 'vu', 'wf', 'ws', 'ye', 'yt', 'za', 'zm', 'zw']

Je suppose que cela est dû à un code automatique qui convertit 'no' en False et 'yes' en True, mais je n'ai pas eu assez de temps pour approfondir le code.

Sortie des commandes :

  • python --version
    Python 3.6.3

  • pip show connexion | grep "^Version\:"
    Version : 2016.0.dev1 (oui, ancienne, mais cela arrive aussi dans la dernière version)

Commentaire le plus utile

Je suppose qu'on peut clore ce problème ? We/Connexion ne peut pas corriger la spécification YAML .. :smirk:

Tous les 3 commentaires

Il s'agit d'une propriété du format de fichier yaml. vous devrez citer votre
types de chaînes.

Le lundi 30 juillet 2018, 05h59, Alon Diamant [email protected] a écrit :

La description

Une énumération qui contient la valeur « non » a cette valeur convertie en False dans
le validateur de schéma, provoquant des erreurs de validation.
Comportement attendu

« non » signifie « non ».
Comportement réel

« non » est converti en Faux.
Étapes à reproduire

Créez simplement une énumération comme celle-ci :

Des pays:
type : chaîne
énumération :
- un d
- ae
- un F
- ag
- ai
- Al
- un m
- ao
- aq
- ar
- comme
- à
- au
- ah
- hache
- az
- ba
- bb
- bd
- être
- mon petit ami
- bg
- bah
- bi
- bj
- bl
- bm
- milliards
- bo
- bq
- fr
- bs
- bt
- bv
- pc
- par
- bz
- Californie
- cc
- cd
- voir
-cg
- ch
- ci
- ck
- cl
- cm
- cn
- co
- cr
- cu
- CV
- dans le sens
- cx
- cy
- cz
- de
- dj
- dk
- dm
- faire
- dz
- ce
- ee
- par exemple
- hein
- euh
- es
- et
- Fi
- fj
- fk
- fm
- pour
- fr
- ga
- go
- dieu
- ge
- gf
- gg
- gh
- gi
- g
- gm
- gn
- gp
- gq
- gr
- gs
- gt
- gu
- gw
- gy
- hk
- hum
- hn
- h
- ht
- hein
- identifiant
- c'est à dire
- je
- je suis
- dans
- io
- iq
- je
- est
- ce
- je
- jm
- jo
- jp
- ke
- kg
- kh
- ki
- km
- kn
- kp
- couronnes
- kilowatts
- ky
- kz
- la
- kg
- lc
- li
- lk
- g / D
- ls
- lt
- lu
- lv
- ment
- ma
- mc
- md
- moi
- mf
-mg
- mh
- mk
- ml
- mm
- mn
- mo
- député
- mq
- Monsieur
- Mme
- mt
- mu
- mv
- mw
- mx
- ma
- mz
- n / A
- NC
- ne
- nf
- ng
- non
- nl
- non
- np
- n°
- non
- nz
- om
- pa
- pe
- pf
- page
- ph
- paquet
- PL
- après-midi
- pn
- pr
- ps
- pt
- pw
- py
- qa
- re
- ro
- rs
- ru
- rw
- sa
- qn
- sc
- Dakota du Sud
- se
- sg
- ch
- si
- sk
- sl
- sm
- sn
- alors
- sr
- ss
- st
- sv
- sx
- oui
- sz
- tc
- td
- tf
- tg
- e
- tj
- tk
- tl
- tm
- tn
- à
- tr
- tt
- la télé
- deux
- tz
- u
- euh
- euh
- nous
- euh
- ous
- va
- vc
- ve
- vg
- vi
- vn
- vu
- wf
- ws
- vous
- yt
- za
- zm
- zw

et envoyez-le comme paramètre et comme réponse - vous le verrez se produire.
Information additionnelle:

Exemple d'erreur du validateur Connexion :

2018-07-27 11:56:33,268 [15/#7fc7bc797638] ERREUR dans validation.validate_ schema:131 : erreur de validation : 'no' n'est pas l'un de ['ww', 'eu', 'ad', 'ae ', 'af', 'ag', 'ai', 'al', 'am', 'ao', 'aq', 'ar', 'as', 'at', 'au', 'aw', 'ax', 'az', 'ba', 'bb', 'bd', 'be', 'bf', 'bg', 'bh', 'bi', 'bj', 'bl', 'bm ', 'bn', 'bo', 'bq', 'br', 'bs', 'bt', 'bv', 'bw', 'by', 'bz', 'ca', 'cc', 'cd', 'cf', 'cg', 'ch', 'ci', 'ck', 'cl', 'cm', 'cn', 'co', 'cr', 'cu', 'cv ', 'cw', 'cx', 'cy', 'cz', 'de', 'dj', 'dk', 'dm', 'do', 'dz', 'ec', 'ee', 'eg', 'eh', 'er', 'es', 'et', 'fi', 'fj', 'fk', 'fm', 'fo', 'fr', 'ga', 'gb ', 'gd', 'ge', 'gf', 'gg', 'gh', 'gi', 'gl', 'gm', 'gn', 'gp', 'gq', 'gr', 'gs', 'gt', 'gu', 'gw', 'gy', 'hk', 'hm', 'hn', 'hr', 'ht', 'hu', 'id', 'ie ', 'il', 'im', 'in', 'io', 'iq', 'ir', 'is', 'it', 'je', 'jm', 'jo', 'jp', 'ke', 'kg', 'kh', 'ki', 'km', 'kn', 'kp', 'kr', 'kw', 'ky', 'kz', 'la', 'lb ', 'lc', 'li', 'lk', 'lr', 'ls', 'lt', 'lu', 'lv', 'ly', 'ma', 'mc', 'md', 'moi', 'mf', 'mg', 'mh', 'mk', 'ml', 'mm', 'mn', 'mo', 'mp', 'mq', 'mr', 'ms', 'mt', 'mu', 'mv', 'mw', 'mx ', 'my', 'mz', 'na', 'nc', 'ne', 'nf', 'ng', 'ni', 'nl', False, 'np', 'nr', 'nu ', 'nz', 'om', 'pa', 'pe', 'pf', 'pg', 'ph', 'pk', 'pl', 'pm', 'pn', 'pr', 'ps', 'pt', 'pw', 'py', 'qa', 're', 'ro', 'rs', 'ru', 'rw', 'sa', 'sb', 'sc ', 'sd', 'se', 'sg', 'sh', 'si', 'sk', 'sl', 'sm', 'sn', 'so', 'sr', 'ss', 'st', 'sv', 'sx', 'sy', 'sz', 'tc', 'td', 'tf', 'tg', 'th', 'tj', 'tk', 'tl ', 'tm', 'tn', 'to', 'tr', 'tt', 'tv', 'tw', 'tz', 'ua', 'ug', 'um', 'us', 'uy', 'uz', 'va', 'vc', 've', 'vg', 'vi', 'vn', 'vu', 'wf', 'ws', 'ye', 'yt ', 'za', 'zm', 'zw']

Je suppose que cela est dû à un code automatique qui renvoie « non » à
Faux et 'oui' à vrai, mais je n'ai pas eu le temps d'approfondir
le code.

Sortie des commandes :

-

python --version
Python 3.6.3
-

pip show connexion | grep "^Version :"
Version : 2016.0.dev1 (oui, ancienne, mais cela arrive aussi dans la dernière version)

-
Vous recevez ceci parce que vous êtes abonné à ce fil.
Répondez directement à cet e-mail, consultez-le sur GitHub
https://github.com/zalando/connexion/issues/646 , ou couper le fil de discussion
https://github.com/notifications/unsubscribe-auth/AAlPSbDrv5AocLyMGZKe2WPOLbUAMk_Eks5uLhQogaJpZM4VljBk
.

Oui, j'ai compris :
https://github.com/yaml/pyyaml/blob/93694d3e42b0cfd460f42beb75910aacacd9b5d2/lib3/yaml/constructor.py#L210

Un peu idiot. Très bien, je citerai et j'espère que cela fonctionnera. Merci!

Je suppose qu'on peut clore ce problème ? We/Connexion ne peut pas corriger la spécification YAML .. :smirk:

Cette page vous a été utile?
0 / 5 - 0 notes

Questions connexes

rudyces picture rudyces  ·  3Commentaires

bioslikk picture bioslikk  ·  4Commentaires

FRNCSCM picture FRNCSCM  ·  4Commentaires

sharkguto picture sharkguto  ·  5Commentaires

vimalloc picture vimalloc  ·  3Commentaires