Compania Shopify, care dezvoltă una dintre cele mai mari platforme de comerț electronic, a publicat versiunea 2.3 a serverului proxy Toxiproxy, destinat simulării defecțiunilor și anomaliilor de rețea și sistem pentru testarea funcționalității aplicațiilor în asemenea condiții. Programul se remarcă prin oferirea unei API pentru modificarea dinamică a caracteristicilor canalului de comunicare, care poate fi folosită pentru integrarea Toxiproxy cu sistemele de testare unitate, platformele de integrare continuă și mediile de dezvoltare. Codul Toxiproxy este scris în limbajul Go și este distribuit sub licența MIT.
Proxy-ul rulează între aplicația testată și serviciul de rețea cu care interacționează această aplicație, după care poate simula apariția unei întârzieri specifice în primirea răspunsului de la server sau trimiterea unei cereri, modificând lățimea de bandă, simulând eșecul de a accepta conexiuni, perturbând cursul normal al stabilirii sau închiderii conexiunilor, resetând conexiunile stabilite, distorsionând conținutul pachetelor.
Pentru a gestiona funcționarea serverului proxy din aplicații, sunt disponibile biblioteci client pentru limbajele Ruby, Go, Python, C#/.NET, PHP, JavaScript/Node.js, Java, Haskell, Rust și Elixir, care permit modificarea în timp real a condițiilor de interacțiune de rețea și evaluarea imediată a rezultatelor. Pentru a schimba caracteristicile canalului de comunicare fără a modifica codul, poate fi utilizată o utilitară specială toxiproxy-cli (se asumă că API-ul Toxiproxy este folosit în teste unitate, iar utilitara poate fi utilă pentru a efectua experimente interactive).
Printre modificările din noua versiune se remarcă includerea unui endpoint handler pentru HTTPS, separarea handlerelor de teste tipice în fișiere separate, implementarea API client.Populate, suport pentru platformele armv7 și armv6, posibilitatea de modificare a nivelului de logare pentru server.
Sursa: opennet.ro
