We try to give you example projects as a good starting point for your very own Citrus testing project.
The Citrus sample applications try to demonstrate how Citrus works in different integration test scenarios. The projects are executable with Maven and should give you a detailed picture how Citrus testing works.
Please have a look at the repository on citrus-samples. There you can find all our sample projects.
Each sample demonstrates a special aspect of how to use Citrus. Most of the samples use a simple todo-list application as system under test. Please find following list of samples and their primary objective
Samples | Description | Sources |
---|---|---|
sample-binary | Shows binary message content handling in Citrus | |
sample-kafka | Shows Kafka integration | |
sample-camel-context | Interact with Apache Camel context and routes | |
sample-dynamic-endpoints | Shows dynamic endpoint component usage | |
sample-javaconfig | Uses pure Java POJOs for configuration | |
sample-jms | Shows JMS message broker connectivity | |
sample-mail | Shows mail server activities in Citrus | |
sample-gradle | Uses Gradle build to execute tests | |
sample-selenium | Use Selenium for UI testing | |
sample-javaee | Use Citrus and Arquillian in combination | |
sample-kubernetes | Run tests in Kubernetes | |
sample-hamcrest | Use Hamcrest matchers | |
sample-docker | Shows how to use Citrus within Docker | |
sample-reporting | Add custom test reporting | |
sample-annotation-config | Use Java annotation configuration | |
sample-message-store | Use the local message store | |
sample-behavior | Add custom test behavior | |
sample-dictionaries | Add data dictionaries | |
sample-rmi | Shows Remote Method Invocation support |
Demo | Description | Sources |
---|---|---|
sample-quarkus | Shows how to verify Quarkus applications with Citrus |
Samples Cucumber | Description | Sources |
---|---|---|
sample-cucumber-spring | Shows BDD integration with Cucumber using Spring Framework injection | |
sample-cucumber | Shows BDD integration with Cucumber |
Samples Db | Description | Sources |
---|---|---|
sample-jdbc | Validates stored data in relational database | |
sample-sql | Execute SQL statements in Citrus |
Samples Ftp | Description | Sources |
---|---|---|
sample-ftp | FTP client and server interaction in Citrus | |
sample-sftp | SFTP client and server interaction in Citrus | |
sample-scp | SCP client and server interaction in Citrus |
Samples Http | Description | Sources |
---|---|---|
sample-http-form-data | Exchange form data via Http GET/POST | |
sample-http | Shows REST API calls as a client | |
sample-http-basic-auth | Basic authentication on client and server components | |
sample-http-loadtest | Calls REST API on Http server with multiple threads for load testing | |
sample-https | Shows how to use SSL connectivity as a client and server | |
sample-swagger | Auto generate tests from Swagger Open API |
Samples Json | Description | Sources |
---|---|---|
sample-databind | Shows JSON object mapping feature when sending and receiving messages | |
sample-json | Shows Json payload validation feature with JsonPath validation |
Samples Junit | Description | Sources |
---|---|---|
sample-junit5 | Use JUnit5 test framework | |
sample-junit | Use JUnit test framework |
Samples Soap | Description | Sources |
---|---|---|
sample-soap-attachment | How to send SOAP attachments to server | |
sample-soap | Shows SOAP web service support | |
sample-soap-mtom | Handle MTOM enabled SOAP attachments | |
sample-wsdl | Auto generate tests from WSDL | |
sample-soap-ssl | Shows SOAP secure web service support | |
sample-soap-wssecurity | Configure SOAP web service client and server with WSSecurity | |
sample-http-static-response | Shows how to setup a static response generating Http server component | |
sample-soap-wsaddressing | Configure SOAP web service client and server with WSSecurity | |
sample-soap-static-response | Shows how to setup a static response generating SOAP web service server component |
Samples Testng | Description | Sources |
---|---|---|
sample-dataprovider | Shows TestNG data provider usage in Citrus | |
sample-testng | Use TestNG test framework |
Samples Xml | Description | Sources |
---|---|---|
sample-xml | Shows XML validation feature with schema and Xpath validation | |
sample-xhtml | Shows XHTML validation feature | |
sample-oxm | Shows XML object marshalling feature when sending and receiving messages |
Pick your sample application for try out and got to the respective folder. Each sample is executable on your host. You just need Maven, Java and a git client. Refer to the detailed instructions in the sample README.
Of course we appreciate any kind of help that you can give us in order to make things easy for Citrus users. So if you have a sample worth reading for others please let us know. Also if you are missing a sample because you do not know how to accomplish the Citrus use case please do not hesitate to contact us. You may also open a new issue in the Citrus samples repository.