Awaitility
toxiproxy
Our great sponsors
Awaitility | toxiproxy | |
---|---|---|
7 | 25 | |
3,686 | 10,276 | |
1.3% | 1.3% | |
0.0 | 6.7 | |
11 days ago | 4 days ago | |
Java | Go | |
Apache License 2.0 | MIT License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
Awaitility
-
Relearning Java Thread Primitives
I’ve coded in Java since the first beta, even back then threads were at the top of my list of favorite features. Java was the first language to introduce thread support in the language itself, it was a controversial decision back then. In the past decade, every language raced to include async/await and even Java had some third-party support for that… But Java zigged instead of zagging and introduced the far superior virtual threads (project Loom). This post isn’t about that.
-
Favorite hidden gem library?
I hope everybody knows https://github.com/awaitility/awaitility by now.
-
Spring Cloud Stream Kafka Streams Binder + Processor API
And finally the tests, using Awaitility as we are testing asynchronous stuff:
-
AWS SQS with spring boot & Localstack with Junit Testing
awaitability: A tool to express expectations for asynchronous system in an easy and concise manner.
-
Wednesday Links - Edition 2021-05-12
Awaitility with version 4.1.0 comes with fail fast feature (2m read) 🎉 https://github.com/awaitility/awaitility/wiki/Usage#fail-fast-conditions
-
Managing Cluster Membership with Etcd
Given our new functionality to update the membership list, we can create a new test case where two nodes join the cluster and expect that to be reflected in the local state of each node eventually. Thanks to the Awaitility DSL we can conveniently wait for the eventual update to happen.
-
Integrando TestContainers en el contexto de Spring en nuestros tests
Nota: para los que no la conozcáis, await es un operador de awaitility, muy útil para validación de resultados en procesos asíncronos.
toxiproxy
-
Speedbump – a TCP proxy to simulate variable network latency
Checkout also shopify's awesome tool called toxiproxy: https://github.com/Shopify/toxiproxy
It turns out to be also a very good way to test a networking library by implementing it. Since your stack needs to be able to basically handle most adverse events properly.
The idea behind 'chaos engineering' is cool.
- Toxiproxy – simulate network and system conditions for chaos testing
-
Twenty-five open-source network emulators and simulators you can use in 2023
I use this to simulate delays between various local services:
https://github.com/Shopify/toxiproxy
If you have Docker all you need is a few terminal commands
-
Artificially Producing Poor Internet?
Idk about firewall level, but application level I’d recommend https://github.com/Shopify/toxiproxy
-
Regarding default TCP setting in Golang and how it effects speed
That's why I usually recommend anybody that develops network critical apps to test their app with something like toxiproxy and purposfully mess with their connections and simulate network issues.
-
Performance testing with slow connection and packet loss
We use this thing. https://github.com/Shopify/toxiproxy I am not sure that it supports windows, but you can install it to the Linux machine and route your application under the test to that proxy.
-
Speedbump - a TCP proxy for simulating variable network latency
On the same vibes as https://github.com/Shopify/toxiproxy
-
Ask HN: How do I force network failures during development against remote APIs?
https://github.com/Shopify/toxiproxy is a perfect solution for that. I used it quite successfully years ago and it looks like it's still pretty active.
-
Is there a tool to control bandwidth for debugging purposes?
Looking at the toxiproxy you mentioned, it seems like it should do what you want though? TLS is generally over TCP anyway, so it should still be able to throttle those connections - it just wont understand the encryption. I also saw a pull request for having it act as a TLS man-in-the-middle proxy: https://github.com/Shopify/toxiproxy/pull/270
What are some alternatives?
Spock - The Enterprise-ready testing and specification framework.
rkt
REST Assured - Java DSL for easy testing of REST services
heka - DEPRECATED: Data collection and processing made easy.
Mockito - Most popular Mocking framework for unit tests written in Java
Hugo - The world’s fastest framework for building websites.
WireMock - A tool for mocking HTTP services
Juju - Orchestration engine that enables the deployment, integration and lifecycle management of applications at any scale, on any infrastructure (Kubernetes or otherwise).
Selenide - Concise UI Tests with Java!
Docker - Notary is a project that allows anyone to have trust over arbitrary collections of data
Selenium
nes - NES emulator written in Go.