/** * The returned connection won't send replies to IQs * * @return * @throws XMPPException * @throws IOException * @throws SmackException * @throws InterruptedException */ private static DummyConnection getAuthenticatedDummyConnectionWithoutIqReplies() throws SmackException, IOException, XMPPException, InterruptedException { DummyConnection con = new DummyConnection(); con.setReplyTimeout(500); con.connect(); con.login(); return con; } }
@Before public void setup() { connection = new DummyConnection( DummyConnection.getDummyConfigurationBuilder() .setUsernameAndPassword("romeo@montague.lit", "iluvJulibabe13").build()); jutil = new JingleUtil(connection); }
private void answerWithEmptyRosterResult() { // We expect that the roster request is the only packet sent. This is not part of the specification, // but a shortcut in the test implementation. Stanza sentPacket = connection.getSentPacket(); if (sentPacket instanceof RosterPacket) { final IQ emptyIQ = IQ.createResultIQ((RosterPacket) sentPacket); connection.processStanza(emptyIQ); } else { assertTrue("Expected to get a RosterPacket ", false); } }
public static DummyConnection newConnectedDummyConnection() { DummyConnection dummyConnection = new DummyConnection(); try { dummyConnection.connect(); dummyConnection.login(); } catch (InterruptedException | SmackException | IOException | XMPPException e) { throw new IllegalStateException(e); } return dummyConnection; }
@Test public void checkProvider() throws Exception { // @formatter:off String control = "<iq from='capulet.lit' to='juliet@capulet.lit/balcony' id='s2c1' type='get'>" + "<ping xmlns='urn:xmpp:ping'/>" + "</iq>"; // @formatter:on DummyConnection con = new DummyConnection(); con.connect(); // Enable ping for this connection PingManager.getInstanceFor(con); IQ pingRequest = PacketParserUtils.parseStanza(control); assertTrue(pingRequest instanceof Ping); con.processStanza(pingRequest); Stanza pongPacket = con.getSentPacket(); assertTrue(pongPacket instanceof IQ); IQ pong = (IQ) pongPacket; assertThat("capulet.lit", equalsCharSequence(pong.getTo())); assertEquals("s2c1", pong.getStanzaId()); assertEquals(IQ.Type.result, pong.getType()); }
@Before public void setUp() throws Exception { DirectoryRosterStore store = DirectoryRosterStore.init(tmpFolder.newFolder("store")); populateStore(store); ConnectionConfiguration.Builder<?, ?> builder = DummyConnection.getDummyConfigurationBuilder(); connection = new DummyConnection(builder.build()); connection.connect(); connection.login(); rosterListener = new TestRosterListener(); roster = Roster.getInstanceFor(connection); roster.setRosterStore(store); roster.addRosterListener(rosterListener); roster.reload(); }
@Before public void setup() { // mock connection connection = new DummyConnection(); // test query id queryId = "testid"; // MamManager instance mamManager = MamManager.getInstanceFor(connection); }
@Test public void receiptManagerListenerTest() throws Exception { DummyConnection c = new DummyConnection(); c.connect(); DeliveryReceiptManager drm = DeliveryReceiptManager.getInstanceFor(c); TestReceiptReceivedListener rrl = new TestReceiptReceivedListener(); drm.addReceiptReceivedListener(rrl); Message m = new Message(JidCreate.from("romeo@montague.com"), Message.Type.normal); m.setFrom(JidCreate.from("julia@capulet.com")); m.setStanzaId("reply-id"); m.addExtension(new DeliveryReceipt("original-test-id")); c.processStanza(m); rrl.waitUntilInvocationOrTimeout(); }
try { while (true) { final Stanza packet = connection.getSentPacket(); if (packet instanceof RosterPacket && ((IQ) packet).getType() == Type.set) { final RosterPacket rosterRequest = (RosterPacket) packet; rosterPush.setTo(connection.getUser()); rosterPush.addRosterItem(item); connection.processStanza(rosterPush); connection.processStanza(response);
NoSuchProviderException, SmackException, MissingUserIdOnKeyException, InterruptedException, XMPPException, XmlPullParserException { DummyConnection aliceCon = new DummyConnection( DummyConnection.DummyConnectionConfiguration.builder() .setXmppDomain(JidTestUtil.EXAMPLE_ORG) .setUsernameAndPassword("alice", "dummypass").build()); aliceCon.connect().login(); DummyConnection bobCon = new DummyConnection( DummyConnection.DummyConnectionConfiguration.builder() .setXmppDomain(JidTestUtil.EXAMPLE_ORG) .setUsernameAndPassword("bob", "dummypass").build()); bobCon.connect().login();
@Test public void testScramSha1Mechanism() throws NotConnectedException, SmackException, InterruptedException { final DummyConnection con = new DummyConnection(); SCRAMSHA1Mechanism mech = new SCRAMSHA1Mechanism() { @Override public String getRandomAscii() { this.connection = con; return "fyko+d2lbbFgONRv9qkxdawL"; } }; mech.authenticate(USERNAME, "unusedFoo", JidTestUtil.DOMAIN_BARE_JID_1, PASSWORD, null, null); AuthMechanism authMechanism = con.getSentPacket(); assertEquals(SCRAMSHA1Mechanism.NAME, authMechanism.getMechanism()); assertEquals(CLIENT_FIRST_MESSAGE, saslLayerString(authMechanism.getAuthenticationText())); mech.challengeReceived(Base64.encode(SERVER_FIRST_MESSAGE), false); Response response = con.getSentPacket(); assertEquals(CLIENT_FINAL_MESSAGE, saslLayerString(response.getAuthenticationText())); mech.challengeReceived(Base64.encode(SERVER_FINAL_MESSAGE), true); mech.checkIfSuccessfulOrThrow(); }
@Before public void setup() { this.connection = new DummyConnection(); assertFalse(connection.isConnected()); roster = Roster.getInstanceFor(connection); assertNotNull(roster); }
/** * Returns the first stanza that's sent through {@link #sendStanza(Stanza)} * and that has not been returned by earlier calls to this method. * * @return a sent packet. */ public <P extends TopLevelStreamElement> P getSentPacket() { return getSentPacket(5 * 60); }
/** * Remove all roster entries by iterating trough {@link Roster#getEntries()} * and simulating receiving roster pushes from the server. * * @param connection the dummy connection of which the provided roster belongs to. * @param roster the roster (or buddy list) which should be initialized. */ public static void removeAllRosterEntries(DummyConnection connection, Roster roster) { for (RosterEntry entry : roster.getEntries()) { // prepare the roster push packet final RosterPacket rosterPush = new RosterPacket(); rosterPush.setType(Type.set); rosterPush.setTo(connection.getUser()); // prepare the buddy's item entry which should be removed final RosterPacket.Item item = new RosterPacket.Item(entry.getJid(), entry.getName()); item.setItemType(ItemType.remove); rosterPush.addRosterItem(item); // simulate receiving the roster push connection.processStanza(rosterPush); } }
@After public void tearDown() throws Exception { if (connection != null) connection.disconnect(); }
public DummyConnection() { this(getDummyConfigurationBuilder().build()); }
@Override public void run() { con.processStanza(chatPacket); } }
@Test public void checkProvider() throws Exception { XMLBuilder xml = XMLBuilder.create("iq"); xml.a("from", "romeo@montague.net/orchard") .a("id", "last2") .a("to", "juliet@capulet.com/balcony") .a("type", "get") .e("query") .namespace(LastActivity.NAMESPACE); DummyConnection c = new DummyConnection(); c.connect(); IQ lastRequest = PacketParserUtils.parseStanza(xml.asString()); assertTrue(lastRequest instanceof LastActivity); c.processStanza(lastRequest); Stanza reply = c.getSentPacket(); assertTrue(reply instanceof LastActivity); LastActivity l = (LastActivity) reply; assertEquals("last2", l.getStanzaId()); assertEquals(IQ.Type.result, l.getType()); } }
@Before public void setUp() throws Exception { connection = new DummyConnection(); connection.connect(); connection.login(); ServiceDiscoveryManager.getInstanceFor(connection); }
@Test public void validateDefaultSetMatchModeNone() { ChatManager.setDefaultMatchMode(ChatManager.MatchMode.NONE); assertEquals(ChatManager.MatchMode.NONE, ChatManager.getInstanceFor(new DummyConnection()).getMatchMode()); }