Search in sources :

Example 61 with User

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());
}
Also used : User(jetbrains.communicator.core.users.User) WaitFor(jetbrains.communicator.util.WaitFor) Presence(org.jivesoftware.smack.packet.Presence) UserPresence(jetbrains.communicator.core.users.UserPresence) UserPresence(jetbrains.communicator.core.users.UserPresence) UserEvent(jetbrains.communicator.core.users.UserEvent)

Example 62 with User

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());
}
Also used : User(jetbrains.communicator.core.users.User) WaitFor(jetbrains.communicator.util.WaitFor) Presence(org.jivesoftware.smack.packet.Presence) UserPresence(jetbrains.communicator.core.users.UserPresence) UserEvent(jetbrains.communicator.core.users.UserEvent)

Example 63 with User

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()));
}
Also used : User(jetbrains.communicator.core.users.User)

Example 64 with User

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));
}
Also used : User(jetbrains.communicator.core.users.User) MockUser(jetbrains.communicator.mock.MockUser)

Aggregations

User (jetbrains.communicator.core.users.User)64 MockUser (jetbrains.communicator.mock.MockUser)25 UserPresence (jetbrains.communicator.core.users.UserPresence)6 ArrayList (java.util.ArrayList)5 UserEvent (jetbrains.communicator.core.users.UserEvent)5 TreeNode (javax.swing.tree.TreeNode)4 BaseUserImpl (jetbrains.communicator.core.impl.users.BaseUserImpl)4 MockTransport (jetbrains.communicator.mock.MockTransport)4 WaitFor (jetbrains.communicator.util.WaitFor)4 Project (com.intellij.openapi.project.Project)3 TreePath (javax.swing.tree.TreePath)3 IOException (java.io.IOException)2 URL (java.net.URL)2 List (java.util.List)2 DefaultMutableTreeNode (javax.swing.tree.DefaultMutableTreeNode)2 IDEtalkEvent (jetbrains.communicator.core.IDEtalkEvent)2 LocalMessage (jetbrains.communicator.core.dispatcher.LocalMessage)2 Message (jetbrains.communicator.core.dispatcher.Message)2 Transport (jetbrains.communicator.core.transport.Transport)2 ProjectsData (jetbrains.communicator.core.vfs.ProjectsData)2