Some years ago, events appeared in the IT world with the idea of decoupling many applications or microservices, improving performance, reducing complexity, and allowing change flows. Some companies adopted this new paradigm instead of the classic synchronic world where the client needs to wait until the provider answers; initially, everything looked fine, but after some months, the problems appeared.
The developers adopted this new paradigm to reduce the complexity but, at the same time, introduced another problem in how to test the application simply. What happens if the events need to modify or read some information for a database? How can we check if the information in the database was modified?
This talk will delve into the main problems of not creating integration tests that check whether the application works fine, showing different alternatives with their pros and cons. To conclude the talk, you will see how to create integration tests that check if some scenarios work on an application that uses MongoDB and SQS combined with Karate.