Toxiproxy, un framework pour simuler les conditions du réseau dans des environnements de test

Shopify, qui développe l'une des plateformes de commerce électronique les plus importantes et les plus populaires sur le Web, dio a récemment annoncé le lancement de la nouvelle version du serveur proxy «Toxiproxy 2.3» qui est conçu pour simuler des pannes et des anomalies dans le réseau et le système pour tester l'état des applications lorsque de telles conditions se produisent.

Le programme se distingue par la fourniture d'une API pour modifier dynamiquement les caractéristiques du canal de communication, qui peut être utilisée pour intégrer Toxiproxy avec des systèmes de test unitaire, en plus de prendre également en charge les plates-formes d'intégration continue et les environnements de développement.

À propos de Toxiproxy

Ce cadre est spécialement conçu pour fonctionner dans des environnements de test, CI et développement, et prend en charge la manipulation déterministe des connexions, mais avec la prise en charge du chaos aléatoire et de la personnalisation.

Fondamentalement, Toxiproxy se positionne comme un outil que tous ceux qui ont besoin effectuer des tests de démonstration sur des applications qui n'ont pas de points de défaillance uniques. Toxiproxy est utilisé avec succès dans tous les environnements de développement et de test sur Shopify depuis octobre 2014.

L'utilisation du toxiproxy se compose de deux parties. Un proxy TCP écrit en Go (ce que contient ce référentiel) et un client qui communique avec le proxy via HTTP. Cela configure l'application de sorte que toutes les connexions de test passent par Toxiproxy et puissent ensuite manipuler leur statut via HTTP.

En d'autres termes, le mandataire est lancé entre l'application en cours de test et le service réseau avec lequel cette application interagit, après quoi vous pouvez simuler l'apparition d'un certain délai lors de la réception d'une réponse du serveur ou de l'envoi d'une requête, modifier la bande passante, simuler un refus d'accepter des connexions, interrompre le cours normal de l'établissement ou de la fermeture des connexions, rétablir les connexions établies, déformer le contenu des colis.

Pour contrôler le fonctionnement du serveur proxy à partir des applications, des bibliothèques clientes pour Ruby, Go, Python, C#/.NET, PHP, JavaScript/Node.js, Java, Haskell, Rust et Elixir sont fournies, qui permettent de modifier le réseau de conditions d'interaction à la volée et évaluer immédiatement le résultat.

Pour modifier les caractéristiques du canal de communication sans apporter de modifications au code, un utilitaire spécial toxiproxy-cli peut être utilisé (l'API Toxiproxy est censée être utilisée dans les tests unitaires et l'utilitaire peut être utile pour des expériences interactives).

Quoi de neuf dans Toxiproxy 2.3 ?

En ce qui concerne les modifications incluses dans la nouvelle version publiée, il est mentionné qu'il y a l'inclusion d'un contrôleur de point de terminaison client pour HTTPS.

En plus de la séparation des pilotes de test typiques dans des fichiers séparés, la mise en œuvre de l'API client.Populate.

En plus de cela, la prise en charge des plates-formes armv7 et armv6 et la possibilité de modifier le niveau de registre du serveur sont également mises en évidence.

Installer Toxiproxy sur Linux

Pour ceux qui sont intéressés de pouvoir installer ce framework pour pouvoir réaliser leurs tests, ils peuvent le faire en suivant les étapes que nous partageons ci-dessous.

Si vous êtes un utilisateur de Debian, Ubuntu ou toute autre distribution basée sur celles-ci, Vous pouvez effectuer l'installation en ouvrant un terminal (vous pouvez utiliser le raccourci clavier Ctrl + Alt + T) et vous y taperez :
wget https://github.com/Shopify/toxiproxy/releases/download/v2.3.0/toxiproxy_2.3.0_linux_amd64.deb

Et nous procédons à l'installation avec:
sudo apt install ./toxiproxy_2.3.0_linux_amd64.deb

Dans le cas de ceux qui sont utilisateurs de distributions avec prise en charge des packages RPM, comme Fedora, openSuse, RHEL, entre autres, le package à télécharger est le suivant :
wget https://github.com/Shopify/toxiproxy/releases/download/v2.3.0/toxiproxy_2.3.0_linux_amd64.rpm

Et vous installez le package en tapant :
sudo rpm -i toxiproxy_2.3.0_linux_amd64.rpm

Une fois l'installation terminée, vous pouvez démarrer le service en exécutant la commande suivante dans le terminal :
sudo service toxiproxy start

Enfin si eVous souhaitez en savoir plus, Il faut savoir que le code Toxiproxy est écrit en Go et possède la licence MIT et vous pouvez consulter le manuel d'utilisation de ce framework dans le lien suivant


Soyez le premier à commenter

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont marqués avec *

*

*

  1. Responsable des données : AB Internet Networks 2008 SL
  2. Finalité des données: Contrôle du SPAM, gestion des commentaires.
  3. Légitimation: votre consentement
  4. Communication des données: Les données ne seront pas communiquées à des tiers sauf obligation légale.
  5. Stockage des données: base de données hébergée par Occentus Networks (EU)
  6. Droits: à tout moment, vous pouvez limiter, récupérer et supprimer vos informations.