1 17 package org.apache.servicemix.eip; 18 19 import javax.jbi.messaging.ExchangeStatus; 20 import javax.jbi.messaging.InOnly; 21 import javax.jbi.messaging.InOut; 22 import javax.xml.namespace.QName ; 23 24 import org.apache.servicemix.eip.patterns.MessageFilter; 25 import org.apache.servicemix.eip.support.XPathPredicate; 26 import org.apache.servicemix.tck.ReceiverComponent; 27 28 public class MessageFilterTest extends AbstractEIPTest { 29 30 protected MessageFilter messageFilter; 31 32 protected void setUp() throws Exception { 33 super.setUp(); 34 35 messageFilter = new MessageFilter(); 36 messageFilter.setFilter(new XPathPredicate("/hello/@id = '1'")); 37 messageFilter.setTarget(createServiceExchangeTarget(new QName ("target"))); 38 configurePattern(messageFilter); 39 activateComponent(messageFilter, "messageFilter"); 40 } 41 42 public void testInOnly() throws Exception { 43 ReceiverComponent rec = activateReceiver("target"); 44 45 InOnly me = client.createInOnlyExchange(); 46 me.setService(new QName ("messageFilter")); 47 me.getInMessage().setContent(createSource("<hello><one/><two/><three/></hello>")); 48 client.sendSync(me); 49 assertEquals(ExchangeStatus.DONE, me.getStatus()); 50 51 rec.getMessageList().assertMessagesReceived(0); 52 53 me = client.createInOnlyExchange(); 54 me.setService(new QName ("messageFilter")); 55 me.getInMessage().setContent(createSource("<hello id='1'><one/><two/><three/></hello>")); 56 client.sendSync(me); 57 assertEquals(ExchangeStatus.DONE, me.getStatus()); 58 59 rec.getMessageList().assertMessagesReceived(1); 60 } 61 62 public void testInOut() throws Exception { 63 InOut me = client.createInOutExchange(); 64 me.setService(new QName ("messageFilter")); 65 me.getInMessage().setContent(createSource("<hello><one/><two/><three/></hello>")); 66 client.sendSync(me); 67 assertEquals(ExchangeStatus.ERROR, me.getStatus()); 68 } 69 70 } 71 | Popular Tags |