Enterprise Integration Zone is brought to you in partnership with:

Claus Ibsen is a principal software engineer from FuseSource. Claus is a full time committer on the open source integration framework Apache Camel (http://camel.apache.org) and author of the Camel in Action book (http://www.manning.com/ibsen). Claus is the most active contributor to Apache Camel and is very active in the Camel community. Claus is a frequent speaker at various conferences. Claus is a DZone MVB and is not an employee of DZone and has posted 51 posts at DZone. You can read more from them at their website. View Full User Profile

Unit Testing OSGi Blueprint with Apache Camel Made Easier

10.03.2012
| 4945 views |
  • submit to reddit
Apache Camel 2.10 has a new camel-test-blueprint component, added by Guillaume Node, to make unit testing Camel with OSGi blueprint much easier.

I have since polished the camel-test-blueprint to make it easier to use, and I've also fix a few glitches etc. So what's the story then? Well, camel-test-blueprint works exactly as the regular camel-test you may be familiar with already.

So all you have to do is extend the CamelTestSupport class and override the getBlueprintDescriptor method, and then return the path for your OSGi blueprint XML file. Then the rest is the usual story, to add test methods.

The Camel documentation has been updated, and you can find details here.

This is a great step forward for Camel end users who are on the OSGi blueprint wagon; it's becoming easier to develop and unit test along the way. All you have to do is to right click from your editor and run the unit tests as shown in the screenshot below.

JUnit testing Camel with OSGi Blueprint

The Camel Maven archetype camel-archetype-blueprint has been updated and includes the test kit out of the box with a sample code. I used this archetype to generate a new project, then I imported the project into Fuse IDE / Eclipse, and I opened the unit test source code file, and right clicked -> run as -> JUnit test. This is all standard functionality in Eclipse.

The camel-test-blueprint component is part of Apache Camel 2.10 release and the Fuse Mediation Router 2.9 release (our distribution of Apache Camel).
Published at DZone with permission of Claus Ibsen, author and DZone MVB. (source)

(Note: Opinions expressed in this article and its replies are the opinions of their respective authors and not those of DZone, Inc.)