mirror of
https://codeberg.org/Mercury-IM/Smack
synced 2024-12-27 14:47:59 +01:00
Adds test cases for roster presences
git-svn-id: http://svn.igniterealtime.org/svn/repos/smack/trunk@2174 b35dd754-fafc-0310-a699-88a17e54d16e
This commit is contained in:
parent
414f9faef1
commit
d92bb4f40a
1 changed files with 65 additions and 0 deletions
|
@ -54,6 +54,9 @@ package org.jivesoftware.smack;
|
|||
|
||||
import java.util.Iterator;
|
||||
|
||||
import org.jivesoftware.smack.packet.Presence;
|
||||
import org.jivesoftware.smack.util.StringUtils;
|
||||
|
||||
import junit.framework.TestCase;
|
||||
|
||||
/**
|
||||
|
@ -214,6 +217,68 @@ public class RosterTest extends TestCase {
|
|||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 1. Create unfiled entries
|
||||
* 2. Iterate on all the entries and remove them from the roster
|
||||
* 3. Check that the number of entries and groups is zero
|
||||
*/
|
||||
public void testRosterPresences() {
|
||||
try {
|
||||
Presence presence = null;
|
||||
|
||||
XMPPConnection conn4 = new XMPPConnection("localhost");
|
||||
conn4.login("gato11", "gato11", "Home");
|
||||
|
||||
// Add a new roster entry
|
||||
conn1.getRoster().createEntry("gato11@" + conn1.getHost(), "gato11", null);
|
||||
|
||||
Thread.sleep(200);
|
||||
|
||||
// Check that a presence is returned for a user
|
||||
presence = conn1.getRoster().getPresence("gato11@" + conn1.getHost());
|
||||
assertNotNull("Returned a null Presence for an existing user", presence);
|
||||
|
||||
// Check that the right presence is returned for a user+resource
|
||||
presence = conn1.getRoster().getPresenceResource("gato11@" + conn1.getHost() + "/Home");
|
||||
assertEquals("Returned the wrong Presence", StringUtils.parseResource(presence.getFrom()), "Home");
|
||||
|
||||
// Check that the right presence is returned for a user+resource
|
||||
presence = conn1.getRoster().getPresenceResource("gato11@" + conn1.getHost() + "/Smack");
|
||||
assertEquals("Returned the wrong Presence", StringUtils.parseResource(presence.getFrom()), "Smack");
|
||||
|
||||
// Check that the no presence is returned for a non-existent user+resource
|
||||
presence = conn1.getRoster().getPresenceResource("gato15@" + conn1.getHost() + "/Smack");
|
||||
assertNull("Returned a Presence for a non-existing user", presence);
|
||||
|
||||
// Check that the returned presences are correct
|
||||
Iterator presences = conn1.getRoster().getPresences("gato11@" + conn1.getHost());
|
||||
int count = 0;
|
||||
while (presences.hasNext()) {
|
||||
count++;
|
||||
presences.next();
|
||||
}
|
||||
assertEquals("Wrong number of returned presences", count, 2);
|
||||
|
||||
// Close the connection so one presence must go
|
||||
conn4.close();
|
||||
|
||||
// Check that the returned presences are correct
|
||||
presences = conn1.getRoster().getPresences("gato11@" + conn1.getHost());
|
||||
count = 0;
|
||||
while (presences.hasNext()) {
|
||||
count++;
|
||||
presences.next();
|
||||
}
|
||||
assertEquals("Wrong number of returned presences", count, 1);
|
||||
|
||||
cleanUpRoster();
|
||||
|
||||
}
|
||||
catch (Exception e) {
|
||||
fail(e.getMessage());
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Clean up all the entries in the roster
|
||||
*/
|
||||
|
|
Loading…
Reference in a new issue