What is Camel integration testing?
Camel integration testing in TNB allows you to:- Write integration tests once and run them across multiple Camel products
- Test locally during development and on OpenShift for production validation
- Generate integration code dynamically from route builders
- Customize integrations per product while maintaining common test logic
- Deploy integrations using various strategies (JKube, Binary, Devfile, etc.)
Core concepts
The module covers two main areas for each supported product:Deployment
Deploying and undeploying products where applicable. This includes:- Local deployment using Maven and JVM processes
- OpenShift deployment using multiple strategies
- Resource management and cleanup
Integrations
Creating, starting, and stopping integrations:- Integration code is generated from “meta” IntegrationBuilder classes
- Customizers allow product-specific modifications
- Uses JavaParser framework for code transformation
How it works
Build the integration
Use an
IntegrationBuilder to configure your integration, add dependencies, and apply customizers.Key features
Product abstraction
Write tests that work across Camel Quarkus, Camel Spring Boot, and CXF Quarkus without modification.Code generation
Integration code is parsed and transformed at runtime:- Nested classes are extracted and made public
- Final fields are inlined with their values
- Internal TNB imports are removed
- Package names are rewritten
Flexible deployment
Choose your deployment strategy based on your needs:- Local: Fast development iteration
- JKube: Standard OpenShift deployment
- Binary: Binary S2I builds
- Devfile: Dev Spaces compatible deployments
- Custom: Implement your own strategy
JUnit 5 integration
All products implement JUnit 5 extensions for seamless test integration:fuse.product: Specifies the product (camelspringboot, camelquarkus)openshift.url: Determines local vs OpenShift deployment
Next steps
Supported products
Learn about Camel Quarkus, Spring Boot, and CXF Quarkus support
Integration builders
Build and configure your integrations
Customizers
Apply product-specific customizations
Deployment strategies
Deploy to OpenShift using various strategies