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
|sample-docker||Shows how to use Citrus within Docker|
|sample-soap-ssl||Shows SOAP secure web service support|
|sample-rmi||Shows Remote Method Invocation support|
|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|
|sample-http-static-response||Shows how to setup a static response generating Http server component|
|sample-javaee||Use Citrus and Arquillian in combination|
|sample-http-loadtest||Calls REST API on Http server with multiple threads for load testing|
|sample-soap-wssecurity||Configure SOAP web service client and server with WSSecurity|
|sample-gradle||Uses Gradle build to execute tests|
|sample-xml||Shows XML validation feature with schema and Xpath validation|
|sample-xhtml||Shows XHTML validation feature|
|sample-soap||Shows SOAP web service support|
|sample-oxm||Shows XML object marshalling feature when sending and receiving messages|
|sample-mail||Shows mail server activities in Citrus|
|sample-json||Shows Json payload validation feature with JsonPath validation|
|sample-jms||Shows JMS queue connectivity|
|sample-jdbc||Validates stored data in relational database|
|sample-javaconfig||Uses pure Java POJOs for configuration|
|sample-https||Shows how to use SSL connectivity as a client and server|
|sample-http||Shows REST API calls as a client|
|sample-dynamic-endpoints||Shows dynamic endpoint component usage|
|sample-dataprovider||Shows TestNG data provider usage in Citrus|
|sample-databind||Shows JSON object mapping feature when sending and receiving messages|
|sample-cucumber||Shows BDD integration with Cucumber|
|sample-cucumber-spring||Shows BDD integration with Cucumber using Spring Framework injection|
|sample-camel-context||Interact with Apache Camel context and routes|
|sample-binary||Shows binary message content handling in Citrus|
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.