package org.buddycloud.channelserver.packetHandler.iq.namespace.discoinfo; import org.buddycloud.channelserver.channel.ChannelManager; import org.buddycloud.channelserver.packetHandler.iq.IQTestHandler; import org.buddycloud.channelserver.packetprocessor.iq.namespace.discoinfo.DiscoResult; import org.buddycloud.channelserver.queue.FederatedQueueManager; import org.junit.Before; import org.junit.Test; import org.mockito.Mockito; import org.xmpp.packet.IQ; import org.xmpp.packet.JID; public class DiscoResultTest extends IQTestHandler { private IQ result; private DiscoResult discoResult; private ChannelManager channelManager; private FederatedQueueManager federatedQueueManager; @Before public void setUp() throws Exception { channelManager = Mockito.mock(ChannelManager.class); federatedQueueManager = Mockito.mock(FederatedQueueManager.class); discoResult = new DiscoResult(channelManager, federatedQueueManager); result = readStanzaAsIq("/iq/discoInfo/node-reply.stanza"); } @Test public void testPassingThroughServerDiscoInfoResultStanzaHandsOffToDoServerDiscovery() throws Exception { result = toIq(readStanzaAsString("/iq/discoInfo/node-reply.stanza").replace("node=\"/user/romeo@shakespeare.lit/posts\"", "")); Mockito.when(federatedQueueManager.isFederatedDiscoInfoRequest(Mockito.anyString())).thenReturn(true); discoResult.process(result); Mockito.verify(federatedQueueManager, Mockito.times(1)).processDiscoInfoResponse(Mockito.any(JID.class), Mockito.anyString(), Mockito.anyList()); } }