diff options
author | Tarun Gupta <tarun1995gupta@gmail.com> | 2015-07-04 21:17:12 (GMT) |
---|---|---|
committer | Nick Hudson <nick.hudson@isode.com> | 2015-07-22 14:24:27 (GMT) |
commit | 1f2c3add9971e8636013c384938456388b04ed79 (patch) | |
tree | 82fb7665833f8ab40f0f4f33524c8ccebcefbcca /test/com/isode/stroke/roster/XMPPRosterImplTest.java | |
parent | a6e8d22d0686d860df735082c151f71157567e06 (diff) | |
download | stroke-1f2c3add9971e8636013c384938456388b04ed79.zip stroke-1f2c3add9971e8636013c384938456388b04ed79.tar.bz2 |
Update Roster functionalities.
Updates RosterPushResponder, XMPPRoster, XMPPRosterController.
Also adds XMPPRosterSignalHandler.
License:
This patch is BSD-licensed, see Documentation/Licenses/BSD-simplified.txt for details.
Test-Information:
Adds tests for XMPPRosterController, XMPPRosterImpl.
All tests passes.
Change-Id: Iee3530510342ea5977022237aaa6dfbffa390408
Diffstat (limited to 'test/com/isode/stroke/roster/XMPPRosterImplTest.java')
-rw-r--r-- | test/com/isode/stroke/roster/XMPPRosterImplTest.java | 110 |
1 files changed, 110 insertions, 0 deletions
diff --git a/test/com/isode/stroke/roster/XMPPRosterImplTest.java b/test/com/isode/stroke/roster/XMPPRosterImplTest.java new file mode 100644 index 0000000..191beb5 --- /dev/null +++ b/test/com/isode/stroke/roster/XMPPRosterImplTest.java @@ -0,0 +1,110 @@ +/* + * Copyright (c) 2010-2011 Isode Limited. + * All rights reserved. + * See the COPYING file for more information. + */ +/* + * Copyright (c) 2015 Tarun Gupta. + * Licensed under the simplified BSD license. + * See Documentation/Licenses/BSD-simplified.txt for more information. + */ + +package com.isode.stroke.roster; + +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertFalse; +import static org.junit.Assert.assertTrue; +import static org.junit.Assert.assertNull; +import static org.junit.Assert.assertNotNull; +import org.junit.Before; +import org.junit.Test; +import com.isode.stroke.roster.XMPPRosterSignalHandler; +import com.isode.stroke.roster.XMPPRosterImpl; +import com.isode.stroke.elements.RosterItemPayload; +import com.isode.stroke.jid.JID; +import java.util.Collection; +import java.util.ArrayList; + +public class XMPPRosterImplTest { + + private XMPPRosterImpl roster_; + private XMPPRosterSignalHandler handler_; + private JID jid1_; + private JID jid2_; + private JID jid3_; + private Collection<String> groups1_ = new ArrayList<String>(); + private Collection<String> groups2_ = new ArrayList<String>(); + + @Before + public void setUp() { + jid1_ = new JID("a@b.c"); + jid2_ = new JID("b@c.d"); + jid3_ = new JID("c@d.e"); + roster_ = new XMPPRosterImpl(); + handler_ = new XMPPRosterSignalHandler(roster_); + groups1_.add("bobs"); + groups1_.add("berts"); + groups2_.add("ernies"); + } + + @Test + public void testJIDAdded() { + roster_.addContact(jid1_, "NewName", groups1_, RosterItemPayload.Subscription.Both); + assertEquals(XMPPRosterEvents.Add, handler_.getLastEvent()); + assertEquals(jid1_, handler_.getLastJID()); + assertEquals("NewName", roster_.getNameForJID(jid1_)); + assertEquals(groups1_, roster_.getGroupsForJID(jid1_)); + handler_.reset(); + roster_.addContact(jid2_, "NameTwo", groups1_, RosterItemPayload.Subscription.Both); + assertEquals(XMPPRosterEvents.Add, handler_.getLastEvent()); + assertEquals(jid2_, handler_.getLastJID()); + assertEquals("NameTwo", roster_.getNameForJID(jid2_)); + assertEquals("NewName", roster_.getNameForJID(jid1_)); + assertEquals(groups1_, roster_.getGroupsForJID(jid2_)); + assertEquals(groups1_, roster_.getGroupsForJID(jid1_)); + handler_.reset(); + roster_.addContact(jid3_, "NewName", groups2_, RosterItemPayload.Subscription.Both); + assertEquals(XMPPRosterEvents.Add, handler_.getLastEvent()); + assertEquals(jid3_, handler_.getLastJID()); + assertEquals("NewName", roster_.getNameForJID(jid3_)); + assertEquals(groups2_, roster_.getGroupsForJID(jid3_)); + } + + @Test + public void testJIDRemoved() { + roster_.addContact(jid1_, "NewName", groups1_, RosterItemPayload.Subscription.Both); + handler_.reset(); + roster_.removeContact(jid1_); + assertEquals(XMPPRosterEvents.Remove, handler_.getLastEvent()); + assertEquals(jid1_, handler_.getLastJID()); + handler_.reset(); + roster_.addContact(jid1_, "NewName2", groups1_, RosterItemPayload.Subscription.Both); + assertEquals(XMPPRosterEvents.Add, handler_.getLastEvent()); + assertEquals(jid1_, handler_.getLastJID()); + assertEquals("NewName2", roster_.getNameForJID(jid1_)); + roster_.addContact(jid2_, "NewName3", groups1_, RosterItemPayload.Subscription.Both); + handler_.reset(); + roster_.removeContact(jid2_); + assertEquals(XMPPRosterEvents.Remove, handler_.getLastEvent()); + assertEquals(jid2_, handler_.getLastJID()); + handler_.reset(); + roster_.removeContact(jid1_); + assertEquals(XMPPRosterEvents.Remove, handler_.getLastEvent()); + assertEquals(jid1_, handler_.getLastJID()); + } + + @Test + public void testJIDUpdated() { + roster_.addContact(jid1_, "NewName", groups1_, RosterItemPayload.Subscription.Both); + assertEquals(XMPPRosterEvents.Add, handler_.getLastEvent()); + assertEquals(jid1_, handler_.getLastJID()); + assertEquals("NewName", roster_.getNameForJID(jid1_)); + assertEquals(groups1_, roster_.getGroupsForJID(jid1_)); + handler_.reset(); + roster_.addContact(jid1_, "NameTwo", groups2_, RosterItemPayload.Subscription.Both); + assertEquals(XMPPRosterEvents.Update, handler_.getLastEvent()); + assertEquals(jid1_, handler_.getLastJID()); + assertEquals("NameTwo", roster_.getNameForJID(jid1_)); + assertEquals(groups2_, roster_.getGroupsForJID(jid1_)); + } +}
\ No newline at end of file |