Development #86422
Validation des schémas JSON cassée suite au passage en bookworm
0%
Description
On est passé de jsonschema 3.2.0 à jsonschema 4.10.3, visiblement la validation "string" de ce dernier est plus stricte et n'accepte pas les chaînes paresseuse produites par gettext_lazy() dans les schémas, il faut normaliser le schéma avant de le passer à validate.
Les connecteurs concernés (grosso modo):
$ git grep -l "'title': _(" passerelle/apps/adullact_pastell/models.py passerelle/apps/astre_rest/models.py passerelle/apps/cmis/models.py passerelle/apps/filr_rest/schemas.py passerelle/apps/qrcode/models.py passerelle/contrib/toulouse_foederis/models.py
Demandes liées
Révisions associées
ci: use jsonschema version from debian bookworm (#86422)
utils: simplify subclassing APIError (#86422)
By making err, http_status and log_error class variables with their
default values.
utils: factorize json schema validation (#86422)
It was already used in two places (views.py and photon connector), and
wrongly (photon connector was ignoring some errors for no reason).
META_SCHEMA manipulation is removed and will be replaced by a
normalization of the schema to remove lazy strings in a later commit.
A new JSONValidationError subclass of APIError is introduced.
utils: normalize schema before validation (#86422)
To allow using lazy strings in JSON schemas we cast lazy strings to str
before validating the schema itself. The resulting validator is cached.
Historique
Mis à jour par Benjamin Dauvergne il y a 3 mois
- Lié à Development #54661: cmis, décrire les attributs du message à poster ajouté
Mis à jour par Robot Gitea il y a 3 mois
- Tracker changé de Support à Development
- Statut changé de Nouveau à En cours
Benjamin Dauvergne (bdauvergne) a ouvert une pull request sur Gitea concernant cette demande :
- URL : https://git.entrouvert.org/entrouvert/passerelle/pulls/458
- Titre : WIP: validation jsonschema cassée suite passage en debian bookworm (#86422)
- Modifications : https://git.entrouvert.org/entrouvert/passerelle/pulls/458/files
Mis à jour par Benjamin Dauvergne il y a 3 mois
C'était un peu plus complexe que ça, le cas des lazy string avait déjà été traité dans #54661 en monkeypatchant jsonschema, mais il se trouve que le validateur utilisé avec le schéma n'est pas le même que celui utilisé pour valider le schéma lui même en version 4.10.3. Plus simple et plus propre à long terme le nouveau code de validation des schémas nettoie le schéma des chaînes paresseuses avant de le passer au validateur. Le validateur est mis en cache au cas où.
Mis à jour par Robot Gitea il y a 3 mois
- Statut changé de Solution proposée à Solution validée
Corentin Sechet (csechet) a approuvé une pull request sur Gitea concernant cette demande :
Mis à jour par Robot Gitea il y a 3 mois
- Statut changé de Solution validée à Résolu (à déployer)
Benjamin Dauvergne (bdauvergne) a mergé une pull request sur Gitea concernant cette demande :
- URL : https://git.entrouvert.org/entrouvert/passerelle/pulls/458
- Titre : validation jsonschema cassée suite passage en debian bookworm (#86422)
- Modifications : https://git.entrouvert.org/entrouvert/passerelle/pulls/458/files
Mis à jour par Transition automatique il y a 3 mois
- Statut changé de Résolu (à déployer) à Solution déployée
packaging: relax version constraint on jsonschema (#86422)