etalab / transport-site

Rendre disponible, valoriser et améliorer les données transports
https://transport.data.gouv.fr
190 stars 29 forks source link

État des lieux de l'usage des cassettes #1853

Open thbar opened 2 years ago

thbar commented 2 years ago

Un "noeud" d'upgrade est #1650, où on voit que exvcr pose d'autres problèmes indirects. La librairie n'est pas bien maintenue actuellement etc.

Je crée ce ticket pour lister les endroits où les cassettes sont utilisées, et structurer une suppression graduelle de l'usage:

ag use_cassette --no-numbers --no-break --no-filename | awk '{$1=$1;print}' | sort | uniq -c | sort -r | awk '$0="* [ ] "$0'

Etat des lieux 20 octobre 2023

Etat des lieux 18 avril 2023

Après merge à venir de la branche https://github.com/etalab/transport-site/pull/3047

Etat des lieux 25 juillet 2022

Etat des lieux précédent

thbar commented 2 years ago

Voir aussi https://github.com/parroty/exvcr/issues/181

fchabouis commented 2 years ago

Pour information, je vois que nos tests actuels utilisent le réseau, ce qui m'a étonné vu que les cassettes sont censées permettre de s'en passer !

Il y a au moins le fichier apps/transport/test/transport_web/controllers/backoffice_controller_test.exs dans ce cas.

Cela vient probablement du fait que ExVcr nécessite de spécifier quel adapteur utiliser, et que pour le moment nous ne spécifions que Hackney lorsque nous faisons use TransportWeb.ExternalCase. Voir ici. Donc tout ce qui passe par Finch par exemple ne se fait pas attraper par les cassettes actuellement.

Cela fait de ce fichier un bon candidat au nettoyage :)

thbar commented 2 years ago

Pour information, je vois que nos tests actuels utilisent le réseau, ce qui m'a étonné vu que les cassettes sont censées permettre de s'en passer !

J'avais constaté quelque chose de similaire ici :

https://github.com/etalab/transport-site/issues/1751

Il faudrait que les cassettes soient systématiquement en mode "strict", si cela existe (= lever une erreur et ne jamais appeler l'extérieur).

Je verrai si on peut trouver ça, le risque de faire des boulettes n'est pas négligeable (loi de Murphy, credentials de prod en local, et un mauvais jour et zouuu).

thbar commented 2 years ago

@etalab/transport-tech il va falloir envisager de quitter ExVCR complètement ; voir https://github.com/parroty/exvcr/issues/181 (je vais forker pour relâcher la contrainte, mais c'est pas super pérenne).

thbar commented 2 years ago

J'ai forké pour mettre à jour et proposé une PR https://github.com/parroty/exvcr/pull/182 (mais le repo a l'air peu actif).

thbar commented 2 years ago

J'ai mis à jour l'état des lieux, ça a bien diminué, il en reste à éliminer !

thbar commented 1 year ago

Ca continue à descendre.

thbar commented 11 months ago

J'ai mis à jour, ça a progressé