use of jetbrains.communicator.core.users.User in project intellij-plugins by JetBrains.
the class JabberTransport_ConnectionTest method testSetOwnPresence_Status.
public void testSetOwnPresence_Status() throws Exception {
String bobName = "bob" + System.currentTimeMillis();
final XMPPConnection bob = createLocalConnectionWithJabberUser(bobName, null);
final String user = selfJabberId();
bob.getRoster().createEntry(user, user, new String[0]);
myFacade.addUsers("grp", Arrays.asList(getUser(bob)));
new WaitFor(TIMEOUT) {
@Override
protected boolean condition() {
return null != bob.getRoster().getPresence(user);
}
};
assert null != bob.getRoster().getPresence(user);
// First, change own presence and check it's changed from bob's point of view
UserPresence presence = new UserPresence(PresenceMode.AWAY);
assert presence.isOnline();
myTransport.setOwnPresence(presence);
new WaitFor(TIMEOUT) {
@Override
protected boolean condition() {
return Presence.Mode.away == bob.getRoster().getPresence(user).getMode();
}
};
Presence p = bob.getRoster().getPresence(user);
assertSame("Own presence should be away", Presence.Mode.away, p.getMode());
assertEquals("", p.getStatus());
// Now, change bob's presence
new WaitFor(TIMEOUT) {
@Override
protected boolean condition() {
return myEvents.size() > 2;
}
};
myEvents.clear();
bob.sendPacket(new Presence(Presence.Type.available, "", 0, Presence.Mode.dnd));
final User bobUser = myUserModel.findUser(getUser(bob), myTransport.getName());
new WaitFor(TIMEOUT) {
@Override
protected boolean condition() {
return PresenceMode.DND == bobUser.getPresence().getPresenceMode();
}
};
assertSame("Should take bob's presence", PresenceMode.DND, bobUser.getPresence().getPresenceMode());
UserEvent.Updated event = (UserEvent.Updated) checkEvent(true);
assertEquals(bobUser, event.getUser());
assertEquals("presence", event.getPropertyName());
assertEquals(PresenceMode.DND, event.getNewValue());
assertEquals(PresenceMode.AVAILABLE, event.getOldValue());
// Now, change bob's presence + set time
bob.sendPacket(new Presence(Presence.Type.available, "some status", 0, Presence.Mode.xa));
new WaitFor(TIMEOUT) {
@Override
protected boolean condition() {
return PresenceMode.EXTENDED_AWAY == bobUser.getPresence().getPresenceMode();
}
};
assertSame("Should take bob's presence", PresenceMode.EXTENDED_AWAY, bobUser.getPresence().getPresenceMode());
}
use of jetbrains.communicator.core.users.User in project intellij-plugins by JetBrains.
the class JabberTransport_ConnectionTest method testUserOnlineOffline.
public void testUserOnlineOffline() throws Throwable {
addEventListener();
String userName = "bob" + System.currentTimeMillis();
XMPPConnection contact = createLocalConnectionWithJabberUser(userName, null);
Roster roster = myTransport.getFacade().getConnection().getRoster();
String jabberUser = getUser(contact);
final User bob = UserImpl.create(jabberUser, myTransport.getName());
myEvents.clear();
roster.createEntry(jabberUser, "Bob", new String[0]);
new WaitFor(TIMEOUT) {
@Override
protected boolean condition() {
return myEvents.size() == 2;
}
};
assertTrue("Bob should be online", bob.isOnline());
assertEquals("/ideTalk/jabber.png", myTransport.getIcon(bob.getPresence()));
assertEquals("One user in UserModel expected:" + Arrays.asList(myUserModel.getAllUsers()), 1, myUserModel.getAllUsers().length);
UserEvent.Online online = ((UserEvent.Online) myEvents.get(1));
assertEquals("Online event expected", bob, online.getUser());
myEvents.clear();
Presence presence = new Presence(Presence.Type.unavailable);
contact.sendPacket(presence);
new WaitFor(TIMEOUT) {
@Override
protected boolean condition() {
return myEvents.size() == 1;
}
};
assertFalse("Should become offline", bob.isOnline());
assertEquals("/ideTalk/offline.png", myTransport.getIcon(myTransport.getUserPresence(bob)));
assertEquals("Bob should go offline", bob, ((UserEvent.Offline) checkEvent(true)).getUser());
}
use of jetbrains.communicator.core.users.User in project intellij-plugins by JetBrains.
the class JabberTransport_ConnectionTest method testSyncronizeWithRosterWhileWaitingForSubscription.
public void testSyncronizeWithRosterWhileWaitingForSubscription() throws Throwable {
User bob = myUserModel.createUser("bob@localhost", JabberTransport.CODE);
myUserModel.addUser(bob);
myTransport.synchronizeRoster(false);
assertNotNull("Bob should not be deleted", myUserModel.findUser(bob.getName(), bob.getTransportCode()));
}
use of jetbrains.communicator.core.users.User in project intellij-plugins by JetBrains.
the class JabberTransportTest method testThreadIdPreserving.
public void testThreadIdPreserving() throws Exception {
final User kir = createUser("kir");
final String threadId = myTransport.getThreadId(kir);
assertEquals(threadId, myTransport.getThreadId(kir));
final String t2 = myTransport.getThreadId(createUser("some@other.user"));
assertTrue("Another user - expect another threadId", !t2.equals(threadId));
}
Aggregations