package com.muleinaction; import static org.hamcrest.CoreMatchers.instanceOf; import static org.hamcrest.CoreMatchers.is; import static org.hamcrest.CoreMatchers.notNullValue; import static org.junit.Assert.assertThat; import org.junit.Test; import org.mule.api.MuleMessage; import org.mule.module.client.MuleClient; import org.mule.tck.junit4.FunctionalTestCase; import org.w3c.dom.NodeList; public class XpathTestCase extends FunctionalTestCase { private static final String PAYLOAD = "<products><product><id>1234</id>" + "<type>Imported Beer</type>" + "<name>Mordor's Pale Lager</name>" + "<price>10.90</price></product></products>"; @Override protected String getConfigResources() { return "xpath.xml"; } @Test public void testXpathExpression() throws Exception { final MuleClient muleClient = new MuleClient(muleContext); final MuleMessage result = muleClient.send("vm://xpath-expression.in", PAYLOAD, null); assertThat(result, is(notNullValue())); assertThat(result.getInboundProperty("productId"), is(notNullValue())); } @Test public void testAlias() throws Exception { final MuleClient muleClient = new MuleClient(muleContext); final MuleMessage result = muleClient.send("vm://xpath-extractor.in", PAYLOAD, null); assertThat(result, is(notNullValue())); assertThat(result.getPayload(), is(notNullValue())); assertThat(result.getPayload(), is(instanceOf(NodeList.class))); } }