1 52 53 package org.jivesoftware.smackx.packet; 54 55 import org.jivesoftware.smack.*; 56 import org.jivesoftware.smack.filter.*; 57 import org.jivesoftware.smack.packet.*; 58 import org.jivesoftware.smack.test.SmackTestCase; 59 60 66 public class MessageEventTest extends SmackTestCase { 67 68 72 public MessageEventTest(String name) { 73 super(name); 74 } 75 76 83 public void testSendMessageEventRequest() { 84 Chat chat1 = getConnection(0).createChat(getBareJID(1)); 86 87 Message msg = chat1.createMessage(); 89 msg.setSubject("Any subject you want"); 90 msg.setBody("An interesting body comes here..."); 91 MessageEvent messageEvent = new MessageEvent(); 93 messageEvent.setComposing(true); 94 messageEvent.setDelivered(true); 95 messageEvent.setDisplayed(true); 96 messageEvent.setOffline(true); 97 msg.addExtension(messageEvent); 98 99 try { 101 chat1.sendMessage(msg); 102 Thread.sleep(200); 104 } 105 catch (Exception e) { 106 fail("An error occured sending the message"); 107 } 108 } 109 110 119 public void testSendMessageEventRequestAndDisplayNotifications() { 120 Chat chat1 = getConnection(0).createChat(getBareJID(1)); 122 123 PacketFilter packetFilter = new PacketExtensionFilter("x", "jabber:x:event"); 126 PacketListener packetListener = new PacketListener() { 127 public void processPacket(Packet packet) { 128 Message message = (Message) packet; 129 try { 130 MessageEvent messageEvent = 131 (MessageEvent) message.getExtension("x", "jabber:x:event"); 132 assertNotNull("Message without extension \"jabber:x:event\"", messageEvent); 133 assertTrue( 134 "Message event is a request not a notification", 135 !messageEvent.isMessageEventRequest()); 136 System.out.println(messageEvent.toXML()); 137 } 138 catch (ClassCastException e) { 139 fail("ClassCastException - Most probable cause is that smack providers is misconfigured"); 140 } 141 } 142 }; 143 getConnection(0).addPacketListener(packetListener, packetFilter); 144 145 Message msg = chat1.createMessage(); 147 msg.setSubject("Any subject you want"); 148 msg.setBody("An interesting body comes here..."); 149 MessageEvent messageEvent = new MessageEvent(); 151 messageEvent.setComposing(true); 152 messageEvent.setDelivered(true); 153 messageEvent.setDisplayed(true); 154 messageEvent.setOffline(true); 155 msg.addExtension(messageEvent); 156 157 try { 159 chat1.sendMessage(msg); 160 Thread.sleep(200); 162 } 163 catch (Exception e) { 164 fail("An error occured sending the message"); 165 } 166 } 167 168 protected int getMaxConnections() { 169 return 2; 170 } 171 } 172 | Popular Tags |