Aller au contenu

Finalisation des tests API Marketstack E2E

Billet #221 : Implémentation des tests API Marketstack E2E
Type : Automatisation / API Testing / Sécurité
Composants concernés : e2e/src/tests/marketstackApi.spec.ts, e2e/scripts/save-windows-secrets.ps1, e2e/scripts/run-with-windows-secrets.ps1, e2e/src/utils/requiredEnv.ts, e2e/package.json, .github/workflows/deploy.yml, docs/tests/pipeline.md, docs/fr/tests/pipeline.md, docs/features/chapter3.md, docs/fr/features/chapter3.md


1. Contexte et objectif

La présente tâche s'inscrivait dans la continuité de la Tâche 6 - Tests API avancés (Billet #172). Cette nouvelle étape visait un objectif plus concret : valider un véritable processus métier lié à Marketstack, et non plus seulement des scénarios API génériques.

Le but de cette tâche était de finaliser une suite utile pour l'exploitation du projet : tests orientés métier, exécution locale et CI sécurisée, et documentation alignée sur l'état réel du dépôt.


2. Problèmes initiaux identifiés

Avant cette intervention, le périmètre de validation restait incomplet sur des points critiques :

  • pas de suite dédiée à Marketstack pour valider le flux métier principal ;
  • exécution locale et CI non homogène sur la gestion de la clé API ;
  • statut de certains cas de test non synchronisé avec l'implémentation réelle ;
  • commandes utilisateur E2E/API dispersées dans la documentation.

3. Solutions implémentées

Les actions suivantes ont été mises en place :

  1. Suite E2E Marketstack dédiée

    • création de marketstackApi.spec.ts centrée sur les appels utiles au métier ;
    • couverture des incidents clés (timeout, erreur serveur, JSON invalide) ;
    • règles d'échec explicites en CI si la clé est absente ou invalide.
  2. Sécurisation des secrets sous Windows (local)

    • extension du coffre DPAPI local à MARKETSTACK_API_KEY ;
    • ajout du mode -Target marketstack pour mise à jour ciblée ;
    • injection en mémoire uniquement, sans stockage en clair dans le dépôt.
  3. Validation CI alignée sur le besoin métier

    • ajout d'une étape GitHub Actions dédiée à la suite Marketstack ;
    • échec explicite si MARKETSTACK_API_KEY est absent ;
    • exécution du sous-ensemble ciblé (test:marketstack:ci) pour un contrôle reproductible.
  4. Alignement documentaire EN/FR et commandes utilisateur

    • activation des cas tc-pipe-api01 et tc-pipe-api02 dans les pages pipeline ;
    • mise à jour du taux fonctionnel à 94 % ;
    • consolidation des commandes E2E/API dans le chapitre 3.2.5.

4. Validation et résultats

Les validations ont confirmé que :

  • les scénarios API critiques sont couverts avec des signaux d'erreur clairs ;
  • la clé Marketstack n'est pas manipulée en clair dans le flux standard ;
  • la documentation reflète l'état réel de la suite de tests.