When managing service configurations at scale, we often need to automate testing of these configurations. In software integration testing we can use Testcontainers - a popular framework for Docker and other container engines. For public cloud environments, there is LocalStack. And for API service providers, we have WireMock. Can we use the same toolchain for configuration management? If you use modern Infrastructure-as-Code tools like Pulumi, yes!
In this edition, we will use Java or Kotlin for EVERYTHING, from the application itself and all the way up to Infrastructure as Code definitions and tests. The workshop also leverages capabilities offered by Gradle, especially for build automation and troubleshooting.
In this workshop, we will go through the following topics:
1. Containerizing Spring app development
2. Integration testing with Testcontainers and LocalStack
3. Mocking APIs with WireMock
4. Infrastructure as Code (IaC) with Pulumi and Pulumi for Java
5. Testing IaC locally, with all tools above combined
6. Advanced troubleshooting with Gradle and Gradle Build Scan
See https://github.com/oleg-nenashev/mocks-as-code-demo for the demo repository we will be using in this workshop. It also contains all the links to the used tools and additional learning materials.