From 7ad313a4b0509d37fe5d8dfa215ab980c8c74ed0 Mon Sep 17 00:00:00 2001 From: Vitaly Takmazov Date: Tue, 12 Jul 2016 15:22:50 +0300 Subject: fix date serializing with tests --- src/test/java/com/juick/tests/MessageTests.java | 32 ++++++++++++++++++++++++- 1 file changed, 31 insertions(+), 1 deletion(-) (limited to 'src/test/java/com/juick') diff --git a/src/test/java/com/juick/tests/MessageTests.java b/src/test/java/com/juick/tests/MessageTests.java index 0392c7b3..b35e71c6 100644 --- a/src/test/java/com/juick/tests/MessageTests.java +++ b/src/test/java/com/juick/tests/MessageTests.java @@ -2,17 +2,47 @@ package com.juick.tests; import static org.junit.Assert.assertEquals; +import com.juick.json.MessageSerializer; +import com.juick.xmpp.extensions.JuickMessage; +import org.json.JSONObject; import org.junit.Test; import com.juick.Message; +import org.w3c.dom.Document; +import org.w3c.dom.NamedNodeMap; +import org.w3c.dom.Node; +import org.xml.sax.SAXException; + +import javax.xml.parsers.DocumentBuilder; +import javax.xml.parsers.DocumentBuilderFactory; +import javax.xml.parsers.ParserConfigurationException; +import java.io.*; +import java.text.ParseException; +import java.util.Date; public class MessageTests { @Test - public void messageTagsParser() { + public void messageParserSerializer() throws ParseException, ParserConfigurationException, + IOException, SAXException { Message msg = new Message(); msg.parseTags("test test" + (char)0xA0 + "2 test3"); assertEquals("First tag must be", "test", msg.Tags.get(0)); assertEquals("Third tag must be", "test3", msg.Tags.get(2)); assertEquals("Count of tags must be", 3, msg.Tags.size()); + Date currentDate = new Date(); + msg.setDate(currentDate); + MessageSerializer serializer = new MessageSerializer(); + JSONObject jsonMessage = serializer.serialize(msg); + assertEquals("date should be in timestamp field", serializer.getDf().format(currentDate), + jsonMessage.getString("timestamp")); + JuickMessage xmppMessage = new JuickMessage(msg); + DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance(); + + DocumentBuilder db = dbf.newDocumentBuilder(); + Document doc = db.parse(new ByteArrayInputStream(xmppMessage.toString().getBytes("UTF-8"))); + Node juickNode = doc.getElementsByTagName("juick").item(0); + NamedNodeMap attrs = juickNode.getAttributes(); + assertEquals("date should be in ts field", serializer.getDf().format(currentDate), + attrs.getNamedItem("ts").getNodeValue()); } } \ No newline at end of file -- cgit v1.2.3