KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > jivesoftware > smackx > GroupChatInvitationTest


1 /**
2  * $RCSfile$
3  * $Revision: 2339 $
4  * $Date: 2004-07-12 10:36:13 -0300 (Mon, 12 Jul 2004) $
5  *
6  * Copyright (C) 2003 Jive Software. All rights reserved.
7  * ====================================================================
8  * The Jive Software License (based on Apache Software License, Version 1.1)
9  *
10  * Redistribution and use in source and binary forms, with or without
11  * modification, are permitted provided that the following conditions
12  * are met:
13  *
14  * 1. Redistributions of source code must retain the above copyright
15  * notice, this list of conditions and the following disclaimer.
16  *
17  * 2. Redistributions in binary form must reproduce the above copyright
18  * notice, this list of conditions and the following disclaimer in
19  * the documentation and/or other materials provided with the
20  * distribution.
21  *
22  * 3. The end-user documentation included with the redistribution,
23  * if any, must include the following acknowledgment:
24  * "This product includes software developed by
25  * Jive Software (http://www.jivesoftware.com)."
26  * Alternately, this acknowledgment may appear in the software itself,
27  * if and wherever such third-party acknowledgments normally appear.
28  *
29  * 4. The names "Smack" and "Jive Software" must not be used to
30  * endorse or promote products derived from this software without
31  * prior written permission. For written permission, please
32  * contact webmaster@jivesoftware.com.
33  *
34  * 5. Products derived from this software may not be called "Smack",
35  * nor may "Smack" appear in their name, without prior written
36  * permission of Jive Software.
37  *
38  * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
39  * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
40  * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
41  * DISCLAIMED. IN NO EVENT SHALL JIVE SOFTWARE OR
42  * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
43  * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
44  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
45  * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
46  * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
47  * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
48  * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
49  * SUCH DAMAGE.
50  * ====================================================================
51  */

52
53 package org.jivesoftware.smackx;
54
55 import org.jivesoftware.smack.*;
56 import org.jivesoftware.smack.packet.Message;
57 import org.jivesoftware.smack.test.SmackTestCase;
58 import org.jivesoftware.smack.filter.PacketFilter;
59 import org.jivesoftware.smack.filter.PacketExtensionFilter;
60
61 /**
62  *
63  *
64  * @author Matt Tucker
65  */

66 public class GroupChatInvitationTest extends SmackTestCase {
67
68     private PacketCollector collector = null;
69
70     /**
71      * Constructor for GroupChatInvitationTest.
72      * @param arg0
73      */

74     public GroupChatInvitationTest(String JavaDoc arg0) {
75         super(arg0);
76     }
77
78     public void testInvitation() {
79         try {
80             GroupChatInvitation invitation = new GroupChatInvitation("test@" + getChatDomain());
81             Message message = new Message(getBareJID(1));
82             message.setBody("Group chat invitation!");
83             message.addExtension(invitation);
84             getConnection(0).sendPacket(message);
85
86             Thread.sleep(250);
87
88             Message result = (Message)collector.pollResult();
89             assertNotNull("Message not delivered correctly.", result);
90
91             GroupChatInvitation resultInvite = (GroupChatInvitation)result.getExtension("x",
92                     "jabber:x:conference");
93
94             assertEquals("Invitation not to correct room", "test@" + getChatDomain(),
95                     resultInvite.getRoomAddress());
96         }
97         catch (Exception JavaDoc e) {
98             fail(e.getMessage());
99         }
100     }
101
102     protected void setUp() throws Exception JavaDoc {
103         super.setUp();
104         // Register listener for groupchat invitations.
105
PacketFilter filter = new PacketExtensionFilter("x", "jabber:x:conference");
106         collector = getConnection(1).createPacketCollector(filter);
107     }
108
109     protected void tearDown() throws Exception JavaDoc {
110         // Cancel the packet collector so that no more results are queued up
111
collector.cancel();
112
113         super.tearDown();
114     }
115
116     protected int getMaxConnections() {
117         return 2;
118     }
119 }
Popular Tags