Durant la migration du stockage des données de la stack on-premise vers la stack Google Cloud Platform, l’API a été complètement réécrite et de nombreux changements ont été apportés.

Il était donc nécessaire d’accompagner les clients dans la transition vers cette nouvelle API. Le calendrier serré de la décommission des serveurs n’a pas laissé le temps à tous les clients de migrer, il a donc fallu mettre en place un système permettant de rediriger les appels de l’ancienne API vers la nouvelle (en appliquant les transformations et traductions nécessaires) : le Bridge !

Il fallait alors tester que la traduction s’effectuait correctement et que tous les paramètres étaient correctement traduits.

Pour ce faire, j’ai automatisé un système capable de récupérer les deux JSON et d’effectuer une comparaison. Mais ce n’est pas tout : il était également nécessaire de comparer les données des deux rapports générés suite aux appels, afin de s’assurer que les données étaient concordantes. Avant la décommission, les deux API généraient les rapports : l’un sur l’ancienne stack et l’autre sur la nouvelle. Cela nous a permis de découvrir un certain nombre de bugs et/ou d’oublis.

La particularité de ce projet Cypress était que les tests dépendaient des données : Data-Driven Testing.

Chaque jour, l’automate récupérait une liste de rapports clients de la veille grâce à une connexion à une base de données, en prérequis au lancement de l’automate.

Le fichier de test importait la liste des IDs de rapports clients et exécutait une boucle forEach dans laquelle on appelait le test it(function()).

De cette manière, nous étions certains de couvrir un maximum de rapports clients de façon automatique et autonome chaque jour.