Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

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

Open
4 of 47 tasks
thbar opened this issue Oct 14, 2021 · 8 comments
Open
4 of 47 tasks

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

thbar opened this issue Oct 14, 2021 · 8 comments
Labels
dette technique Entretien & maintenance générale, nécessaire pour que le code reste de bonne qualité

Comments

@thbar
Copy link
Contributor

thbar commented Oct 14, 2021

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

  • 2 use_cassette "dataset/dataset-with-multiple-cities.json" do
  • 1 use_cassette "dataset/dataset_twice" do
  • 1 use_cassette "dataset/dataset-with-multiple-cities-and-country.json" do
  • 1 use_cassette "dataset/dataset-region-ao.json" do
  • 1 use_cassette "dataset/dataset-region-and-country.json" do
  • 1 use_cassette "dataset/dataset-no-region-nor-ao.json" do
  • 1 use_cassette "dataset/dataset-aom.json" do

Etat des lieux 18 avril 2023

Après merge à venir de la branche #3047

  • 2 use_cassette "dataset/dataset-with-multiple-cities.json" do
  • 1 use_cassette "dataset/dataset_twice" do
  • 1 use_cassette "dataset/dataset-with-multiple-cities-and-country.json" do
  • 1 use_cassette "dataset/dataset-region-ao.json" do
  • 1 use_cassette "dataset/dataset-region-and-country.json" do
  • 1 use_cassette "dataset/dataset-no-region-nor-ao.json" do
  • 1 use_cassette "dataset/dataset-aom.json" do
  • 1 use_cassette "client/datasets/one-0" do

Etat des lieux 25 juillet 2022

  • 2 use_cassette "dataset/dataset-with-multiple-cities.json" do
  • 1 use_cassette "dataset/dataset_twice" do
  • 1 use_cassette "dataset/dataset-with-multiple-cities-and-country.json" do
  • 1 use_cassette "dataset/dataset-region-ao.json" do
  • 1 use_cassette "dataset/dataset-region-and-country.json" do
  • 1 use_cassette "dataset/dataset-no-region-nor-ao.json" do
  • 1 use_cassette "dataset/dataset-aom.json" do
  • 1 use_cassette "client/discussions/post-1" do
  • 1 use_cassette "client/discussions/post-0" do
  • 1 use_cassette "client/datasets/stan" do
  • 1 use_cassette "client/datasets/sncf" do
  • 1 use_cassette "client/datasets/one-0" do
  • 1 use_cassette "client/datasets/metz" do

Etat des lieux précédent

  • 11 use_cassette "session/create-2" do
  • 2 use_cassette "dataset/dataset-with-multiple-cities.json" do
  • 1 use_cassette "vcub/station_status" do
  • 1 use_cassette "vcub/station_information" do
  • 1 use_cassette "jcdecaux/station_status" do
  • 1 use_cassette "jcdecaux/station_information" do
  • 1 use_cassette "dataset/dataset_twice" do
  • 1 use_cassette "dataset/dataset-with-multiple-cities-and-country.json" do
  • 1 use_cassette "dataset/dataset-region.json" do
  • 1 use_cassette "dataset/dataset-region-ao.json" do
  • 1 use_cassette "dataset/dataset-region-and-country.json" do
  • 1 use_cassette "dataset/dataset-no-region-nor-ao.json" do
  • 1 use_cassette "dataset/dataset-aom.json" do
  • 1 use_cassette "client/discussions/post-1" do
  • 1 use_cassette "client/discussions/post-0" do
  • 1 use_cassette "client/datasets/stan" do
  • 1 use_cassette "client/datasets/sncf" do
  • 1 use_cassette "client/datasets/one-0" do
  • 1 use_cassette "client/datasets/metz" do
@thbar thbar added the dette technique Entretien & maintenance générale, nécessaire pour que le code reste de bonne qualité label Oct 14, 2021
@thbar
Copy link
Contributor Author

thbar commented Nov 30, 2021

Voir aussi parroty/exvcr#181

@fchabouis
Copy link
Contributor

fchabouis commented Dec 31, 2021

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
Copy link
Contributor Author

thbar commented Jan 17, 2022

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 :

#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
Copy link
Contributor Author

thbar commented Jan 25, 2022

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

@thbar
Copy link
Contributor Author

thbar commented Jan 25, 2022

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

@thbar thbar mentioned this issue Jan 25, 2022
3 tasks
thbar added a commit that referenced this issue Jan 26, 2022
* Bump castore

* Bump earmark & earmark_parser

* Bump ecto, jason, postgrex

* Bump ex_aws/s3

* Bump ex_clr/gettext

* Bump geo

* Update finch (& use forked exvcr, see #1853)

* Update phoenix, liveview etc

* Tweak script

* Attempt to detect #1938 on CI

* Apply mix format

* Apply credo fix

* Update assets (yarn upgrade phoenix_live_view)

* Fix the test

* More credo fix
@thbar
Copy link
Contributor Author

thbar commented Jul 25, 2022

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

@thbar
Copy link
Contributor Author

thbar commented Apr 18, 2023

Ca continue à descendre.

@thbar
Copy link
Contributor Author

thbar commented Oct 20, 2023

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

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
dette technique Entretien & maintenance générale, nécessaire pour que le code reste de bonne qualité
Projects
None yet
Development

No branches or pull requests

2 participants