Sergei Egorov
From Pivotal
Sergei works at Pivotal on Project Reactor in Berlin, Germany. He is an active member of the Open Source community, member of the Apache Foundation, co-maintainer of the Testcontainers project, and a contributor to various OSS projects (Apache Groovy, Testcontainers, JBoss Modules, Spring Boot, to name a few), likes to share the knowledge and was presenting at different conferences and meetups in Russia, Germany, Ukraine, Norway, Denmark, Spain, Poland, Belarus, Canada, and Estonia. He is passionate about DevOps topics, clouds, and infrastructure. Started his journey with Docker in 2014. Before Pivotal, he was working at Vivy, N26, Zalando, ZeroTurnaround, TransferWise, and other startups.
Do’s and Don’ts: Avoiding First-Time Reactive Programmer Mines
You want reactive architecture, you know you’re going with WebFlux, you’re fully set up with BlockHound to detect blocking code, and you can tell the difference between Mono and Flux.
What's next? Let’s hit all the possible potholes we can on the road to our first Reactive API. Someone said, "try, fail, and repeat" is the best way to learn. Let's see about that!
Testcontainers: a year-in-review
Unit testing is fine, but without proper integration testing, especially if you work with external resources like databases and other services, you might not know how your application will actually behave once it has been deployed to the real production environment.
Testcontainers is a popular JVM testing library that provides lightweight, throwaway instances of common databases, Selenium web browsers, or anything else that can run in a Docker container.
In this talk, we will briefly go throught the past, present and the future of the library.
Spoiler! By coming, you will learn new things even if you're an active user of Testcontainers ;)
Integration testing with Docker and Testcontainers
Unit testing is fine, but without proper integration testing, especially if you work with external resources like databases and other services, you might not know how your application will actually behave once it has been deployed to the real production environment.
Before Docker, configuring the environment for integration testing was painful – people were using fake database implementations, mocking servers, usually it was not cross-platform as well. However, thanks to Docker, now we can quickly prepare the environment for our tests.
In this workshop we would like to show how you can use Testcontainers ( https://github.com/testcontainers/testcontainers-java ) – a popular Java testing library that provides lightweight, throwaway instances of common databases, Selenium web browsers, or anything else that can run in a Docker container. We will integrate it into a Spring Boot microservice and use real PostgreSQL and Redis databases to test it, will isolate it from other microservices, and maybe even start Selenium browsers in Docker and test our application, all with the same library!