mirror of
https://codeberg.org/Mercury-IM/Smack
synced 2024-11-26 16:22:06 +01:00
Adds new test cases
git-svn-id: http://svn.igniterealtime.org/svn/repos/smack/trunk@2282 b35dd754-fafc-0310-a699-88a17e54d16e
This commit is contained in:
parent
b8c60f3295
commit
b25c9bb454
1 changed files with 62 additions and 13 deletions
|
@ -51,12 +51,15 @@
|
||||||
*/
|
*/
|
||||||
package org.jivesoftware.smackx;
|
package org.jivesoftware.smackx;
|
||||||
|
|
||||||
|
import java.util.*;
|
||||||
|
|
||||||
import org.jivesoftware.smack.*;
|
import org.jivesoftware.smack.*;
|
||||||
|
import org.jivesoftware.smack.packet.Presence;
|
||||||
|
|
||||||
import junit.framework.TestCase;
|
import junit.framework.TestCase;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Represents...
|
* Tests the new MUC functionalities.
|
||||||
*
|
*
|
||||||
* @author Gaston Dombiak
|
* @author Gaston Dombiak
|
||||||
*/
|
*/
|
||||||
|
@ -76,12 +79,21 @@ public class MultiUserChatTest extends TestCase {
|
||||||
* Tests joining and leaving a room.
|
* Tests joining and leaving a room.
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
public void testJoin() {
|
public void testJoinAndInvite() {
|
||||||
MultiUserChat muc = new MultiUserChat(conn1, "dpspanish@muc.jabber.org");
|
MultiUserChat muc = new MultiUserChat(conn1, "dpspanish@muc.jabber.org");
|
||||||
|
|
||||||
// Join the room
|
|
||||||
try {
|
try {
|
||||||
|
// Join the room
|
||||||
muc.join("testbot", SmackConfiguration.getPacketReplyTimeout(), null, 0, -1, -1, null);
|
muc.join("testbot", SmackConfiguration.getPacketReplyTimeout(), null, 0, -1, -1, null);
|
||||||
|
|
||||||
|
// Invite another user to join to the room
|
||||||
|
muc.invite("gdombiak@jabber.org","Meet me in this excellent room");
|
||||||
|
|
||||||
|
muc.changeAvailabilityStatus("Gone to have lunch", Presence.Mode.AWAY);
|
||||||
|
|
||||||
|
muc.changeNickname("testbot2");
|
||||||
|
|
||||||
}
|
}
|
||||||
catch (XMPPException e) {
|
catch (XMPPException e) {
|
||||||
fail(e.getMessage());
|
fail(e.getMessage());
|
||||||
|
@ -92,25 +104,62 @@ public class MultiUserChatTest extends TestCase {
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Tests joining a non-existant room.
|
* Tests creating a new "Reserved Room".
|
||||||
*
|
|
||||||
*/
|
*/
|
||||||
public void testCreateRoom() {
|
public void testCreateReservedRoom() {
|
||||||
MultiUserChat muc = new MultiUserChat(conn1, "fruta124@muc.jabber.org");
|
MultiUserChat muc = new MultiUserChat(conn1, "fruta124@muc.jabber.org");
|
||||||
|
|
||||||
// Join the room
|
|
||||||
try {
|
try {
|
||||||
muc.join("testbot", SmackConfiguration.getPacketReplyTimeout(), null, 0, -1, -1, null);
|
// Create the room
|
||||||
// TODO Check that the returned presence contains the status code 201
|
muc.create("testbot");
|
||||||
|
|
||||||
|
// Get the the room's configuration form
|
||||||
Form form = muc.getConfigurationForm();
|
Form form = muc.getConfigurationForm();
|
||||||
assertNotNull("No room configuration form", form);
|
assertNotNull("No room configuration form", form);
|
||||||
|
// Create a new form to submit based on the original form
|
||||||
Form submitForm = form.createAnswerForm();
|
Form submitForm = form.createAnswerForm();
|
||||||
muc.submitConfigurationForm(submitForm);
|
// Add default answers to the form to submit
|
||||||
|
for (Iterator fields=form.getFields();fields.hasNext();) {
|
||||||
|
FormField field = (FormField) fields.next();
|
||||||
|
if (!FormField.TYPE_HIDDEN.equals(field.getType()) && field.getVariable() != null) {
|
||||||
|
// Add the field values to a List
|
||||||
|
List values = new ArrayList();
|
||||||
|
for (Iterator it=field.getValues();it.hasNext();) {
|
||||||
|
values.add((String)it.next());
|
||||||
|
}
|
||||||
|
// Add a new answer to form to submit
|
||||||
|
submitForm.addAnswer(field.getVariable(), values);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
// Update the new room's configuration
|
||||||
|
muc.sendConfigurationForm(submitForm);
|
||||||
|
|
||||||
|
// Destroy the new room
|
||||||
|
muc.destroy("The room has almost no activity...", null);
|
||||||
|
}
|
||||||
|
catch (XMPPException e) {
|
||||||
|
System.out.println(e.getMessage());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Tests creating a new "Instant Room".
|
||||||
|
*/
|
||||||
|
public void testCreateInstantRoom() {
|
||||||
|
MultiUserChat muc = new MultiUserChat(conn1, "fruta124@muc.jabber.org");
|
||||||
|
|
||||||
|
try {
|
||||||
|
// Create the room
|
||||||
|
muc.create("testbot");
|
||||||
|
|
||||||
|
// Send an empty room configuration form which indicates that we want
|
||||||
|
// an instant room
|
||||||
|
muc.sendConfigurationForm(new Form(Form.TYPE_SUBMIT));
|
||||||
|
|
||||||
|
// Destroy the new room
|
||||||
|
muc.destroy("The room has almost no activity...", null);
|
||||||
}
|
}
|
||||||
catch (XMPPException e) {
|
catch (XMPPException e) {
|
||||||
// TODO Check for the error code 404
|
|
||||||
System.out.println(e.getMessage());
|
System.out.println(e.getMessage());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue