package com.muleinaction.pattern.validator; import static org.hamcrest.CoreMatchers.equalTo; 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; public class PatternValidatorInheritanceTestCase extends FunctionalTestCase { @Override protected String getConfigResources() { return "pattern/validator/pattern-validator-inheritance.xml"; } @Test public void testIntegerValidator() throws Exception { MuleClient muleClient = new MuleClient(muleContext); int payload = 0; MuleMessage result = muleClient.send("vm://integer-service.in", payload, null); MuleMessage outboundResult = muleClient.request("vm://real-integer-service.in", 2000); assertThat(result.getPayloadAsString(), equalTo("Message accepted.")); assertThat((Integer) outboundResult.getPayload(), equalTo(payload)); } @Test public void testIntegerValidatorInvalid() throws Exception { MuleClient muleClient = new MuleClient(muleContext); String payload = "Hello World"; MuleMessage result = muleClient.send("vm://integer-service.in", payload, null); assertThat(result.getPayloadAsString(), equalTo("Message rejected.")); } @Test public void testStringValidator() throws Exception { MuleClient muleClient = new MuleClient(muleContext); String payload = "Hello World"; MuleMessage result = muleClient.send("vm://string-service.in", payload, null); MuleMessage outboundResult = muleClient.request("vm://real-string-service.in", 2000); assertThat(result.getPayloadAsString(), equalTo("Message accepted.")); assertThat(outboundResult.getPayloadAsString(), equalTo(payload)); } @Test public void testStringValidatorInvalid() throws Exception { MuleClient muleClient = new MuleClient(muleContext); int payload = 0; MuleMessage result = muleClient.send("vm://string-service.in", payload, null); assertThat(result.getPayloadAsString(), equalTo("Message rejected.")); } }