package org.jentrata.ebms.internal.messaging; import org.apache.camel.test.junit4.CamelTestSupport; import org.jentrata.ebms.EbmsConstants; import org.jentrata.ebms.MessageType; import org.jentrata.ebms.utils.EbmsUtils; import org.junit.Test; import javax.xml.soap.SOAPConstants; import java.io.ByteArrayInputStream; import java.io.InputStream; import java.util.HashMap; import java.util.Map; import static org.hamcrest.Matchers.equalTo; /** * Unit test for org.jentrata.ebms.internal.messaging.MessageDetector * * @author aaronwalker */ public class MessageDetectorTest extends CamelTestSupport { @Test public void testSoap12SignMessage() throws Exception { MessageDetector messageDetector = new MessageDetector(); Map<String,Object> headers = new HashMap<>(); InputStream stream = new ByteArrayInputStream(EbmsUtils.toStringFromClasspath("signal-message.xml").getBytes()); messageDetector.parse(stream,headers); assertThat((String) headers.get(EbmsConstants.SOAP_VERSION),equalTo(SOAPConstants.SOAP_1_2_PROTOCOL)); assertThat((String) headers.get(EbmsConstants.EBMS_VERSION),equalTo(EbmsConstants.EBMS_V3)); assertThat((String) headers.get(EbmsConstants.MESSAGE_ID),equalTo("006a655f0000013f7ee6da6400059448@qvalent.com")); assertThat((String) headers.get(EbmsConstants.REF_TO_MESSAGE_ID),equalTo("60c6be51-800b-4329-9430-180cb86c8295@jentrata.org")); assertThat((String) headers.get(EbmsConstants.MESSAGE_TYPE),equalTo(MessageType.SIGNAL_MESSAGE_WITH_USER_MESSAGE.name())); } @Test public void testSoap12SignReceipt() throws Exception { MessageDetector messageDetector = new MessageDetector(); Map<String,Object> headers = new HashMap<>(); InputStream stream = new ByteArrayInputStream(EbmsUtils.toStringFromClasspath("signed-receipt.xml").getBytes()); messageDetector.parse(stream,headers); assertThat((String) headers.get(EbmsConstants.SOAP_VERSION),equalTo(SOAPConstants.SOAP_1_2_PROTOCOL)); assertThat((String) headers.get(EbmsConstants.EBMS_VERSION),equalTo(EbmsConstants.EBMS_V3)); assertThat((String) headers.get(EbmsConstants.MESSAGE_ID),equalTo("006a655f0000013f88802ee700043563@qvalent.com")); assertThat((String) headers.get(EbmsConstants.REF_TO_MESSAGE_ID),equalTo("757c7afb-119a-4340-b143-e003bcef0a6c@jentrata.org")); assertThat((String) headers.get(EbmsConstants.MESSAGE_TYPE),equalTo(MessageType.SIGNAL_MESSAGE.name())); } }