/* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this file,
* You can obtain one at http://mozilla.org/MPL/2.0/. */
package amqp.spring.camel.component;
import org.apache.camel.Exchange;
import org.apache.camel.impl.DefaultCamelContext;
import org.apache.camel.impl.DefaultExchange;
import org.junit.Assert;
import org.junit.Test;
import org.springframework.amqp.core.Message;
import org.springframework.amqp.core.MessageProperties;
public class SpringAMQPHeaderTest {
@Test
public void fromBasicProperties() throws Exception {
MessageProperties properties = new MessageProperties();
properties.setHeader("NotSecret", "Popcorn");
org.springframework.amqp.core.Message message = new Message(new byte[]{}, properties);
message.getMessageProperties().setPriority(1);
message.getMessageProperties().setReplyTo("BuzzSaw");
SpringAMQPMessage camelMessage = SpringAMQPHeader.setBasicPropertiesToHeaders(new SpringAMQPMessage(), message);
Assert.assertNull(camelMessage.getHeader("NotSecret"));
Assert.assertEquals(1, camelMessage.getHeader(SpringAMQPHeader.PRIORITY));
Assert.assertEquals("BuzzSaw", camelMessage.getHeader(SpringAMQPHeader.REPLY_TO));
}
@Test
public void toBasicProperties() throws Exception {
SpringAMQPMessage camelMessage = new SpringAMQPMessage();
camelMessage.setHeader("Secret", "My Secret");
camelMessage.setHeader(SpringAMQPHeader.PRIORITY, 1);
camelMessage.setHeader(SpringAMQPHeader.REPLY_TO, "BuzzSaw");
Exchange exchange = new DefaultExchange(new DefaultCamelContext());
exchange.setIn(camelMessage);
Message message = new Message(new byte[]{}, new MessageProperties());
message = SpringAMQPHeader.setBasicPropertiesFromHeaders(message, camelMessage.getHeaders());
Assert.assertNull(message.getMessageProperties().getHeaders().get("Secret"));
Assert.assertEquals(Integer.valueOf(1), message.getMessageProperties().getPriority());
Assert.assertEquals("BuzzSaw", message.getMessageProperties().getReplyTo());
}
@Test
public void copyAMQPHeaders() throws Exception {
MessageProperties properties = new MessageProperties();
properties.setHeader("NotSecret", "Popcorn");
org.springframework.amqp.core.Message message = new Message(new byte[]{}, properties);
message.getMessageProperties().setReplyTo("BuzzSaw");
SpringAMQPMessage camelMessage = SpringAMQPHeader.copyHeaders(new SpringAMQPMessage(), message.getMessageProperties().getHeaders());
Assert.assertEquals("Popcorn", camelMessage.getHeader("NotSecret"));
Assert.assertNull(camelMessage.getHeader(SpringAMQPHeader.REPLY_TO));
}
@Test
public void copyCamelHeaders() throws Exception {
SpringAMQPMessage camelMessage = new SpringAMQPMessage();
camelMessage.setHeader("Secret", "My Secret");
camelMessage.setHeader(SpringAMQPHeader.REPLY_TO, "BuzzSaw");
Exchange exchange = new DefaultExchange(new DefaultCamelContext());
exchange.setIn(camelMessage);
Message message = new Message(new byte[]{}, new MessageProperties());
message = SpringAMQPHeader.copyHeaders(message, camelMessage.getHeaders());
Assert.assertEquals("My Secret", message.getMessageProperties().getHeaders().get("Secret"));
Assert.assertNull(message.getMessageProperties().getReplyTo());
}
}