1
2
3
4
5
6
7
8
9
10 package org.mule.transformers.jaxb;
11
12 import org.mule.DefaultMuleMessage;
13 import org.mule.api.MuleMessage;
14 import org.mule.jaxb.model.Item;
15 import org.mule.module.xml.util.XMLUtils;
16 import org.mule.tck.AbstractMuleTestCase;
17
18 import org.mule.transformer.types.DataTypeFactory;
19 import org.w3c.dom.Document;
20
21 public class JaxbAutoTransformerTestCase extends AbstractMuleTestCase
22 {
23 public static final String ITEM_XML = "<item><code>1234</code><description>Vacuum Cleaner</description><in-stock>true</in-stock></item>";
24
25 public void testCustomTransform() throws Exception
26 {
27 MuleMessage message = new DefaultMuleMessage(ITEM_XML, muleContext);
28 Item item = (Item) message.getPayload(DataTypeFactory.create(Item.class));
29
30 assertNotNull(item);
31 assertEquals("1234", item.getCode());
32 assertEquals("Vacuum Cleaner", item.getDescription());
33 assertTrue(item.isInStock());
34
35
36 Document doc = (Document) message.getPayload(DataTypeFactory.create(Document.class));
37
38 assertNotNull(doc);
39 assertEquals("1234", XMLUtils.selectValue("/item/code", doc));
40 assertEquals("Vacuum Cleaner", XMLUtils.selectValue("/item/description", doc));
41 assertEquals("true", XMLUtils.selectValue("/item/in-stock", doc));
42 }
43 }