It has been a while since our last final release for Citrus. Now I am proud to announce the final 1.2 release. The package ships with a huge list of new features and improvements that I would like to highlight in a few lines for you.
- Spring version upgrade: We did some major version upgrades in our Spring dependencies. We are now using Spring 3.1.1, Spring Integration 2.1.2 and SpringWS 2.1.0.
- Groovy support: We have extended our support for JVM languages like Groovy. You can use Groovy's MarkupBuilder to create XML message payloads for instance. Another nice feature set comes with Groovy's validation capabilities (e.g. XMLSlurper or SQL result set validation).
- JSON support: With 1.2 you are able to validate message payloads other than XML. We have implemented a JSON message validator capable of ignoring entries and handling JSONArrays and JSONObjects. But the new message format support for JSON is only one example. It is also possible to validate CSV, PLAINTEXT, MS Excel and more.
- Http and REST: We improved our Http message handling a lot, so you can send and receive RESTful messages with Http. Citrus is able to connect with Http as a client or server simulating RESTful services with different request methods (GET, PUT, DELETE, POST).
- Validation matchers: The new validation matchers will put message validation mechanisms to a new level. With validation matchers you are able to execute powerful assertions on the message content. For instance the isNumber validation matcher checks that a message value is of numeric nature. Several matcher implementations are ready for use and you can write custom validation matchers, too.
- Conditional container: The new conditional container executes nested test actions only in case a boolean expression evaluates to true. This helps for environment specific test actions or optional tasks.
- Message selectors on message channels: We enhanced our message selector support on Spring integration message channels. With this you can selectively receive messages from message channels which is a great thing for you to do in order to avoid instable tests.
In addition to that you get several other improvements and bugfixes with Citrus 1.2. See the full change list or have a look at the what’s new section in our documentation for details. If you have questions and comments on the new release do not hesitate to contact us. We are always happy to receive feedback from you.
Author: Christoph Deppisch