1 20 21 package org.jivesoftware.smack; 22 23 import org.jivesoftware.smack.test.SmackTestCase; 24 import org.jivesoftware.smack.packet.Presence; 25 import org.jivesoftware.smack.packet.Message; 26 import org.jivesoftware.smack.filter.MessageTypeFilter; 27 28 33 public class MessageTest extends SmackTestCase { 34 35 public MessageTest(String arg0) { 36 super(arg0); 37 } 38 39 43 public void testOfflineMessage() { 44 getConnection(1).sendPacket(new Presence(Presence.Type.UNAVAILABLE)); 46 47 try { 48 Thread.sleep(500); 49 50 Chat chat = getConnection(0).createChat(getBareJID(1)); 52 chat.sendMessage("Test 1"); 53 chat.sendMessage("Test 2"); 54 55 Thread.sleep(500); 56 57 PacketCollector collector = getConnection(1).createPacketCollector(new MessageTypeFilter(Message.Type.CHAT)); 59 getConnection(1).sendPacket(new Presence(Presence.Type.AVAILABLE)); 60 61 Message message = (Message) collector.nextResult(2500); 63 assertNotNull(message); 64 message = (Message) collector.nextResult(2000); 65 assertNotNull(message); 66 message = (Message) collector.nextResult(1000); 67 assertNull(message); 68 69 } catch (Exception e) { 70 e.printStackTrace(); 71 fail(e.getMessage()); 72 } 73 } 74 75 79 public void testHugeMessage() { 80 PacketCollector collector = getConnection(1).createPacketCollector(new MessageTypeFilter(Message.Type.CHAT)); 82 83 Message msg = new Message(getFullJID(1), Message.Type.CHAT); 85 StringBuffer sb = new StringBuffer (5000); 86 for (int i=0; i<=4000; i++) { 87 sb.append("X"); 88 } 89 msg.setBody(sb.toString()); 90 91 getConnection(0).sendPacket(msg); 93 assertTrue("Connection was closed", getConnection(0).isConnected()); 95 Message rcv = (Message) collector.nextResult(1000); 97 assertNotNull("No Message was received", rcv); 98 99 getConnection(0).sendPacket(msg); 101 assertTrue("Connection was closed", getConnection(0).isConnected()); 103 rcv = (Message) collector.nextResult(1000); 105 assertNotNull("No Message was received", rcv); 106 107 XMPPConnection conn = null; 109 try { 110 conn = new SSLXMPPConnection(getServiceName()); 111 conn.login(getUsername(0), getUsername(0), "Other resource"); 112 113 conn.sendPacket(msg); 115 assertTrue("Connection was closed", conn.isConnected()); 117 rcv = (Message) collector.nextResult(1000); 119 assertNotNull("No Message was received", rcv); 120 } catch (XMPPException e) { 121 fail(e.getMessage()); 122 } 123 finally { 124 if (conn != null) { 125 conn.close(); 126 } 127 } 128 129 } 130 131 protected int getMaxConnections() { 132 return 2; 133 } 134 135 protected void setUp() throws Exception { 136 XMPPConnection.DEBUG_ENABLED = false; 137 super.setUp(); 138 } 139 } 140
| Popular Tags
|