mirror of
https://codeberg.org/Mercury-IM/Smack
synced 2024-12-27 14:47:59 +01:00
Added new test case #testAddEntryToNewGroup. SMACK-92
git-svn-id: http://svn.igniterealtime.org/svn/repos/smack/trunk@2971 b35dd754-fafc-0310-a699-88a17e54d16e
This commit is contained in:
parent
5449a6177c
commit
dd9731f1a9
1 changed files with 54 additions and 0 deletions
|
@ -53,6 +53,7 @@
|
|||
package org.jivesoftware.smack;
|
||||
|
||||
import java.util.Iterator;
|
||||
import java.util.ArrayList;
|
||||
|
||||
import org.jivesoftware.smack.packet.Presence;
|
||||
import org.jivesoftware.smack.test.SmackTestCase;
|
||||
|
@ -333,6 +334,59 @@ public class RosterTest extends SmackTestCase {
|
|||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Tests that adding an existing roster entry that belongs to a group to another group
|
||||
* works fine.
|
||||
*/
|
||||
public void testAddEntryToNewGroup() {
|
||||
try {
|
||||
// Add a new roster entry
|
||||
Roster roster = getConnection(0).getRoster();
|
||||
roster.createEntry(getBareJID(1), "gato11", new String[] { "Friends" });
|
||||
roster.createEntry(getBareJID(2), "gato12", new String[] { "Family" });
|
||||
|
||||
// Wait up to 2 seconds to receive new roster contacts
|
||||
long initial = System.currentTimeMillis();
|
||||
while (System.currentTimeMillis() - initial < 2000 && roster.getEntryCount() != 2) {
|
||||
Thread.sleep(100);
|
||||
}
|
||||
|
||||
assertEquals("Wrong number of entries in connection 0", 2, roster.getEntryCount());
|
||||
|
||||
// Add "gato11" to a new group called NewGroup
|
||||
roster.createGroup("NewGroup").addEntry(roster.getEntry(getBareJID(1)));
|
||||
|
||||
|
||||
// Log in from another resource so we can test the roster
|
||||
XMPPConnection con2 = new XMPPConnection(getHost(), getPort());
|
||||
con2.login(getUsername(0), getUsername(0), "MyNewResource");
|
||||
|
||||
Roster roster2 = con2.getRoster();
|
||||
|
||||
assertEquals("Wrong number of entries in new connection", 2, roster2.getEntryCount());
|
||||
assertEquals("Wrong number of groups in new connection", 3, roster2.getGroupCount());
|
||||
|
||||
|
||||
RosterEntry entry = roster2.getEntry(getBareJID(1));
|
||||
assertNotNull("No entry for user 1 was found", entry);
|
||||
|
||||
ArrayList groups = new ArrayList();
|
||||
Iterator groupsItr = entry.getGroups();
|
||||
groups.add(((RosterGroup)groupsItr.next()).getName());
|
||||
groups.add(((RosterGroup)groupsItr.next()).getName());
|
||||
assertTrue("Friends group was not found", groups.contains("Friends"));
|
||||
assertTrue("NewGroup group was not found", groups.contains("NewGroup"));
|
||||
|
||||
// Close the new connection
|
||||
con2.close();
|
||||
|
||||
cleanUpRoster();
|
||||
}
|
||||
catch (Exception e) {
|
||||
fail(e.getMessage());
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Test if renaming a roster group works fine.
|
||||
*
|
||||
|
|
Loading…
Reference in a new issue