blob: b5701428742757bbd060cbdb002fac7d7eafe366 [file] [log] [blame]
package org.apache.rocketmq.jms.domain.message;
import org.apache.rocketmq.common.message.MessageConst;
import org.apache.rocketmq.common.message.MessageExt;
import org.apache.rocketmq.jms.domain.JmsBaseConstant;
import org.apache.rocketmq.jms.domain.JmsBaseTopic;
import org.apache.rocketmq.jms.util.MessageConverter;
import org.apache.rocketmq.jms.util.MsgConvertUtil;
import org.junit.Assert;
import org.junit.Test;
public class JmsMessageConvertTest {
@Test
public void testCovert2RMQ() throws Exception {
//init jmsBaseMessage
String topic = "TestTopic";
String messageType = "TagA";
JmsBaseMessage jmsBaseMessage = new JmsTextMessage("testText");
jmsBaseMessage.setHeader(JmsBaseConstant.JMS_DESTINATION, new JmsBaseTopic(topic, messageType));
jmsBaseMessage.setHeader(JmsBaseConstant.JMS_MESSAGE_ID, "ID:null");
jmsBaseMessage.setHeader(JmsBaseConstant.JMS_REDELIVERED, Boolean.FALSE);
jmsBaseMessage.setObjectProperty(MsgConvertUtil.JMS_MSGMODEL, MsgConvertUtil.MSGMODEL_TEXT);
jmsBaseMessage.setObjectProperty(MsgConvertUtil.MSG_TOPIC, topic);
jmsBaseMessage.setObjectProperty(MsgConvertUtil.MSG_TYPE, messageType);
jmsBaseMessage.setObjectProperty(MessageConst.PROPERTY_TAGS, messageType);
jmsBaseMessage.setObjectProperty(MessageConst.PROPERTY_KEYS, messageType);
//convert to RMQMessage
MessageExt message = (MessageExt)MessageConverter.convert2RMQMessage(jmsBaseMessage);
System.out.println(message);
//then convert back to jmsBaseMessage
JmsBaseMessage jmsBaseMessageBack = MessageConverter.convert2JMSMessage(message);
JmsTextMessage jmsTextMessage = (JmsTextMessage) jmsBaseMessage;
JmsTextMessage jmsTextMessageBack = (JmsTextMessage) jmsBaseMessageBack;
Assert.assertEquals(jmsTextMessage.getText(), jmsTextMessageBack.getText());
Assert.assertEquals(jmsTextMessage.getJMSDestination().toString(), jmsTextMessageBack.getJMSDestination().toString());
Assert.assertEquals(jmsTextMessage.getJMSMessageID(), jmsTextMessageBack.getJMSMessageID());
Assert.assertEquals(jmsTextMessage.getJMSRedelivered(), jmsTextMessageBack.getJMSRedelivered());
Assert.assertEquals(jmsTextMessage.getHeaders().get(MsgConvertUtil.JMS_MSGMODEL), jmsTextMessageBack.getHeaders().get(MsgConvertUtil.JMS_MSGMODEL));
Assert.assertEquals(jmsTextMessage.getHeaders().get(MsgConvertUtil.MSG_TOPIC), jmsTextMessageBack.getHeaders().get(MsgConvertUtil.MSG_TOPIC));
Assert.assertEquals(jmsTextMessage.getHeaders().get(MsgConvertUtil.MSG_TYPE), jmsTextMessageBack.getHeaders().get(MsgConvertUtil.MSG_TYPE));
Assert.assertEquals(jmsTextMessage.getHeaders().get(MessageConst.PROPERTY_TAGS), jmsTextMessageBack.getHeaders().get(MessageConst.PROPERTY_TAGS));
Assert.assertEquals(jmsTextMessage.getHeaders().get(MessageConst.PROPERTY_KEYS), jmsTextMessageBack.getHeaders().get(MessageConst.PROPERTY_KEYS));
}
}