summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTarun Gupta <tarun1995gupta@gmail.com>2015-06-19 05:56:31 (GMT)
committerTarun Gupta <tarun1995gupta@gmail.com>2015-06-23 14:55:01 (GMT)
commit27212e007077418d18014286a46723fa26693864 (patch)
tree7e70d70f760a2d35617ec8d17c7d6b322a8c3c16 /test/com/isode/stroke/parser
parentbc9dade982d8e8efe66c0fc814dafd8bf079e689 (diff)
downloadstroke-27212e007077418d18014286a46723fa26693864.zip
stroke-27212e007077418d18014286a46723fa26693864.tar.bz2
Adds Carbons Element.
Adds: CarbonsDisable Element, its Parser and Serializer. CarbonsEnable Element, its Parser and Serializer. CarbonsPrivate Element, its Parser and Serializer. CarbonsReceived Element, its Parser and Serializer. CarbonsSent Element, its Parser and Serializer. Thread Element, its Parser and Serializer. License: This patch is BSD-licensed, see Documentation/Licenses/BSD-simplified.txt for details. Test-Information: Tests added for CarbonsParser and CarbonsSerializers, which tests all the above functionalities and passes. Change-Id: I101b1b34c24515d5ba19a995254755af77c4e6e1
Diffstat (limited to 'test/com/isode/stroke/parser')
-rw-r--r--test/com/isode/stroke/parser/payloadparsers/CarbonsParserTest.java138
1 files changed, 138 insertions, 0 deletions
diff --git a/test/com/isode/stroke/parser/payloadparsers/CarbonsParserTest.java b/test/com/isode/stroke/parser/payloadparsers/CarbonsParserTest.java
new file mode 100644
index 0000000..226db1f
--- /dev/null
+++ b/test/com/isode/stroke/parser/payloadparsers/CarbonsParserTest.java
@@ -0,0 +1,138 @@
+/*
+ * 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("<enable xmlns='urn:xmpp:carbons:2' />"));
+
+ 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("<disable xmlns='urn:xmpp:carbons:2' />"));
+
+ 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("<received xmlns='urn:xmpp:carbons:2'>" +
+ "<forwarded xmlns='urn:xmpp:forward:0'>" +
+ "<message xmlns='jabber:client'" +
+ " from='juliet@capulet.example/balcony'" +
+ " to='romeo@montague.example/garden'" +
+ " type='chat'>" +
+ "<body>What man art thou that, thus bescreen'd in night, so stumblest on my counsel?</body>" +
+ "<thread>0e3141cd80894871a68e6fe6b1ec56fa</thread>" +
+ "</message>" +
+ "</forwarded>" +
+ "</received>"));
+
+ 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("<sent xmlns='urn:xmpp:carbons:2'>" +
+ "<forwarded xmlns='urn:xmpp:forward:0'>" +
+ "<message xmlns='jabber:client'" +
+ " to='juliet@capulet.example/balcony'" +
+ " from='romeo@montague.example/home'" +
+ " type='chat'>" +
+ "<body>Neither, fair saint, if either thee dislike.</body>" +
+ "<thread>0e3141cd80894871a68e6fe6b1ec56fa</thread>" +
+ "</message>" +
+ "</forwarded>" +
+ "</sent>"));
+
+ 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("<private xmlns='urn:xmpp:carbons:2'/>"));
+
+ CarbonsPrivate privae = (CarbonsPrivate)parser.getPayload();
+ assertNotNull(privae);
+ }
+} \ No newline at end of file