Projet

Général

Profil

Development #68527

Utiliser la lib responses dans les tests

Ajouté par Emmanuel Cazenave il y a plus d'un an. Mis à jour il y a plus d'un an.

Statut:
Fermé
Priorité:
Normal
Assigné à:
Version cible:
-
Début:
29 août 2022
Echéance:
% réalisé:

0%

Temps estimé:
Patch proposed:
Oui
Planning:
Non

Description

https://github.com/getsentry/responses.

En remplaçant les mock.patch('wcs.qommon.misc.urlopen') et apparentés par des with responses.RequestsMock() as rsps: (https://github.com/getsentry/responses#responses-as-a-context-manager)


Fichiers


Demandes liées

Bloque w.c.s. - Development #68337: Exploitation de APIClientFermé22 août 2022

Actions

Révisions associées

Révision 74f0c9e8 (diff)
Ajouté par Frédéric Péters il y a plus d'un an

tests: use responses module to mock HTTP responses (#68527)

Révision 5522a3f7 (diff)
Ajouté par Emmanuel Cazenave il y a plus d'un an

tests: use more responses module to mock HTTP responses (#68527)

Replace every mock.patch('http_related') pattern.

Historique

#1

Mis à jour par Frédéric Péters il y a plus d'un an

Pour info (avant de voir ce ticket) j'ai commencé par l'autre bout, pour utiliser responses dans la fixture http_requests (https://git.entrouvert.org/wcs.git/log/?h=wip/xxxxx-responses-as-mock-library).

#2

Mis à jour par Frédéric Péters il y a plus d'un an

Voilà déjà cette partie autour de la fixture http_requests, 9 files changed, 514 insertions(+), 513 deletions(-).

#3

Mis à jour par Benjamin Dauvergne il y a plus d'un an

Il y a ce diff qui s'est glissé dans ce patch qui ne m'a pas l'air d'être lié :

    def get_subjects(self):
        for em in mail.outbox:
            yield em.subject

#4

Mis à jour par Frédéric Péters il y a plus d'un an

Il est lié (utile voire nécessaire pour le développement de ces tests, obtenir les sujets, il m'a semblé pertinent de le laisser dans le code, pouvant être à nouveau utile).

#5

Mis à jour par Benjamin Dauvergne il y a plus d'un an

Frédéric Péters a écrit :

Il est lié (utile voire nécessaire pour le développement de ces tests, obtenir les sujets, il m'a semblé pertinent de le laisser dans le code, pouvant être à nouveau utile).

Je ne vois aucun appel à get_subjects, d'où ma remarque, si ça arrive ensuite pas de soucis.

#6

Mis à jour par Frédéric Péters il y a plus d'un an

Ça a été utilisé lors du développement du commit, c'est laissé sur l'idée que ça pourra être utilisé lors du développement d'autres commits. (ça peut tout à fait être retiré et si plus tard il y a à nouveau besoin lors du développement d'un test d'obtenir ça, ça pourra être recodé facilement).

#7

Mis à jour par Emmanuel Cazenave il y a plus d'un an

  • Sujet changé de Utilser la lib responses dans les tests à Utiliser la lib responses dans les tests
#8

Mis à jour par Emmanuel Cazenave il y a plus d'un an

Et la deuxième partie qui remplace tous les mock.patch (poussé sur la branche par dessus le premier commit).

A l'exception de deux mock.patch('requests.Session.request') dans test_misc.py où est testée la méthode _http_request. Ici l'utilisation de responses me semblerait obscurcir les choses.

#9

Mis à jour par Emmanuel Cazenave il y a plus d'un an

#10

Mis à jour par Frédéric Péters il y a plus d'un an

  • Statut changé de Solution proposée à Solution validée

517 insertions, 550 deletions

un bilan final qui retire des lignes, ouf.

#11

Mis à jour par Frédéric Péters il y a plus d'un an

  • Statut changé de Solution validée à Résolu (à déployer)

Poussé dès maintenant,

commit 5522a3f7b38fc21a57511048b08182ecf61c9db7
Author: Emmanuel Cazenave <ecazenave@entrouvert.com>
Date:   Tue Aug 30 17:05:39 2022 +0200

    tests: use more responses module to mock HTTP responses (#68527)

    Replace every mock.patch('http_related') pattern.

commit 74f0c9e8f0502c5b688b15ccbfa009df4d06251f
Author: Frédéric Péters <fpeters@entrouvert.com>
Date:   Mon Aug 29 20:01:05 2022 +0200

    tests: use responses module to mock HTTP responses (#68527)
#12

Mis à jour par Transition automatique il y a plus d'un an

  • Statut changé de Résolu (à déployer) à Solution déployée
#13

Mis à jour par Transition automatique il y a plus d'un an

Automatic expiration

Formats disponibles : Atom PDF