Development #39597
cmis : utiliser httmock dans les tests pour avoir une couverture 'plus profonde'
0%
Description
Dans #39391, on se rend compte que les tests,
bien qu'il ne court-circuitent pas un chemin de code,
n'ont pas levé l'exception observée.
Fichiers
Demandes liées
Révisions associées
Revert "cmis: add a test that mock http requests (#39597)"
This reverts commit 577fbfa3b9e99c989e12abed7b8793933fa9d837.
cmis: add a test that mock http requests (#39597)
Historique
Mis à jour par Nicolas Roche il y a environ 4 ans
- Lié à Bug #39391: cmis py3: pas bon les bytes dans StringIO ajouté
Mis à jour par Serghei Mihai il y a environ 4 ans
- Sujet changé de cmis : utiliser httmock dans les tests pour avoir une couverture 'plus procfonde' à cmis : utiliser httmock dans les tests pour avoir une couverture 'plus profonde'
Mis à jour par Nicolas Roche il y a environ 4 ans
- Fichier 0001-cmis-add-a-test-that-mock-http-requests-39597.patch 0001-cmis-add-a-test-that-mock-http-requests-39597.patch ajouté
- Statut changé de Nouveau à Solution proposée
- Patch proposed changé de Non à Oui
cf https://pypi.org/project/httmock/
A mocking library for `requests` for Python 2.7 and 3.4+.
Mais ici, cmislib utilise httplib2, donc j'ai directement utilisé mock.
Sinon j'aurais aussi voulu tester le contenu envoyé par le connecteur au serveur, mais le contenu change entre les tests python2 et python3.
+ s:propertyId propertyDefinitionId="cmis:objectTypeId"> + <cmis:value>cmis:document</cmis:value> + </cmis:propertyId> - s:propertyString propertyDefinitionId="cmis:name"> + <cmis:propertyString propertyDefinitionId="cmis:name">...
Mis à jour par Benjamin Dauvergne il y a environ 4 ans
Nicolas Roche a écrit :
cf https://pypi.org/project/httmock/
A mocking library for `requests` for Python 2.7 and 3.4+.
Mais ici, cmislib utilise httplib2, donc j'ai directement utilisé mock.
Sinon j'aurais aussi voulu tester le contenu envoyé par le connecteur au serveur, mais le contenu change entre les tests python2 et python3.
[...]
Ne vise que python3 pour ces tests, on est en cours de migration python3, pour un connecteur particulier on peut négliger python2 dans l'intervalle.
Mis à jour par Nicolas Roche il y a environ 4 ans
- Fichier 0001-cmis-add-a-test-that-mock-http-requests-39597.patch 0001-cmis-add-a-test-that-mock-http-requests-39597.patch ajouté
Avec un "if sys.version_info >= (3, 7)
" dans le test.
Mis à jour par Frédéric Péters il y a environ 4 ans
Avec un "if sys.version_info >= (3, 7)" dans le test.
Nos déploiements se font sur Python 3.5.
Mis à jour par Frédéric Péters il y a environ 4 ans
(et pour regarder si on est en Python 3, on utilise plutôt six.PY3).
Mis à jour par Nicolas Roche il y a environ 4 ans
- Fichier 0001-cmis-add-a-test-that-mock-http-requests-39597.patch 0001-cmis-add-a-test-that-mock-http-requests-39597.patch ajouté
mea cvlpa
Mis à jour par Frédéric Péters il y a environ 4 ans
- Statut changé de Solution proposée à Solution validée
Si c'est toujours ok, pousse ainsi.
Mis à jour par Nicolas Roche il y a environ 4 ans
la requête POST a changé depuis, sans que je ne m'explique pourquoi :
diff --git a/tests/data/cmis/cmis3.in.xml b/tests/data/cmis/cmis3.in.xml @@ -1,12 +1,12 @@ - <cmisra:mediatype>application/binary</cmisra:mediatype> + <cmisra:mediatype>image/jpeg</cmisra:mediatype>
parce que (merci Manu) #21807 fait en sorte de passer le content-type à la lib pour qu'elle n'essaye pas de le deviner.
(ici je passe file_content = 'salut\n')
Mis à jour par Nicolas Roche il y a environ 4 ans
- Statut changé de Solution validée à Résolu (à déployer)
commit 577fbfa3b9e99c989e12abed7b8793933fa9d837 Author: Nicolas ROCHE <nroche@entrouvert.com> Date: Sat Feb 8 21:25:04 2020 +0100 cmis: add a test that mock http requests (#39597)
Mis à jour par Emmanuel Cazenave il y a environ 4 ans
Ça a tout cassé le build : https://jenkins.entrouvert.org/job/passerelle/1198/
Mis à jour par Nicolas Roche il y a environ 4 ans
Oui désolé, ici j'ai du le relancer pour qu'il passe en pensant à une fausse manip de ma part.
En fait c'est la même erreur que celle observée plus haut avec python 2.7 :
les balises enfants properties
sont inversées, mais sur jenkins (python 3.5) c'est aléatoire.
Mis à jour par Nicolas Roche il y a environ 4 ans
- Statut changé de Résolu (à déployer) à En cours
Je revert en attendant de trouver comment trier les arbres.
commit 29311ceee7e153be51608a47de9fb9a2e18af9ff Author: Nicolas ROCHE <nroche@entrouvert.com> Date: Thu Mar 5 00:48:28 2020 +0100 Revert "cmis: add a test that mock http requests (#39597)" This reverts commit 577fbfa3b9e99c989e12abed7b8793933fa9d837.
Mis à jour par Nicolas Roche il y a environ 4 ans
- Fichier 0001-cmis-add-a-test-that-mock-http-requests-39597.patch 0001-cmis-add-a-test-that-mock-http-requests-39597.patch ajouté
- Statut changé de En cours à Solution proposée
J'ai relancé 3 fois le build jenkins pour être sûr de mon coup cette fois ci.
Mis à jour par Emmanuel Cazenave il y a environ 4 ans
- Statut changé de Solution proposée à Solution validée
Problème d’ordonnancement d'éléments dans un xml me dit Nico (bug aléatoire selon les version de python) .
Mis à jour par Nicolas Roche il y a environ 4 ans
- Statut changé de Solution validée à Résolu (à déployer)
commit df05103354cecc2de67bd220baf842c3a0f1e222 Author: Nicolas ROCHE <nroche@entrouvert.com> Date: Sat Feb 8 21:25:04 2020 +0100 cmis: add a test that mock http requests (#39597)
Mis à jour par Frédéric Péters il y a environ 4 ans
- Statut changé de Résolu (à déployer) à Solution déployée
cmis: add a test that mock http requests (#39597)