Testez automatiquement votre API REST

Vous allez découvrir à l'aide de ce guide comment mettre en place une surveillance efficace pour tester vos APIs et vous assurer qu'elles restent toujours fonctionnelles. Notez que le processus décrit ci-dessous est similaire à celui permettant la surveillance d'un site web.

Grâce à cette surveillance, dans le cas où la réponse de votre API ne correspondrait pas à celle attendue, nos robots peuvent effectuer deux types d'actions :

  1. Alerter l'équipe support du problème en fournissant une première analyse technique
  2. Exécuter un Webhook développé par vos soins qui effectuera des actions automatiques telles qu'un redémarrage, l'affichage d'un message, une mise en quarantaine...

  • Sommaire

Prérequis

Dans ce guide, nous prendrons comme exemple une API REST fictive destinée à permettre l'authentification des utilisateurs. Les caractéristiques techniques utiles à la surveillance sont les suivantes :

  • URL d'appel : https://example.hitflow.net/connexion
  • Méthode HTTP utilisée : POST
  • Entête "Authorization"" : paramètre pour authentifier la requête et autoriser l'utilisation de l'API.
  • Les paramètres POST à envoyer sont :
    • username : nom d'utilisateur d'un compte dédié aux tests.
    • password : mot de passe du compte dédié aux tests.

Lorsque la connexion au compte utilisateur est réussie, l'API retourne un objet JSON avec un attribut nommé "token". Dans le cas contraire, cet attribut n'existe pas et l'API retournera un code HTTP 403.

Note : Pour limiter l'impact des tests sur votre architecture, vous pouvez envisager l'ajout d'un paramètre supplémentaire pour déterminer si la requête est effectuée par un robot de test. Dans le cas de notre exemple, ce paramètre pourrait désactiver l'enregistrement de l'historique de connexion en base de données qui n'est pas la fonctionnalité principale à tester.

Vérifier l'état de votre API REST

Pour commencer, vous devez vous connecter à votre compte puis cliquer sur "Disponibilité" dans la rubrique "Surveillance" du menu déroulant.

  1. Depuis la liste des services que vous surveillez, cliquez sur le bouton Ajouter afin d'ouvrir un formulaire de saisie.
  2. Renseignez un nom pour décrire ce test. Par exemple : "API Connexion"
  3. Le type de service à sélectionner est HTTPS grâce au menu déroulant.
  4. Fixez la fréquence de vérification de l'API sur la valeur qui vous convient le mieux.
  5. Cochez la case "Vérification en cas d'indisponibilité" pour forcer les robots à contrôler toutes les minutes en cas de problème, et ce jusqu'au rétablissement de l'API.
  6. Copiez-collez l'URL de votre API dans le champ texte "Nom de domaine" pour renseigner automatiquement, dans les différents champs prévus, le nom de domaine, le protocole, le port de connexion et le chemin d'accès à l'API.
  7. Définissez l'entête de la requête en cliquant sur le bouton "Ajouter" pour faire apparaître deux champs textes. Dans le premier champ texte, entrez "Authorization" puis, dans le second, indiquez le jeton d'authentification.
  8. Le type de requête à choisir à l'aide du menu déroulant est POST.
  9. Ajoutez les données de la requête en cliquant deux fois sur le bouton "Ajouter". Sur la première ligne, ajoutez le mot "username" suivi du nom d'utilisateur puis sur la seconde ligne, renseignez "password" suivi du mot de passe de connexion.
  10. Rendez-vous à la partie "Liste de mots devant être dans la page" puis cliquez sur le bouton "Ajouter". Dans le champ texte qui vient d'apparaître, ajoutez le mot "token" puis validez à l'aide de la touche entrée.
  11. Modifiez la liste des codes HTTP d'erreur pour y ajouter les codes personnalisés que votre API peut éventuellement retourner en cas d'erreur.
  12. Sélectionnez dans la liste les contacts qui recevront les alertes lorsque l'API rencontre des problèmes.

Enregistrez la configuration en cliquant sur le bouton Sauvegarder puis activer la surveillance de l'API grâce au bouton d'activation . Vous devriez voir apparaître, après quelques minutes, les premiers tests dans la page rapport de votre test.

Monitoring de votre serveur

En suivant les étapes précédentes, vous avez vu comment paramétrer la surveillance d'une API REST. Nous vous invitons à répéter l'opération pour contrôler l'ensemble de vos APIs.

En complément de cette surveillance, contrôler l'utilisation des ressources du serveur vous aidera également à assurer l'accès des différents outils proposés à vos utilisateurs.