summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTarun Gupta <tarun1995gupta@gmail.com>2015-06-21 12:33:44 (GMT)
committerTarun Gupta <tarun1995gupta@gmail.com>2015-06-30 13:24:34 (GMT)
commit25fade1995f559c8937b57585f462aaa2ae01c6a (patch)
tree008b432b08decc871f07bece2bc4307c033a6651 /test/com/isode/stroke/parser/payloadparsers/DiscoInfoParserTest.java
parentb830f64de47271777d8e45ddb0a18dc2ac740dd9 (diff)
downloadstroke-25fade1995f559c8937b57585f462aaa2ae01c6a.zip
stroke-25fade1995f559c8937b57585f462aaa2ae01c6a.tar.bz2
Add tests for Payloads Parsers and Payloads Serializers.
Updates DiscoInfoParser, DiscoItemsParser and VCard Element. License: This patch is BSD-licensed, see Documentation/Licenses/BSD-simplified.txt for details. Test-Information: Test are added for: DeliveryReceipt Parser and Serializer. DiscoInfo Parser and Serializer, DiscoItemsParser. Replace Parser and Serializer. ResourceBind Parser and Serializer. SecurityLabel Parser and Serializer. SecurityLabelsCatalog Parser and Serializer. Status Parser and Serializer. StatusShow Parser and Serializer. SoftwareVersion Parser and Serializer. VCard Parser and Serializer. All tests passes. Change-Id: I8023372273e63813e1c8fe708fa6cdf39614e1f7
Diffstat (limited to 'test/com/isode/stroke/parser/payloadparsers/DiscoInfoParserTest.java')
-rw-r--r--test/com/isode/stroke/parser/payloadparsers/DiscoInfoParserTest.java115
1 files changed, 115 insertions, 0 deletions
diff --git a/test/com/isode/stroke/parser/payloadparsers/DiscoInfoParserTest.java b/test/com/isode/stroke/parser/payloadparsers/DiscoInfoParserTest.java
new file mode 100644
index 0000000..ef6fd72
--- /dev/null
+++ b/test/com/isode/stroke/parser/payloadparsers/DiscoInfoParserTest.java
@@ -0,0 +1,115 @@
+/*
+ * Copyright (c) 2010 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 static org.junit.Assert.assertTrue;
+import org.junit.Test;
+import com.isode.stroke.elements.DiscoInfo;
+import com.isode.stroke.parser.payloadparsers.DiscoInfoParser;
+import com.isode.stroke.parser.payloadparsers.PayloadsParserTester;
+import com.isode.stroke.eventloop.DummyEventLoop;
+
+public class DiscoInfoParserTest {
+
+ public DiscoInfoParserTest() {
+
+ }
+
+ @Test
+ public void testParse() {
+ DummyEventLoop eventLoop = new DummyEventLoop();
+ PayloadsParserTester parser = new PayloadsParserTester(eventLoop);
+
+ assertNotNull(parser.parse(
+ "<query xmlns=\"http://jabber.org/protocol/disco#info\">" +
+ "<identity name=\"Swift\" category=\"client\" type=\"pc\" xml:lang=\"en\"/>" +
+ "<identity name=\"Vlug\" category=\"client\" type=\"pc\" xml:lang=\"nl\"/>" +
+ "<feature var=\"foo-feature\"/>" +
+ "<feature var=\"bar-feature\"/>" +
+ "<feature var=\"baz-feature\"/>" +
+ "</query>"));
+
+ DiscoInfo payload = (DiscoInfo)(parser.getPayload());
+ assertEquals(2, payload.getIdentities().size());
+ assertEquals("Swift", payload.getIdentities().get(0).getName());
+ assertEquals("pc", payload.getIdentities().get(0).getType());
+ assertEquals("client", payload.getIdentities().get(0).getCategory());
+ assertEquals("en", payload.getIdentities().get(0).getLanguage());
+ assertEquals("Vlug", payload.getIdentities().get(1).getName());
+ assertEquals("pc", payload.getIdentities().get(1).getType());
+ assertEquals("client", payload.getIdentities().get(1).getCategory());
+ assertEquals("nl", payload.getIdentities().get(1).getLanguage());
+ assertEquals(3, payload.getFeatures().size());
+ assertEquals("foo-feature", payload.getFeatures().get(0));
+ assertEquals("bar-feature", payload.getFeatures().get(1));
+ assertEquals("baz-feature", payload.getFeatures().get(2));
+ assertTrue(payload.getNode().isEmpty());
+ }
+
+ @Test
+ public void testParse_Node() {
+ DummyEventLoop eventLoop = new DummyEventLoop();
+ PayloadsParserTester parser = new PayloadsParserTester(eventLoop);
+
+ assertNotNull(parser.parse(
+ "<query xmlns=\"http://jabber.org/protocol/disco#info\" node=\"blahblah\">" +
+ "<identity name=\"Swift\" category=\"client\" type=\"pc\" xml:lang=\"en\"/>" +
+ "<identity name=\"Vlug\" category=\"client\" type=\"pc\" xml:lang=\"nl\"/>" +
+ "<feature var=\"foo-feature\"/>" +
+ "<feature var=\"bar-feature\"/>" +
+ "<feature var=\"baz-feature\"/>" +
+ "</query>"));
+
+ DiscoInfo payload = (DiscoInfo)(parser.getPayload());
+ assertEquals(2, payload.getIdentities().size());
+ assertEquals("Swift", payload.getIdentities().get(0).getName());
+ assertEquals("pc", payload.getIdentities().get(0).getType());
+ assertEquals("client", payload.getIdentities().get(0).getCategory());
+ assertEquals("en", payload.getIdentities().get(0).getLanguage());
+ assertEquals("Vlug", payload.getIdentities().get(1).getName());
+ assertEquals("pc", payload.getIdentities().get(1).getType());
+ assertEquals("client", payload.getIdentities().get(1).getCategory());
+ assertEquals("nl", payload.getIdentities().get(1).getLanguage());
+ assertEquals(3, payload.getFeatures().size());
+ assertEquals("foo-feature", payload.getFeatures().get(0));
+ assertEquals("bar-feature", payload.getFeatures().get(1));
+ assertEquals("baz-feature", payload.getFeatures().get(2));
+ assertEquals("blahblah", payload.getNode());
+ }
+
+ @Test
+ public void testParse_Form() {
+ DummyEventLoop eventLoop = new DummyEventLoop();
+ PayloadsParserTester parser = new PayloadsParserTester(eventLoop);
+
+ assertNotNull(parser.parse(
+ "<query xmlns=\"http://jabber.org/protocol/disco#info\">" +
+ "<feature var=\"foo-feature\"/>" +
+ "<x type=\"submit\" xmlns=\"jabber:x:data\">" +
+ "<title>Bot Configuration</title>" +
+ "<instructions>Hello!</instructions>" +
+ "</x>" +
+ "<feature var=\"bar-feature\"/>" +
+ "</query>"));
+
+ DiscoInfo payload = (DiscoInfo)(parser.getPayload());
+ assertEquals(1, payload.getExtensions().size());
+ assertEquals("Bot Configuration", payload.getExtensions().get(0).getTitle());
+ assertEquals(2, payload.getFeatures().size());
+ assertEquals("foo-feature", payload.getFeatures().get(0));
+ assertEquals("bar-feature", payload.getFeatures().get(1));
+ }
+} \ No newline at end of file