Bug #31265
iparapheur: tests de non regression avec zeep
0%
Description
Le but de ce ticket est de simplifier le patch de migration du connecteur iParapheur de suds vers zeep,
en omettant (dans un premier temps) la migration des verrues contenues dans le fichier soap.py.
Fichiers
Demandes liées
Révisions associées
Historique
Mis à jour par Nicolas Roche il y a environ 5 ans
- Lié à Support #31120: iparapheur: passer ce connecteur à zeep ajouté
Mis à jour par Nicolas Roche il y a environ 5 ans
- Fichier 0002-iparapheur-pass-unit-tests-using-zeep-soap-library-3.patch 0002-iparapheur-pass-unit-tests-using-zeep-soap-library-3.patch ajouté
- Tracker changé de Support à Bug
- Statut changé de Nouveau à Solution proposée
- Patch proposed changé de Non à Oui
- J'ai modifié la façon dont les 2 requêtes GET (wsdl + dépendance) sont mockées parceque la solution utilisée jusqu'à présent se basait sur la verrue dans soap.py (vouée à disparaître).
- Zeep est plus exigeant sur la structure de la requête Post, et donc j'en ai fait un vrai objet Response.
- J'ai quelque peu abusé les tests, par exemple le message de retour KOmessage pour test_get_file ne respecte pas la grammaire donnée par le WSDL et zeep qui le remarque lève une exception alors que suds ne le faisait pas. Je pense corriger et compléter les tests dans #31274.
Désolé, j'ai essayé de faire le plus succin possible, mais visiblement je n'y suis pas arrivé.
N'hésitez pas non plus à me faire des remarques sur la forme (je n'ai pas encore la vision pep8).
Mis à jour par Frédéric Péters il y a environ 5 ans
- content = data['data'] + content = base64.b64decode(data['data']) content_type = data.get('content_type') if data.get('content_type') \ else get_magic_mime(base64.b64decode(data['data']))
On peut éviter de décoder une seconde fois.
N'hésitez pas non plus à me faire des remarques sur la forme (je n'ai pas encore la vision pep8).
Et c'est la bonne approche de mimer le code environnant, mais perso tu pourrais te permettre de ne pas faire ceci :
- except(Exception,) as exc: - # Exception different from suds.tranport.TransportError - if not exc.args or not isinstance(exc.args[0], tuple): - raise exc - # TransportError Exception + except(TransportError,) as exc: raise APIError('Transport Error: %s' % exc)
et de changer la ligne, et l'autre du même bloc, au format except TransportError as exc:
.
Mis à jour par Nicolas Roche il y a environ 5 ans
- Fichier 0002-iparapheur-pass-unit-tests-using-zeep-soap-library-3.patch 0002-iparapheur-pass-unit-tests-using-zeep-soap-library-3.patch ajouté
Merci.
Et par rapport aux tests... (je pensais m'attirer les foudres avec Mock que je ne maîtrise pas encore) ?
Mis à jour par Benjamin Dauvergne il y a environ 5 ans
Ack. J'ai un autre ticket pour simplifier les tests à base de mock. Une dernière chose, vire le module soap il n'est plus utilisé suite à ton patch.
Mis à jour par Benjamin Dauvergne il y a environ 5 ans
- Statut changé de Solution proposée à Solution validée
Mis à jour par Nicolas Roche il y a environ 5 ans
- Statut changé de Solution validée à Résolu (à déployer)
commit ac5172e542117b1fd3829891208f286185135d2c Author: Nicolas ROCHE <nroche@entrouvert.com> Date: Wed Mar 6 16:13:27 2019 +0100 iparapheur: pass unit tests using zeep soap library (#31265)
Mis à jour par Frédéric Péters il y a environ 5 ans
- Statut changé de Résolu (à déployer) à Solution déployée
Mis à jour par Benjamin Dauvergne il y a environ 5 ans
- Statut changé de Solution déployée à Fermé
iparapheur: pass unit tests using zeep soap library (#31265)