Shopify company, developing one of the largest electronic commerce platforms, published Proxy server release Toxiproxy 2.3 , designed to simulate network and system failures and anomalies for testing application performance when such conditions occur. The program is notable for the provision of API for dynamic change in the characteristics of the communication channel, which can be used to integrate toxiproxy with Unit testing systems, continuous integration platforms and environment environments. The toxiproxy code is written in GO and distributed under the MIT license.
proxy starts between the applicable application and the network service with which this application interacts, after which it may simulate the occurrence of a certain delay when receiving an answer from server or sending a request, change bandwidth, simulate failure to make connections, violate the normal course of installation or closure of compounds , reset the installed connections, distort the contents of the packages.
To manage the work of the proxy server from applications, client libraries are provided for Ruby, Go languages, GO, Python, C # /. Net, PHP, JavaScript / Node.js, Java, Haskell, Rust and Elixir, which allow you to change the network conditions on the fly interaction and immediately evaluate the result. To change the connection channel characteristics without making changes to the code, a special toxiProxy-CLI utility can be used (it is understood that the toxiproxy API is used in unit tests, and the utility can be useful for interactive experiments).
From the changes in the new release, the client endpoint handler for HTTPS is enabled, dividing typical test handlers for individual files, implementing the CLIENT.populate API, support for the Armv7 and ArmV6 platforms, the ability to change the logging of logs for the server.