package org.buddycloud.channelserver.packetprocessor.message;
import java.util.Properties;
import java.util.concurrent.BlockingQueue;
import java.util.concurrent.LinkedBlockingQueue;
import junit.framework.Assert;
import org.buddycloud.channelserver.channel.ChannelManager;
import org.buddycloud.channelserver.packetHandler.iq.IQTestHandler;
import org.buddycloud.channelserver.packetprocessor.iq.namespace.pubsub.JabberPubsub;
import org.dom4j.Element;
import org.junit.Before;
import org.junit.Test;
import org.mockito.Mockito;
import org.xmpp.packet.Message;
import org.xmpp.packet.Packet;
public class MessageProcessorTest extends IQTestHandler {
private MessageProcessor messageProcessor;
private BlockingQueue<Packet> queue = new LinkedBlockingQueue<Packet>();
private ChannelManager channelManager;
@Before
public void setUp() throws Exception {
Properties conf = new Properties();
channelManager = Mockito.mock(ChannelManager.class);
messageProcessor = new MessageProcessor(queue, conf, channelManager);
}
@Test
public void testNonHeadlineEventPerformsNoAction() throws Exception {
Message message = new Message();
message.setType(Message.Type.chat);
messageProcessor.process(message);
Assert.assertEquals(0, queue.size());
}
@Test(expected = UnsupportedOperationException.class)
public void testNoEventOrDataFormElementPresentThrowsException() throws Exception {
Message message = new Message();
message.setType(Message.Type.headline);
messageProcessor.process(message);
}
@Test(expected = UnknownEventContentException.class)
public void testUnknownEventContentTypeThrowsException() throws Exception {
Message message = new Message();
message.setType(Message.Type.headline);
Element event = message.addChildElement("event", JabberPubsub.NS_PUBSUB_EVENT);
event.addElement("random");
messageProcessor.process(message);
}
@Test
public void sendsExceptedNotifications() throws Exception {
}
}