/*
* Copyright (c) 2015 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.parser.payloadparsers;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertNotNull;
import static org.junit.Assert.assertNull;
import org.junit.Test;
import com.isode.stroke.elements.Message;
import com.isode.stroke.elements.Thread;
import com.isode.stroke.elements.Forwarded;
import com.isode.stroke.elements.CarbonsEnable;
import com.isode.stroke.elements.CarbonsDisable;
import com.isode.stroke.elements.CarbonsReceived;
import com.isode.stroke.elements.CarbonsSent;
import com.isode.stroke.elements.CarbonsPrivate;
import com.isode.stroke.jid.JID;
import com.isode.stroke.parser.payloadparsers.PayloadsParserTester;
import com.isode.stroke.eventloop.DummyEventLoop;
public class CarbonsParserTest {
public CarbonsParserTest() {
}
/*
* Test parsing of example 3 in XEP-0280.
*/
@Test
public void testParseExample3() {
DummyEventLoop eventLoop = new DummyEventLoop();
PayloadsParserTester parser = new PayloadsParserTester(eventLoop);
assertNotNull(parser.parse(""));
CarbonsEnable enable = (CarbonsEnable)parser.getPayload();
assertNotNull(enable);
}
/*
* Test parsing of example 6 in XEP-0280.
*/
@Test
public void testParseExample6() {
DummyEventLoop eventLoop = new DummyEventLoop();
PayloadsParserTester parser = new PayloadsParserTester(eventLoop);
assertNotNull(parser.parse(""));
CarbonsDisable disable = (CarbonsDisable)parser.getPayload();
assertNotNull(disable);
}
/*
* Test parsing of example 12 in XEP-0280.
*/
@Test
public void testParseExample12() {
DummyEventLoop eventLoop = new DummyEventLoop();
PayloadsParserTester parser = new PayloadsParserTester(eventLoop);
assertNotNull(parser.parse("" +
"" +
"" +
"What man art thou that, thus bescreen'd in night, so stumblest on my counsel?" +
"0e3141cd80894871a68e6fe6b1ec56fa" +
"" +
"" +
""));
CarbonsReceived received = (CarbonsReceived)parser.getPayload();
assertNotNull(received);
Forwarded forwarded = received.getForwarded();
assertNotNull(forwarded);
Message message = (Message)(forwarded.getStanza());
assertNotNull(message);
assertEquals(new JID("juliet@capulet.example/balcony"), message.getFrom());
Thread thread = message.getPayload(new Thread());
assertNotNull(thread);
assertEquals("0e3141cd80894871a68e6fe6b1ec56fa", thread.getText());
}
/*
* Test parsing of example 14 in XEP-0280.
*/
@Test
public void testParseExample14() {
DummyEventLoop eventLoop = new DummyEventLoop();
PayloadsParserTester parser = new PayloadsParserTester(eventLoop);
assertNotNull(parser.parse("" +
"" +
"" +
"Neither, fair saint, if either thee dislike." +
"0e3141cd80894871a68e6fe6b1ec56fa" +
"" +
"" +
""));
CarbonsSent sent = (CarbonsSent)parser.getPayload();
assertNotNull(sent);
Forwarded forwarded = sent.getForwarded();
assertNotNull(forwarded);
Message message = (Message)(forwarded.getStanza());
assertNotNull(message);
assertEquals(new JID("juliet@capulet.example/balcony"), message.getTo());
}
/*
* Test parsing of example 15 in XEP-0280.
*/
@Test
public void testParseExample15() {
DummyEventLoop eventLoop = new DummyEventLoop();
PayloadsParserTester parser = new PayloadsParserTester(eventLoop);
assertNotNull(parser.parse(""));
CarbonsPrivate privae = (CarbonsPrivate)parser.getPayload();
assertNotNull(privae);
}
}