Integration testing of apps deployed on Kubernetes using Arquillian-Cube & Forge
Arquillian is highly extensible testing platform that enables developers to easily create automated integration, functional and acceptance tests for Java services.
Arquillian Cube is an extension of Arquillian using which you can manage Docker containers,
Kubernetes Deployment as a part of your test life cycle. No more containers lifecycle and deployment hassle. let’s focus on test logic, not infrastructure boilerplate.
Kubernetes is production grade container orchestration system. It’s quite difficult to do integration testing for your apps deployed on Kubernetes cluster.
How can a developer make sure that required Pods, Services, Replica Sets are up & running & integration between them is working fine?
It’s hard for developer as he has to deploy app on cluster using resources config manually, then he has to verify manually that all required resources are up & running. Another possible solution is to write some shell scripts to verify your expected output, so he can add it as a build step for CI pipeline.
Developers need something simple using which
- He can create & manage temporary namespace for your tests. - He can deploy all Kubernetes resources required to create your environment. - Once everything is ready, run your tests. - He can access all resources like KubernetesClient, Pods, Replica Sets, Services as a part of tests. So developer can make sure that all resources are up & running as per expectation. - Once all resources are available, he can verify integration between them is working fine. If not send the logs of what’s going on. - After test completion make sure to cleanup namespace & all created resources.
So we need a solution that is simple to use for developers. And that is what we are building using arquillian-cube.
I would like to show how can developer create simple test within few minutes using Forge,
working demo and examples that will showcase the problem space and how arquillian-cube will help you to solve this problem?
This talk will showcase that What will happen if you don’t have integration testing of apps deployed on Kubernetes cluster?
Forge Addon for getting started to write a test within few minutes.
How can arquillian-cube will help you for deployment & to make all resources available to your tests?
How can you make sure everything is integrated properly for apps deployed on Kubernetes?
Dipak Pawar contributes to project Arquillian-Cube, Forge Addon for Arquillian. He has presented in local meetups.
He is involved in these projects from last 9 months. He is active in the local meetups like Core Java, BangloreJUG, Kubernetes Bangalore meetup group.
He works as Software Engineer at Red Hat, in Developer tools team where he builds tools around testing feature area.