summaryrefslogtreecommitdiffstats
path: root/test
diff options
context:
space:
mode:
authorTarun Gupta <tarun1995gupta@gmail.com>2015-06-08 19:16:57 (GMT)
committerTarun Gupta <tarun1995gupta@gmail.com>2015-06-14 13:30:22 (GMT)
commit9518f8b9d6924e95e4ad839f40866560bd7a7878 (patch)
tree6d7532fd1628c2f3e0e71b4a10fc14bec8c49a29 /test
parentafaf2c8e7a9276bc4a61337357092c49e6817159 (diff)
downloadstroke-9518f8b9d6924e95e4ad839f40866560bd7a7878.zip
stroke-9518f8b9d6924e95e4ad839f40866560bd7a7878.tar.bz2
Add the Bytestreams Element.
Adds Bytestreams Element, Parser and Serializer. License: This patch is BSD-licensed, see Documentation/Licenses/BSD-simplified.txt for details. Test-Information: Tests added for both Parser and Serializer, which passes. Change-Id: Ia623f8fcd628d7b34f7f8f935602c6c4c0ffaac1
Diffstat (limited to 'test')
-rw-r--r--test/com/isode/stroke/parser/payloadparsers/BytestreamsParserTest.java46
-rw-r--r--test/com/isode/stroke/serializer/payloadserializers/BytestreamsSerializerTest.java59
2 files changed, 105 insertions, 0 deletions
diff --git a/test/com/isode/stroke/parser/payloadparsers/BytestreamsParserTest.java b/test/com/isode/stroke/parser/payloadparsers/BytestreamsParserTest.java
new file mode 100644
index 0000000..ead1de2
--- /dev/null
+++ b/test/com/isode/stroke/parser/payloadparsers/BytestreamsParserTest.java
@@ -0,0 +1,46 @@
+/*
+ * 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 org.junit.Test;
+import com.isode.stroke.elements.Bytestreams;
+import com.isode.stroke.jid.JID;
+import com.isode.stroke.parser.payloadparsers.BytestreamsParser;
+import com.isode.stroke.parser.payloadparsers.PayloadsParserTester;
+import com.isode.stroke.eventloop.DummyEventLoop;
+
+public class BytestreamsParserTest {
+
+ public BytestreamsParserTest() {
+
+ }
+
+ @Test
+ public void testParse() {
+ DummyEventLoop eventLoop = new DummyEventLoop();
+ PayloadsParserTester parser = new PayloadsParserTester(eventLoop);
+ assertNotNull(parser.parse("<query sid=\"hello\" xmlns=\"http://jabber.org/protocol/bytestreams\">" +
+ "<streamhost host=\"blah.xyz.edu\" jid=\"user1@bar.com/bla\" port=\"445\"/>" +
+ "<streamhost host=\"bal.zyx.ude\" jid=\"user1@baz.com/bal\" port=\"449\"/>" +
+ "</query>"));
+
+ Bytestreams payload = (Bytestreams)parser.getPayload();
+ assertEquals("hello", payload.getStreamID());
+
+ assertEquals(2, payload.getStreamHosts().size());
+
+ assertEquals("blah.xyz.edu", payload.getStreamHosts().get(0).getHost());
+ assertEquals(new JID("user1@bar.com/bla"), payload.getStreamHosts().get(0).getJID());
+ assertEquals(445, payload.getStreamHosts().get(0).getPort());
+
+ assertEquals("bal.zyx.ude", payload.getStreamHosts().get(1).getHost());
+ assertEquals(new JID("user1@baz.com/bal"), payload.getStreamHosts().get(1).getJID());
+ assertEquals(449, payload.getStreamHosts().get(1).getPort());
+ }
+} \ No newline at end of file
diff --git a/test/com/isode/stroke/serializer/payloadserializers/BytestreamsSerializerTest.java b/test/com/isode/stroke/serializer/payloadserializers/BytestreamsSerializerTest.java
new file mode 100644
index 0000000..331a6a5
--- /dev/null
+++ b/test/com/isode/stroke/serializer/payloadserializers/BytestreamsSerializerTest.java
@@ -0,0 +1,59 @@
+/*
+ * Copyright (c) 2015 Tarun Gupta.
+ * Licensed under the simplified BSD license.
+ * See Documentation/Licenses/BSD-simplified.txt for more information.
+ */
+
+package com.isode.stroke.serializer.payloadserializers;
+
+import static org.junit.Assert.assertEquals;
+import org.junit.Test;
+import com.isode.stroke.serializer.payloadserializers.BytestreamsSerializer;
+import com.isode.stroke.elements.Bytestreams;
+import com.isode.stroke.jid.JID;
+
+public class BytestreamsSerializerTest {
+
+ public BytestreamsSerializerTest() {
+
+ }
+
+ @Test
+ public void testSerialize_withoutUsedStreamHost_singleStreamHost() {
+ BytestreamsSerializer testling = new BytestreamsSerializer();
+ Bytestreams byteStreams = new Bytestreams();
+ byteStreams.addStreamHost(byteStreams.new StreamHost("blah.xyz.edu", new JID("user1@bar.com/bla"), 445));
+ byteStreams.setStreamID("hello");
+ String expectedResult = "<query sid=\"hello\" xmlns=\"http://jabber.org/protocol/bytestreams\">" +
+ "<streamhost host=\"blah.xyz.edu\" jid=\"user1@bar.com/bla\" port=\"445\"/></query>";
+ assertEquals(expectedResult, testling.serialize(byteStreams));
+ }
+
+ @Test
+ public void testSerialize_withoutUsedStreamHost_doubleStreamHost() {
+ BytestreamsSerializer testling = new BytestreamsSerializer();
+ Bytestreams byteStreams = new Bytestreams();
+ byteStreams.addStreamHost(byteStreams.new StreamHost("blah.xyz.edu", new JID("user1@bar.com/bla"), 445));
+ byteStreams.addStreamHost(byteStreams.new StreamHost("bal.zyx.ude", new JID("user1@baz.com/bal"), 449));
+ byteStreams.setStreamID("hello");
+ String expectedResult = "<query sid=\"hello\" xmlns=\"http://jabber.org/protocol/bytestreams\">" +
+ "<streamhost host=\"blah.xyz.edu\" jid=\"user1@bar.com/bla\" port=\"445\"/>" +
+ "<streamhost host=\"bal.zyx.ude\" jid=\"user1@baz.com/bal\" port=\"449\"/>" +
+ "</query>";
+ assertEquals(expectedResult, testling.serialize(byteStreams));
+ }
+
+ @Test
+ public void testSerialize_withUsedStreamHost() {
+ BytestreamsSerializer testling = new BytestreamsSerializer();
+ Bytestreams byteStreams = new Bytestreams();
+ byteStreams.addStreamHost(byteStreams.new StreamHost("blah.xyz.edu", new JID("user1@bar.com/bla"), 445));
+ byteStreams.setUsedStreamHost(new JID("user1@baz.com/bal"));
+ byteStreams.setStreamID("hello");
+ String expectedResult = "<query sid=\"hello\" xmlns=\"http://jabber.org/protocol/bytestreams\">" +
+ "<streamhost host=\"blah.xyz.edu\" jid=\"user1@bar.com/bla\" port=\"445\"/>" +
+ "<streamhost-used jid=\"user1@baz.com/bal\"/>" +
+ "</query>";
+ assertEquals(expectedResult, testling.serialize(byteStreams));
+ }
+} \ No newline at end of file