diff options
author | Tarun Gupta <tarun1995gupta@gmail.com> | 2015-07-26 07:47:40 (GMT) |
---|---|---|
committer | Tarun Gupta <tarun1995gupta@gmail.com> | 2015-08-17 13:21:01 (GMT) |
commit | f56f245c1f7e768caf356a0e7b57f428cf8cc6da (patch) | |
tree | f0935ab00c73e86163abe72fc9c20098121fff4f /test/com/isode/stroke/client/NickResolverTest.java | |
parent | 2533374644704040ca67aba4e1240a9d6ea450c8 (diff) | |
download | stroke-f56f245c1f7e768caf356a0e7b57f428cf8cc6da.zip stroke-f56f245c1f7e768caf356a0e7b57f428cf8cc6da.tar.bz2 |
Update Client.
Updates all bits of Client to be in parity with Swiften.
Some part of code which depends on Network is commented.
License:
This patch is BSD-licensed, see Documentation/Licenses/BSD-simplified.txt for details.
Test-Information:
Tests added for: ClientBlockListManager, ClientSession and NickResolver.
All tests pass.
Change-Id: I5b9b0e5ae5b2df58202e2349ba24e4544d9a4614
Diffstat (limited to 'test/com/isode/stroke/client/NickResolverTest.java')
-rw-r--r-- | test/com/isode/stroke/client/NickResolverTest.java | 155 |
1 files changed, 155 insertions, 0 deletions
diff --git a/test/com/isode/stroke/client/NickResolverTest.java b/test/com/isode/stroke/client/NickResolverTest.java new file mode 100644 index 0000000..afe3706 --- /dev/null +++ b/test/com/isode/stroke/client/NickResolverTest.java @@ -0,0 +1,155 @@ +/* + * Copyright (c) 2010-2013 Isode Limited. + * All right 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.client; + +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertNotNull; +import static org.junit.Assert.assertNull; +import static org.junit.Assert.assertFalse; +import static org.junit.Assert.assertTrue; +import org.junit.Test; +import org.junit.Before; +import com.isode.stroke.elements.VCard; +import com.isode.stroke.elements.RosterItemPayload; +import com.isode.stroke.client.StanzaChannel; +import com.isode.stroke.client.DummyStanzaChannel; +import com.isode.stroke.client.ClientBlockListManager; +import com.isode.stroke.queries.IQRouter; +import com.isode.stroke.elements.IQ; +import com.isode.stroke.queries.GenericRequest; +import com.isode.stroke.jid.JID; +import com.isode.stroke.crypto.CryptoProvider; +import com.isode.stroke.crypto.JavaCryptoProvider; +import com.isode.stroke.vcards.VCardMemoryStorage; +import com.isode.stroke.vcards.VCardManager; +import com.isode.stroke.vcards.VCardStorage; +import com.isode.stroke.roster.XMPPRosterImpl; +import com.isode.stroke.muc.MUCRegistry; +import com.isode.stroke.client.NickResolver; +import java.util.Vector; +import java.util.Collection; + +public class NickResolverTest { + + private Collection<String> groups_ = new Vector<String>(); + private XMPPRosterImpl xmppRoster_; + private VCardStorage vCardStorage_; + private IQRouter iqRouter_; + private DummyStanzaChannel stanzaChannel_; + private VCardManager vCardManager_; + private MUCRegistry registry_; + private NickResolver resolver_; + private JID ownJID_; + private CryptoProvider crypto; + + public void populateOwnVCard(final String nick, final String given, final String full) { + VCard vcard = new VCard(); + if (!nick.isEmpty()) { + vcard.setNickname(nick); + } + if (!given.isEmpty()) { + vcard.setGivenName(given); + } + if (!full.isEmpty()) { + vcard.setFullName(full); + } + vCardManager_.requestVCard(ownJID_); + IQ result = IQ.createResult(new JID(), stanzaChannel_.sentStanzas.get(0).getID(), vcard); + stanzaChannel_.onIQReceived.emit(result); + } + + @Before + public void setUp() { + crypto = new JavaCryptoProvider(); + ownJID_ = new JID("kev@wonderland.lit"); + xmppRoster_ = new XMPPRosterImpl(); + stanzaChannel_ = new DummyStanzaChannel(); + iqRouter_ = new IQRouter(stanzaChannel_); + vCardStorage_ = new VCardMemoryStorage(crypto); + vCardManager_ = new VCardManager(ownJID_, iqRouter_, vCardStorage_); + registry_ = new MUCRegistry(); + resolver_ = new NickResolver(ownJID_, xmppRoster_, vCardManager_, registry_); + } + + @Test + public void testMUCNick() { + registry_.addMUC(new JID("foo@bar")); + JID testJID = new JID("foo@bar/baz"); + + assertEquals(("baz"), resolver_.jidToNick(testJID)); + } + + @Test + public void testMUCNoNick() { + registry_.addMUC(new JID("foo@bar")); + JID testJID = new JID("foo@bar"); + + assertEquals(("foo@bar"), resolver_.jidToNick(testJID)); + } + + @Test + public void testNoMatch() { + JID testJID = new JID("foo@bar/baz"); + + assertEquals(("foo@bar"), resolver_.jidToNick(testJID)); + } + + @Test + public void testZeroLengthMatch() { + JID testJID = new JID("foo@bar/baz"); + xmppRoster_.addContact(testJID, "", groups_, RosterItemPayload.Subscription.Both); + assertEquals(("foo@bar"), resolver_.jidToNick(testJID)); + } + + @Test + public void testMatch() { + JID testJID = new JID("foo@bar/baz"); + xmppRoster_.addContact(testJID, "Test", groups_, RosterItemPayload.Subscription.Both); + + assertEquals(("Test"), resolver_.jidToNick(testJID)); + } + + @Test + public void testOverwrittenMatch() { + JID testJID = new JID("foo@bar/baz"); + xmppRoster_.addContact(testJID, "FailTest", groups_, RosterItemPayload.Subscription.Both); + xmppRoster_.addContact(testJID, "Test", groups_, RosterItemPayload.Subscription.Both); + + assertEquals(("Test"), resolver_.jidToNick(testJID)); + } + + @Test + public void testRemovedMatch() { + JID testJID = new JID("foo@bar/baz"); + xmppRoster_.addContact(testJID, "FailTest", groups_, RosterItemPayload.Subscription.Both); + xmppRoster_.removeContact(testJID); + assertEquals(("foo@bar"), resolver_.jidToNick(testJID)); + } + + @Test + public void testOwnNickFullOnly() { + populateOwnVCard("", "", "Kevin Smith"); + assertEquals(("Kevin Smith"), resolver_.jidToNick(ownJID_)); + } + + @Test + public void testOwnNickGivenAndFull() { + populateOwnVCard("", "Kevin", "Kevin Smith"); + assertEquals(("Kevin"), resolver_.jidToNick(ownJID_)); + } + + @Test + public void testOwnNickNickEtAl() { + populateOwnVCard("Kev", "Kevin", "Kevin Smith"); + assertEquals(("Kev"), resolver_.jidToNick(ownJID_)); + } +}
\ No newline at end of file |