diff --git a/smack-experimental/src/test/java/org/jivesoftware/smackx/jingle_filetransfer/ChecksumTest.java b/smack-experimental/src/test/java/org/jivesoftware/smackx/jingle_filetransfer/ChecksumTest.java
new file mode 100644
index 000000000..c3f20c941
--- /dev/null
+++ b/smack-experimental/src/test/java/org/jivesoftware/smackx/jingle_filetransfer/ChecksumTest.java
@@ -0,0 +1,34 @@
+package org.jivesoftware.smackx.jingle_filetransfer;
+
+import static org.custommonkey.xmlunit.XMLAssert.assertXMLEqual;
+
+import org.jivesoftware.smack.test.util.SmackTestSuite;
+import org.jivesoftware.smack.test.util.TestUtils;
+import org.jivesoftware.smackx.hashes.HashManager;
+import org.jivesoftware.smackx.hashes.element.HashElement;
+import org.jivesoftware.smackx.jingle.element.JingleContent;
+import org.jivesoftware.smackx.jingle_filetransfer.element.Checksum;
+import org.jivesoftware.smackx.jingle_filetransfer.element.JingleFileTransferChild;
+import org.jivesoftware.smackx.jingle_filetransfer.provider.ChecksumProvider;
+
+import org.junit.Test;
+
+/**
+ * Created by vanitas on 12.07.17.
+ */
+public class ChecksumTest extends SmackTestSuite {
+
+ @Test
+ public void parserTest() throws Exception {
+ HashElement hash = new HashElement(HashManager.ALGORITHM.SHA_256, "f4OxZX/x/FO5LcGBSKHWXfwtSx+j1ncoSt3SABJtkGk=");
+ JingleFileTransferChild file = new JingleFileTransferChild(null, null, hash, null, null, -1, null);
+ Checksum checksum = new Checksum(JingleContent.Creator.initiator, "name", file);
+
+ String xml = "" +
+ file.toXML().toString() +
+ "";
+
+ assertXMLEqual(xml, checksum.toXML().toString());
+ assertXMLEqual(xml, new ChecksumProvider().parse(TestUtils.getParser(xml)).toXML().toString());
+ }
+}
diff --git a/smack-experimental/src/test/java/org/jivesoftware/smackx/jingle_filetransfer/JingleUtilFileTransferTest.java b/smack-experimental/src/test/java/org/jivesoftware/smackx/jingle_filetransfer/JingleUtilFileTransferTest.java
index ec6f7b0a7..346884b04 100644
--- a/smack-experimental/src/test/java/org/jivesoftware/smackx/jingle_filetransfer/JingleUtilFileTransferTest.java
+++ b/smack-experimental/src/test/java/org/jivesoftware/smackx/jingle_filetransfer/JingleUtilFileTransferTest.java
@@ -4,13 +4,13 @@ import static junit.framework.TestCase.assertEquals;
import static junit.framework.TestCase.assertNull;
import static org.custommonkey.xmlunit.XMLAssert.assertXMLEqual;
-import java.io.IOException;
import java.util.Collections;
import java.util.Date;
import org.jivesoftware.smack.DummyConnection;
import org.jivesoftware.smack.XMPPConnection;
import org.jivesoftware.smack.test.util.SmackTestSuite;
+import org.jivesoftware.smack.test.util.TestUtils;
import org.jivesoftware.smackx.hashes.HashManager;
import org.jivesoftware.smackx.hashes.element.HashElement;
import org.jivesoftware.smackx.jingle.JingleManager;
@@ -23,6 +23,7 @@ import org.jivesoftware.smackx.jingle.element.JingleContentDescriptionChildEleme
import org.jivesoftware.smackx.jingle.transports.jingle_ibb.element.JingleIBBTransport;
import org.jivesoftware.smackx.jingle_filetransfer.element.JingleFileTransfer;
import org.jivesoftware.smackx.jingle_filetransfer.element.JingleFileTransferChild;
+import org.jivesoftware.smackx.jingle_filetransfer.provider.JingleFileTransferProvider;
import org.junit.Before;
import org.junit.Test;
@@ -30,7 +31,6 @@ import org.jxmpp.jid.FullJid;
import org.jxmpp.jid.impl.JidCreate;
import org.jxmpp.stringprep.XmppStringprepException;
import org.jxmpp.util.XmppDateTime;
-import org.xml.sax.SAXException;
/**
* Created by vanitas on 12.07.17.
@@ -55,11 +55,11 @@ public class JingleUtilFileTransferTest extends SmackTestSuite {
}
@Test
- public void createSessionInitiateTest() throws IOException, SAXException {
+ public void createSessionInitiateTest() throws Exception {
JingleIBBTransport transport = new JingleIBBTransport("transid");
Date date = new Date();
HashElement hash = new HashElement(HashManager.ALGORITHM.SHA_256, "f4OxZX/x/FO5LcGBSKHWXfwtSx+j1ncoSt3SABJtkGk=");
- JingleFileTransferChild file = new JingleFileTransferChild(date, "desc", hash, "application/octet-string", "name", 1337, null);
+ JingleFileTransferChild file = new JingleFileTransferChild(date, "desc", hash, "application/octet-stream", "name", 1337, null);
JingleFileTransfer description = new JingleFileTransfer(Collections.singletonList(file));
String contentName = "content";
@@ -97,7 +97,7 @@ public class JingleUtilFileTransferTest extends SmackTestSuite {
assertEquals(JingleFileTransfer.NAMESPACE_V5, description.getNamespace());
assertEquals(date, file.getDate());
assertEquals(hash, file.getHash());
- assertEquals("application/octet-string", file.getMediaType());
+ assertEquals("application/octet-stream", file.getMediaType());
assertEquals("name", file.getName());
assertEquals(1337, file.getSize());
assertNull(file.getRange());
@@ -117,7 +117,7 @@ public class JingleUtilFileTransferTest extends SmackTestSuite {
"" +
"" + XmppDateTime.formatXEP0082Date(date) + "" +
"desc" +
- "application/octet-string" +
+ "application/octet-stream" +
"name" +
//"" + TODO: insert empty element when null?
"1337" +
@@ -127,6 +127,10 @@ public class JingleUtilFileTransferTest extends SmackTestSuite {
"";
assertXMLEqual(descriptionXML, description.toXML().toString());
+ JingleFileTransfer parsed = new JingleFileTransferProvider().parse(TestUtils.getParser(descriptionXML));
+ assertEquals(1, parsed.getJingleContentDescriptionChildren().size());
+ assertEquals(file.toXML().toString(), parsed.getJingleContentDescriptionChildren().get(0).toXML().toString());
+
String contentXML = "" +
descriptionXML +
transportXML +